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

Struct template 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 expr

boost::proto::expr — 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 expr {
  // types
  typedef Tag                                   proto_tag;         
  typedef Args                                  proto_args;        
  typedef mpl::long_< Arity >                   proto_arity;       
  typedef proto::default_domain                 proto_domain;      
  typedef proto::basic_expr< Tag, Args, Arity > proto_grammar;     
  typedef expr                                  proto_base_expr;   
  typedef expr                                  proto_derived_expr;
  typedef typename Args::childN                 proto_childN;        // For each N in [0,max(Arity,1)).
  // member classes/structs/unions
  template<typename Signature> 
  struct result {
    // types
    typedef unspecified type;
  };
  // public static functions
  template<typename... A> static expr const make(A const &...);
  // public member functions
  expr & proto_base();
  expr const & proto_base() const;
  template<typename A> unspecified operator=(A &);
  template<typename A> unspecified operator=(A const &);
  template<typename A> unspecified operator=(A &) const;
  template<typename A> unspecified operator=(A const &) const;
  template<typename A> unspecified operator[](A &);
  template<typename A> unspecified operator[](A const &);
  template<typename A> unspecified operator[](A &) const;
  template<typename A> unspecified operator[](A const &) const;
  template<typename... A> unspecified operator()(A const &...);
  template<typename... A> unspecified operator()(A const &...) const;
  // public data members
  proto_childN childN;  // For each N in [0,max(Arity,1)).
  static const long proto_arity_c;  // = Arity;
};

Description

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

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

Args - это список типов, представляющих детей этого выражения. Это моментация одного из прото::list1<>, прото::list2<> и т.д. Типы детей должны быть либо прото::expr<> или прото::basic_expr<> (или расширения через прото::extends<> или BOOST_PROTO_EXDS(1>), если только Арити не 0>Args может быть.

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

expr public static functions

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

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

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

expr public member functions

  1. expr & proto_base();

    Возвращения:<2428>

    *это<332828>>>3>>>>>>>>>>>>>>>3>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  2. expr const & proto_base() const;

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

  3. >> >>>> >>>>>>> >>>> &>>>>>>

    >>>>>>>2>>>2>>>2>>>2>>2>>>2>>>2>>>>>>>>2>>>>>>>2>>>>>>2>>>>2>>>>>2>>>>2>>>2>>>2>>>>>>>>>>>>>>>>>>>>>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>2>>>>>>>>>>>>>>2>>>>>>>>2>>>>>>>>>>>>>>>>
  4. template<typename A> unspecified14> operator(A>A const& a;

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

  5. template<typename A> 11>unspecified14> оператор(A>& a>const>>

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

  6. template<typename A> 11>unspecified14> operator(A& a>const>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Это перегруженная функция члена, предоставляемая для удобства. Он отличается от вышеуказанной функции только тем, какой аргумент(ы) он принимает. 

  7. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>3>>>>>3>>>2>>>>>3>>>>>>>>>2>>>>>>>3>>>>>>2>>>>>3>>>>3>>>>
  8. template<typename A> unspecified14> оператор[](>AA & a)>>> 

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

  9. template<typename A> 1>unspecified14> оператор[>A>& a>const>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Это перегруженная функция члена, предоставляемая для удобства. Он отличается от вышеуказанной функции только тем, какой аргумент(ы) он принимает. 

  10. template<typename A> unspecified14> оператор[>(>A>>> & a> const>>>> >>>>>>>  Он отличается от вышеуказанной функции только тем, какой аргумент(ы) он принимает. 

  11. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  12. template<typename... A> 13>unspecified Это перегруженная функция члена, предоставляемая для удобства. Он отличается от вышеуказанной функции только тем, какой аргумент(ы) он принимает. 


PrevUpHomeNext

Статья Struct template 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 23:03:12/0.0095131397247314/1