]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | Compile-time sequences of types are one of the basic concepts of C++ | |
3 | template metaprogramming. Differences in types of objects being | |
4 | manipulated is the most common point of variability of similar, but | |
5 | not identical designs, and these are a direct target for | |
6 | metaprogramming. Templates were originally designed to address this | |
7 | exact problem. However, without predefined mechanisms for | |
8 | representing and manipulating *sequences* of types as opposed to | |
9 | standalone template parameters, high-level template metaprogramming | |
10 | is severely limited in its capabitilies. | |
11 | ||
12 | The MPL recognizes the importance of type sequences as a fundamental | |
13 | building block of many higher-level metaprogramming designs by | |
14 | providing us with a conceptual framework for formal reasoning | |
15 | and understanding of sequence properties, guarantees and | |
16 | characteristics, as well as a first-class implementation of that | |
17 | framework |--| a wealth of tools for concise, convenient, | |
18 | conceptually precise and efficient sequence manipulation. | |
19 | ||
20 | ||
21 |