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

The MPL Reference Manual: quote

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

quote

Synopsis

template<
      template< typename P1 > class F
    , typename Tag = unspecified
    >
struct quote1
{
    // unspecified
    // ...
};
...
template<
      template< typename P1,... typename Pn > class F
    , typename Tag = unspecified
    >
struct quoten
{
    // unspecified
    // ...
};

Description

цитатаnявляется примитивным более высокого порядка, который обертываетn-aryМетафункциядля создания соответствующейКласс метафункций.

Parameters

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

Expression semantics

Для любогоn-aryМетафункцияfи произвольный типтег:

typedef quoten<f> g;
typedef quoten<f,tag> g;
Return type:

Класс метафункций

Semantics:

Equivalent to

struct g
{
    template< typename A1,... typename An > struct apply
        : f<A1,...An>
    {
    };
};

Еслиfимеет член вложенного типа::type, и

struct g
{
    template< typename A1,... typename An > struct apply
    {
        typedef f<A1,...An> type;
    };
};

otherwise.

Example

template< typename T > struct f1
{
    typedef T type;
};
template<
    typename T1, typename T2, typename T3, typename T4, typename T5
    >
struct f5
{
    // no 'type' member!
};
typedef quote1<f1>::apply<int>::type t1;
typedef quote5<f5>::apply<char,short,int,long,float>::type t5;
BOOST_MPL_ASSERT(( is_same< t1, int > ));
BOOST_MPL_ASSERT(( is_same< t5, f5<char,short,int,long,float> > ));

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:14:29/0.0053031444549561/1