C++Now!

Thank You

After 12 years in business, the principals of BoostPro have decided it's time for new challenges. The technical leads are still pursuing their commitment to transforming the way software is written: John Wiegley has started working for FPComplete, building tools for Haskell programmers, and Dave Abrahams has joined a team at Apple, shaping the future of Mac and iOS development.

We thank you for your support of BoostPro over the years; it has been our privilege to serve you.

Note:The open source C++ library collection at Boost.org is still very much alive and well!

C++ Metaprogramming

An intensive hands-on course exploring the concepts, tools, and techniques of metaprogramming in C++ with the field’s leading practitioners.

  • learn what metaprogramming is and why it is used.
  • build expressive, declarative library interfaces that generate arbitrarily sophisticated executable code such as parsers and matrix multipliers.
  • gain first-hand experience with compile-time computation
  • learn about Boost libraries that make metaprogramming expressive, fun, and (yes!) easy.

Prerequisites

At least two years C++ experience. Familiarity with the STL and relative comfort writing and using templates. This is a challenging course, most appropriate for advanced C++ programmers.

Format

Five days of lecures and hands-on exercises.

Book

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond by our principal instructor, Dave Abrahams, and Aleksey Gurtovoy.

Topics

  • What is Metaprogramming
  • How Template Metaprogramming Works
  • The Mechanics of Template Instantiation
  • Traits and Type Manipulation
  • Metafunctions
  • Polymorphism and Non-Type Data
  • Type sequences
  • The Boost Metaprogramming Library
  • Compile-Time Iterators
  • Compile-Time Algorithms
  • Domain-Specific Embedded Languages
  • Code Generation with Templates
  • Techniques for Meshing Compile-Time and Runtime Computation
  • Tuple Metaprogramming with Boost.Fusion
  • Preprocessor Metaprogramming with Boost.Preprocessor
  • Expression Templates
  • The Boost.Proto Expression Template Meta-library
  • Understanding Template Errors
  • Intentionally Generating Compile-Time Errors
  • Compile-Time Performance
  • Using Overload Resolution To Improve Metaprogram Speed


Note

Details and duration of this course can be adjusted to accomodate your schedule, interests, and specific development challenges.

News

  • Boost 1.50 installer for 32-bit Windows now available

    An installer for Boost 1.50 available for is available for immediate download here

    More...

  • Boost 1.50 installer for 64-bit Windows now available

    BoostPro’s free 64-bit installer for Windows is now available for download here

    More...

  • BoostCon / C++Next!: Register Now and Save $100

    Less than three days remain before the early registration deadline The amazing 6th Boost conference, now with additional track containing 15 hours of C++11 tutorials, is still $599 for a short time only.

    More...