Modern C++ design : generic programming and design patterns applied - Alexandrescu, Andrei (The C++ In-depth Series / Addison-Wesley Publishing Company, Inc.., 2001)