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

Struct template as_expr

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Struct template domain

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

PrevUpHomeNext

Struct template as_expr

boost::proto::domain::as_expr — A callable unary MonomorphicFunctionObject that specifies how objects are turned into Proto expressions in this domain. The resulting expression object is suitable for storage in a local variable.

Synopsis

// In header: <boost/proto/domain.hpp>

// A callable unary MonomorphicFunctionObject that specifies how objects are
// turned into Proto expressions in this domain. The resulting expression
// object is suitable for storage in a local variable.
template<typename T> 
struct as_expr :  proto::callable {
  // types
  typedef see-below result_type;
  // public member functions
  result_type operator()(T &) const;
};

Description

Унарный мономорфный объект, который определяет, как объекты превращаются в прото-выражения в этой области. Полученный объект выражения подходит для хранения в локальной переменной. В этом случае обычно предпочтительнее возвращать выражения по значению, а в случае объектов, которые еще не являются выражениями Прото, обернуть их по значению (если это возможно) в новое выражение терминала Прото. (Сравните это описание с описанием<proto::domain::as_child>.)

Объект функции<as_expr>превращает объекты в выражения Прото, если они еще не существуют, делая их терминалами Прото, удерживаемыми значением, если это возможно. Объекты, которые уже являются выражениями Прото, просто возвращаются по стоимости. Если<wants_basic_expr<Generator>::value>истинно, то пустьEбудет<proto::basic_expr>; в противном случае пустьEбудет<proto::expr>. Приведено значение l<t>типа<T>:

  • Если<T>не является типом выражения Прото, полученный терминал рассчитывается следующим образом:
    • Если<T>является типом функции, абстрактным типом или типом, полученным из<std::ios_base>, пусть<A>будет<T &>.
    • В противном случае, пусть<A>будет тип<T>, лишенный cv-квалификаторов.
    Then, the result of as_expr<T>()(t) is Generator()(E<tag::terminal, term< A > >::make(t)).
  • В противном случае результат<t>превращается в (непостоянное) значение.

as_expr public member functions

  1. <
    result_typeoperator()(T&t)const;
    >

    Параметры:

    Объект для обертывания.


    PrevUpHomeNext

    Статья Struct template as_expr раздела The Boost C++ Libraries BoostBook Documentation Subset Struct template domain может быть полезна для разработчиков на c++ и boost.




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



    :: Главная :: Struct template domain ::


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 09:16:15/0.0060620307922363/0