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!

Generic Programming

Generic Programming Training Course

An intensive hands-on course exploring the design, use, and methodology of high-performance reusable software libraries in C++.

  • maximize software generality while also maximizing performance
  • more powerfully use generic libraries such as the STL and many of the Boost libraries.
  • gain first-hand experience writing template software
  • be prepared for some of the most important language features in the upcoming 2nd C++ international standard.

Prerequisites

One year minimum C++ experience. Some experience using and writing templates. This is a challenging course, most appropriate for intermediate and advanced C++ programmers.

Format

Five days of lectures and hands-on exercises.

Topics

  • Origins and Structure of the STL
  • Algorithm Oriented Design
  • “Lifting” and the Generic Programming Process
  • The Role of Abstraction in Correctness and Efficiency
  • Concepts, Models, and Concept Refinement
  • Complexity Analysis
  • Associated Types
  • Template Errors, Concept Checking, and Concept Archetypes
  • Algorithm Refinement (or Specialization)
  • The Role of Views and Adaptors in Algorithm Reuse
  • Creating Iterators
  • Iterator Adaptors
  • External Adaptation and Retroactive Concept Mapping
  • Implementation Selection Using Tag Dispatching
  • Implementation Selection Using SFINAE
  • Library Customization Points Using Argument Dependent Lookup
  • Library Customization Points Using Traits
  • Case Study of the Boost Graph Library
  • Sparse Matrices as Graphs with Matlab-BGL
  • Static and Dynamic Polymorphism
  • Type Erasure
  • Upcoming C++ Features Supporting Generic Programming


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...