1 2Compile-time sequences of types are one of the basic concepts of C++ 3template metaprogramming. Differences in types of objects being 4manipulated is the most common point of variability of similar, but 5not identical designs, and these are a direct target for 6metaprogramming. Templates were originally designed to address this 7exact problem. However, without predefined mechanisms for 8representing and manipulating *sequences* of types as opposed to 9standalone template parameters, high-level template metaprogramming 10is severely limited in its capabitilies. 11 12The MPL recognizes the importance of type sequences as a fundamental 13building block of many higher-level metaprogramming designs by 14providing us with a conceptual framework for formal reasoning 15and understanding of sequence properties, guarantees and 16characteristics, as well as a first-class implementation of that 17framework |--| a wealth of tools for concise, convenient, 18conceptually precise and efficient sequence manipulation. 19 20 21.. copyright:: Copyright � 2001-2009 Aleksey Gurtovoy and David Abrahams 22 Distributed under the Boost Software License, Version 1.0. (See accompanying 23 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 24