"Export" Restrictions, Part 1
Explains what export is, and how it's intended to be used. Also looks at the problems export is widely assumed to address, and why it does not in fact address them the way most people think.
"Export" Restrictions, Part 2
Takes a look at the current state of export and offers some advice on using export effectively.
A Deeper Look at Metafunctions
This article investigates the use of metafunctions in template metaprogramming, and introduces the Boost Metaprogramming Library. It is an excerpt from the book, C++ Template Metaprogramming by David Abrahams and Aleksey Gurtovoy.
An Improved Variant Type Based on Member Templates
This article presents the class variant_t, which encapsulates a mechanism to hold values of arbitrary types.
Befriending Templates
Looks at why befriending a template in another namespace is easier said (in the standard) than done (using real-world compilers that don't quite get the Standard right).
C++ Templates FAQ
Covers advanced template topics and compiler specific issues.
C++ Templates: Metaprograms
Nicolai M. Josuttis and David Vandevoorde examine metaprogramming, or "programming a program." Learn how to lay out code that the programming system executes to generate new code that implements the functionality you really want.
C++ Tutorial on Class Templates
Class templates provide a way to parameterize the types within a class. This tutorial introduces class templates in C++.
C++ Tutorial on Function Templates
This tutorial covers function templates in C++, which provide a way to parameterize the arguments or return types of a function. The same function can be used for different data types.
Multiple Dispatch: A New Approach Using Templates
This article focuses on two new techniques based on templates and Run Time Type Identification (RTTI).
Partial Template Implementation
Describes partial template specialization and partial ordering of function templates.
Partial Template Specialization and "operator
Scott Meyers shows how to make smart pointers as behaviorally compatible with built-in pointers as possible by supporting operator->*.
Policy-Based Class Design in C++
Describes policies and policy classes, important class design techniques that enable the creation of flexible, highly reusable libraries.
Template Argument Matching
Takes a look at template argument matching and shows two limitation of Microsoft's compiler in this regard.
Template Metaprogramming
With template metaprogramming the compiler acts as a virtual computer, emitting code optimized for a specific purpose or environment.
Template MetaProgramming in C++
Presentation with extended examples C++ template meta-programming. [PDF]
Templates and Inheritance Interacting in C++
Discover the interesting ways that templates and inheritance interact by taking a close look at named template arguments, the Empty Base Class Optimization (EBCO), the Curiously Recurring Template Pattern (CRTP), and parameterized virtuality.
Templates for Efficient Dynamic Type Checking
Ivan J. Johnson's template that makes it easy to check casts without losing performance
Traits
A new and useful template technique that radically simplifies the interface to class templates instantiable on native C++ types.
Typed Buffers, Part 1
This article treats memory buffers in C++, but with two twists: first, the buffers are generic, which means they can contain typed data. Second, the buffers are as efficient as their hosted type and the host operating system allows, in every aspect.
Typed Buffers, Part 2
This article does not treat buffers directly, but rather two operations that are commonly performed with buffers: filling a buffer with a value and copying between buffers and various containers.
Typedef Templates
Describes an extension to the C++ standard: typedef templates. Also shows workarounds for current C++ compilers.
Using Template Functions to Customize Library Beha
Looks at function templates and how they can be used to provide hooks for customizing behavior.