]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpl/doc/src/refmanual/PlaceholderExpression.rst
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / PlaceholderExpression.rst
CommitLineData
7c673cae
FG
1.. Metafunctions/Concepts//Placeholder Expression |40
2
3Placeholder Expression
4======================
5
6Description
7-----------
8
9A |Placeholder Expression| is a type that is either a |placeholder| or a class
10template specialization with at least one argument that itself is a
11|Placeholder Expression|.
12
13
14Expression requirements
15-----------------------
16
17If ``X`` is a class template, and ``a1``,... ``an`` are arbitrary types, then
18``X<a1,...,an>`` is a |Placeholder Expression| if and only if all of the following
19conditions hold:
20
21* At least one of the template arguments ``a1``,... ``an`` is a |placeholder|
22 or a |Placeholder Expression|.
23
24* All of ``X``\ 's template parameters, including the default ones, are types.
25
26* The number of ``X``\ 's template parameters, including the default ones, is
27 less or equal to the value of ``BOOST_MPL_LIMIT_METAFUNCTION_ARITY``
28 `configuration macro`__.
29
30__ `Configuration`_
31
32
33Models
34------
35
36* |_1|
37* ``plus<_, int_<2> >``
38* ``if_< less<_1, int_<7> >, plus<_1,_2>, _1 >``
39
40
41See also
42--------
43
44|Lambda Expression|, |Placeholders|, |Metafunctions|, |apply|, |lambda|
45
46
47