C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond
Abrahams, David; Gurtovoy, AlekseyEditorial: Addison Wesley Fecha de publicación: 31/12/2005 Páginas: 400
Practical Metaprogramming for Working C++ Developers
Using metaprogramming techniques, you can engineer software with greater quality, portability, and reusability. You can write more expressive and elegant code, and waste less time on "boilerplate." In short, you won't just be more productive: you'll have more fun, too. If you code with C++, the Boost MPL offers high-level facilities that make metaprogramming even more useful and accessible. Now, for the first time, there's a book that demystifies both metaprogramming and the Boost MPL.
Selected to write this book by C++ creator Bjarne Stroustrup, Boost MPL community leaders David Abrahams and Aleksey Gurtovoy are uniquely qualified to explain metaprogramming to experienced C++ developers. In this book, they systematically illuminate the "how," "why," and "when" of metaprogramming, thoroughly explain its advantages, and show exactly how to apply it in real-world development projects.
- Fundamental metaprogramming concepts: traits, type manipulation, type wrappers, and more
- An in-depth look at metafunctions and metafunction classes
- Sequences, algorithms, iterators, diagnostics, views, iterator adaptors, and more
- Boost MPL: motivation, usage, design, implementation, and practical examples
- Lessons and best practices for C++ template metaprogramming
- Crossing the compile-time/runtime boundary
- Domain-Specific Embedded Languages, including a complete DSEL design walkthrough
- Improving compile-time performance
- A Boost MPL case study in event handling
The CD-ROM contains all Boost C++ libraries, including the Boost Metaprogramming Library and reference documentation, along with all of the book's sample code and extensive supplementary material.