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 expression

boost::yap::expression

Synopsis

// In header: <boost/yap/expression.hpp>

template<expr_kind Kind, typename Tuple> 
struct expression {
  // types
  typedef Tuple tuple_type;

  // construct/copy/destruct
  expression();
  expression(tuple_type &&);

  // public member functions
  decltype(auto) constexpr value();
  decltype(auto) constexpr left();
  decltype(auto) constexpr right();

  // public data members
  static const expr_kind kind;
  tuple_type elements;
};

Description

Reference expression template that provides all operator overloads.

[Note] Note

Due to a limitation of Doxygen, each of the value(), left(), right(), and operator overloads listed here is a stand-in for three member functions. For each function f, the listing here is:

return_type f (); 

However, there are actually three functions:

return_type f () const &;
return_type f () &;
return_type f () &&;

expression public construct/copy/destruct

  1. expression();

    Default constructor. Does nothing.

  2. expression(tuple_type && rhs);

    Moves rhs into the only data mamber, elements.

expression public member functions

  1. decltype(auto) constexpr value();

    A convenience member function that dispatches to the free function value().

  2. decltype(auto) constexpr left();

    A convenience member function that dispatches to the free function left().

  3. decltype(auto) constexpr right();

    A convenience member function that dispatches to the free function right().


PrevUpHomeNext