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

Struct template basic_expr

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

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 basic_expr

boost::proto::basic_expr — Simplified representation of a node in an expression tree.

Synopsis

// In header: <boost/proto/expr.hpp>
template<typename Tag, typename Args, long Arity = Args::arity> 
struct basic_expr {
  // types
  typedef Tag                         proto_tag;         
  typedef Args                        proto_args;        
  typedef mpl::long_< Arity >         proto_arity;       
  typedef proto::basic_default_domain proto_domain;      
  typedef basic_expr                  proto_grammar;     
  typedef basic_expr                  proto_base_expr;   
  typedef basic_expr                  proto_derived_expr;
  typedef typename Args::childN       proto_childN;        // For each N in [0,max(Arity,1)).
  // public static functions
  template<typename... A> static basic_expr const make(A const &...);
  // public member functions
  basic_expr & proto_base();
  basic_expr const & proto_base() const;
};

Description

<proto::basic_expr<>>является узлом в дереве шаблона выражения. Это контейнер для детских поддеревьев. Он также служит конечными узлами дерева.

<Tag>- тип, представляющий операцию, закодированную этим выражением. Обычно это одна из структур в пространстве имен<boost::proto::tag>, но это не обязательно. Если<Arity>равно 0, то этот<expr<>>тип представляет собой лист в дереве выражения.

<Args>— список типов, представляющих детей этого выражения. Он является одним из<proto::list1<>>,<proto::list2<>>и т.д. Все типы детей должны быть либо<proto::expr<>>, либо<proto::basic_expr<>&>(или их расширения через<proto::extends<>>или<BOOST_PROTO_EXTENDS()>), если<Arity>не равен 0, в этом случае<Args>должен быть<proto::term<T>>, где<T>может быть любого типа.

<proto::basic_expr<>>является допустимой последовательностью случайного доступа Fusion, где элементами последовательности являются детские выражения.

basic_expr public static functions

  1. <
    template<typename...A>staticbasic_exprconstmake(Aconst&...a);
    >

    Требуется:

    Число приведенных аргументов должно быть<max(Arity,1)>

    Возврат:

    Новый<basic_expr>объект инициализирован с указанными аргументами.

basic_expr public member functions

  1. <
    basic_expr&proto_base();
    >

    Возвращение:

    <*this>

  2. <
    basic_exprconst&proto_base()const;
    >

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


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:12:12/0.008458137512207/1