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

The MPL Reference Manual: protect

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 / protect

protect

Synopsis

template<
      typename F
    >
struct protect
{
    // unspecified
    // ...
};

Description

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

Parameters

Parameter Requirement Description
F Класс метафункций Класс метафункций.

Expression semantics

Для любогометафункционального классаf:

typedef protect<f> g;
Return type:

Metafunction Class.

Semantics:

If f is a bind expression, equivalent to

struct g
{
    template<
          typename U1 = unspecified,... typename Un = unspecified
        >
    struct apply
        : apply_wrapn<f,U1,...Un>
    {
    };
};

otherwise equivalent to typedef f g;.

Example

struct f
{
    template< typename T1, typename T2 > struct apply
    {
        typedef T2 type;
    };
};
typedef bind< quote3<if_>,_1,_2,bind<f,_1,_2> > b1;
typedef bind< quote3<if_>,_1,_2,protect< bind<f,_1,_2> > > b2;
typedef apply_wrap2< b1,false_,char >::type r1;
typedef apply_wrap2< b2,false_,char >::type r2;
BOOST_MPL_ASSERT(( is_same<r1,char> ));
BOOST_MPL_ASSERT(( is_same<r2,protect< bind<f,_1,_2> > > ));

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:27:40/0.0084779262542725/1