|
The MPL Reference Manual: applyBoost , ,
template<
typename F
>
struct apply0
{
typedef unspecified type;
};
template<
typename F, typename A1
>
struct apply1
{
typedef unspecified type;
};
...
template<
typename F, typename A1,... typename An
>
struct applyn
{
typedef unspecified type;
};
template<
typename F
, typename A1 = unspecified
...
, typename An = unspecified
>
struct apply
{
typedef unspecified type;
};
| Parameter |
Requirement |
Description |
| F |
Выражение Ламбды |
Выражение, чтобы вызвать. |
| A1,... An |
Любой тип |
Призывы. |
Для любого Ламбда экспрессия f и произвольных типов a1,...an:
typedef applyn<f,a1,...an>::type t;
typedef apply<f,a1,...an>::type t;
| Return type: | Any type. |
| Semantics: | Equivalent to typedef apply_wrapn< lambda<f>::type,a1,... an>::type t;. |
template< typename N1, typename N2 > struct int_plus
: int_<( N1::value + N2::value )>
{
};
typedef apply< int_plus<_1,_2>, int_<2>, int_<3> >::type r1;
typedef apply< quote2<int_plus>, int_<2>, int_<3> >::type r2;
BOOST_MPL_ASSERT_RELATION( r1::value, ==, 5 );
BOOST_MPL_ASSERT_RELATION( r2::value, ==, 5 );
Статья The MPL Reference Manual: apply раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
|
|