Advanced C++ : programming styles and idioms - Coplien, James O. (Addison-Wesley, 1992)