Preface.
Acknowledgments.
Making the Most of This Book.
1. Introduction.
   Getting Started.
   So What's a Metaprogram?
   Metaprogramming in the Host Language.
   Metaprogramming in C++.
   Why Metaprogramming?
   When Metaprogramming?
   Why a Metaprogramming Library?
2. Traits and Type Manipulation.
   Type Associations.
   Metafunctions.
   Numerical Metafunctions.
   Making Choices at Compile Time.
   A Brief Tour of the Boost Type Traits Library.
   Nullary Metafunctions.
   Metafunction Definition.
   History.
   Details.
   Exercises.
3. A Deeper Look at Metafunctions.
   Dimensional Analysis.
   Higher-Order Metafunctions.
   Handling Placeholders.
   More Lambda Capabilities.
   Lambda Details.
   Details.
   Exercises.
4. Integral Type Wrappers and Operations.
   Boolean Wrappers and Operations.
   Integer Wrappers and Operations.
   Exercises.
5. Sequences and Iterators.
   Concepts.
   Sequences and Algorithms.