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