1.1. C++ Templates1.1.1. Typename1.1.2. Angle Brackets1.1.3. Universal Constructors1.1.4. Function Types and Function Pointers1.1.5. Non-Template Base Classes1.1.6. Template Position1.2. Specialization and Argument Deduction1.2.1. Deduction1.2.2. Specializations1.2.3. Inner Class Templates1.3. Style Conventions1.3.1. Comments1.3.2. Macros1.3.3. Symbols1.3.4. Generality1.3.5. Template Parameters1.3.6. Metafunctions1.3.7. Namespaces and Using Declarations1.4. Classic Patterns1.4.1. size_t and ptrdiff_t1.4.2. void T::swap(T&)1.4.3. bool T::empty() const; void T::clear()1.4.4. X T::get() const; X T::base() const1.4.5. X T::property() const; void T::property(X)1.4.6. Action(Value); Action(Range)1.4.7. Manipulators1.4.8. Position of Operators1.4.9. Secret Inheritance1.4.10. Literal Zero1.4.11. Boolean Type1.4.12. Default and Value Initialization1.5. Code Safety1.6. Compiler Assumptions1.6.1. Inline1.6.2. Error Messages1.6.3. Miscellaneous Tips1.7. Preprocessor1.7.1. Include Guards1.7.2. Macro Expansion Rules