]>
Commit | Line | Data |
---|---|---|
1 | .. Sequences/Classes//list_c |80 | |
2 | ||
3 | list_c | |
4 | ====== | |
5 | ||
6 | Description | |
7 | ----------- | |
8 | ||
9 | ``list_c`` is an |Integral Sequence Wrapper| for |list|. As such, it shares | |
10 | all |list| characteristics and requirements, and differs only in the way the | |
11 | original sequence content is specified. | |
12 | ||
13 | Header | |
14 | ------ | |
15 | ||
16 | +-------------------+-------------------------------------------------------+ | |
17 | | Sequence form | Header | | |
18 | +===================+=======================================================+ | |
19 | | Variadic | ``#include <boost/mpl/list_c.hpp>`` | | |
20 | +-------------------+-------------------------------------------------------+ | |
21 | | Numbered | ``#include <boost/mpl/list/list``\ *n*\ ``_c.hpp>`` | | |
22 | +-------------------+-------------------------------------------------------+ | |
23 | ||
24 | ||
25 | Model of | |
26 | -------- | |
27 | ||
28 | * |Integral Sequence Wrapper| | |
29 | * |Variadic Sequence| | |
30 | * |Forward Sequence| | |
31 | * |Extensible Sequence| | |
32 | * |Front Extensible Sequence| | |
33 | ||
34 | ||
35 | Expression semantics | |
36 | -------------------- | |
37 | ||
38 | |Semantics disclaimer...| |list|. | |
39 | ||
40 | .. workaround substitution bug (should be replace:: list\ *n*\ _c<T,\ |c1...cn|>) | |
41 | .. |listn_c<T,...>| replace:: list\ *n*\ _c<T,\ *c*\ :sub:`1`,\ *c*\ :sub:`2`,... \ *c*\ :sub:`n`\ > | |
42 | ||
43 | +---------------------------------------+-----------------------------------------------+ | |
44 | | Expression | Semantics | | |
45 | +=======================================+===============================================+ | |
46 | | .. parsed-literal:: | A |list| of integral constant wrappers | | |
47 | | | ``integral_c<T,``\ |c1|\ ``>``, | | |
48 | | list_c<T,\ |c1...cn|> | ``integral_c<T,``\ |c2|\ ``>``, ... | | |
49 | | |listn_c<T,...>| | ``integral_c<T,``\ |cn|\ ``>``; | | |
50 | | | see |Integral Sequence Wrapper|. | | |
51 | +---------------------------------------+-----------------------------------------------+ | |
52 | | .. parsed-literal:: | Identical to ``list``\ *n*\ ``<`` | | |
53 | | | ``integral_c<T,``\ |c1|\ ``>``, | | |
54 | | list_c<T,\ |c1...cn|>::type | ``integral_c<T,``\ |c2|\ ``>``, ... | | |
55 | | |listn_c<T,...>|::type | ``integral_c<T,``\ |cn|\ ``>`` ``>``; | | |
56 | | | see |Integral Sequence Wrapper|. | | |
57 | +---------------------------------------+-----------------------------------------------+ | |
58 | | .. parsed-literal:: | Identical to ``T``; see | | |
59 | | | |Integral Sequence Wrapper|. | | |
60 | | list_c<T,\ |c1...cn|>::value_type | | | |
61 | | |listn_c<T,...>|::value_type | | | |
62 | +---------------------------------------+-----------------------------------------------+ | |
63 | ||
64 | ||
65 | Example | |
66 | ------- | |
67 | ||
68 | .. parsed-literal:: | |
69 | ||
70 | typedef list_c<int,1,2,3,5,7,12,19,31> fibonacci; | |
71 | typedef push_front<fibonacci,int_<1> >::type fibonacci2; | |
72 | ||
73 | BOOST_MPL_ASSERT_RELATION( front<fibonacci2>::type::value, ==, 1 ); | |
74 | ||
75 | ||
76 | See also | |
77 | -------- | |
78 | ||
79 | |Sequences|, |Integral Sequence Wrapper|, |list|, |integral_c|, |vector_c|, |set_c|, |range_c| | |
80 | ||
81 | ||
82 |