C++ templates : the complete guide - Vandevoorde, David (Addison-Wesley, 2003)