C++Now! 2012

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

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

  • C++ Next!: the future of C++, brought to you by BoostCon

    Join the entire BoostPro team in Aspen May 12 – 18th. With the addition of a third track and the expansion of an already stellar program, BoostCon 2012 has come into its own this year. The early-bird registration deadline is April 15th, so sign up now.

    More...

  • Dave to speak at PossConn 2012

    Dave Abrahams will give two talks at this year’s Palmetto Open Source Software Conference in Columbia, SC on March 28th & 29th. More information at www.posscon.org.

    More...