• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. Sequences/Classes//list_c |80
2
3list_c
4======
5
6Description
7-----------
8
9``list_c`` is an |Integral Sequence Wrapper| for |list|. As such, it shares
10all |list| characteristics and requirements, and differs only in the way the
11original sequence content is specified.
12
13Header
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
25Model of
26--------
27
28* |Integral Sequence Wrapper|
29* |Variadic Sequence|
30* |Forward Sequence|
31* |Extensible Sequence|
32* |Front Extensible Sequence|
33
34
35Expression 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
65Example
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
76See also
77--------
78
79|Sequences|, |Integral Sequence Wrapper|, |list|, |integral_c|, |vector_c|, |set_c|, |range_c|
80
81
82.. copyright:: Copyright �  2001-2009 Aleksey Gurtovoy and David Abrahams
83   Distributed under the Boost Software License, Version 1.0. (See accompanying
84   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
85