]> git.proxmox.com Git - ceph.git/blob - 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
1 .. Metafunctions/Concepts//Placeholder Expression |40
2
3 Placeholder Expression
4 ======================
5
6 Description
7 -----------
8
9 A |Placeholder Expression| is a type that is either a |placeholder| or a class
10 template specialization with at least one argument that itself is a
11 |Placeholder Expression|.
12
13
14 Expression requirements
15 -----------------------
16
17 If ``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
19 conditions 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
33 Models
34 ------
35
36 * |_1|
37 * ``plus<_, int_<2> >``
38 * ``if_< less<_1, int_<7> >, plus<_1,_2>, _1 >``
39
40
41 See also
42 --------
43
44 |Lambda Expression|, |Placeholders|, |Metafunctions|, |apply|, |lambda|
45
46
47 .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams
48 Distributed under the Boost Software License, Version 1.0. (See accompanying
49 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)