Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: lambda

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Metafunctions / Composition and Argument Binding / lambda

lambda

Synopsis

template<
      typename X
    , typename Tag = unspecified
    >
struct lambda
{
    typedef unspecified type;
};

Description

ЕслиXявляется выражениемдержателя, преобразованиеXв соответствующийкласс метафункцийВ противном случаеXвозвращается без изменений.

Parameters

Parameter Requirement Description
X Любой тип Выражение для преобразования.
Таг Любой тип Тег, определяющий трансформационную семантику.

Expression semantics

Для произвольных типовxитег:

typedef lambda<x>::type f;
Return type:

Metafunction Class.

Semantics:

If x is a Placeholder Expression in a general form X<a1,...an>, where X is a class template and a1,... an are arbitrary types, equivalent to

typedef protect< bind<
      quoten<X>
    , lambda<a1>::type,... lambda<an>::type
    > > f;

otherwise, f is identical to x.

typedef lambda<x,tag>::type f;
Return type:

Metafunction Class.

Semantics:

If x is a Placeholder Expression in a general form X<a1,...an>, where X is a class template and a1,... an are arbitrary types, equivalent to

typedef protect< bind<
      quoten<X,tag>
    , lambda<a1,tag>::type,... lambda<an,tag>::type
    > > f;

otherwise, f is identical to x.

Example

template< typename N1, typename N2 > struct int_plus
    : int_<( N1::value + N2::value )>
{
};
typedef lambda< int_plus<_1, int_<42> > >::type f1;
typedef bind< quote2<int_plus>, _1, int_<42> > f2;
typedef f1::apply<42>::type r1;
typedef f2::apply<42>::type r2;
BOOST_MPL_ASSERT_RELATION( r1::value, ==, 84 );
BOOST_MPL_ASSERT_RELATION( r2::value, ==, 84 );

Статья The MPL Reference Manual: lambda раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 23:00:32/0.0062978267669678/0