1 .. Metafunctions/Concepts//Placeholder Expression |40
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|.
14 Expression requirements
15 -----------------------
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
21 * At least one of the template arguments ``a1``,... ``an`` is a |placeholder|
22 or a |Placeholder Expression|.
24 * All of ``X``\ 's template parameters, including the default ones, are types.
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`__.
37 * ``plus<_, int_<2> >``
38 * ``if_< less<_1, int_<7> >, plus<_1,_2>, _1 >``
44 |Lambda Expression|, |Placeholders|, |Metafunctions|, |apply|, |lambda|
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)