Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::result_of::value< Expr > Struct Template Reference

A metafunction that returns the type of the value of a terminal Proto expression. More...

#include <traits.hpp>

Public Types

typedef Expr::proto_child0 value_type
 The raw type of the Nth child as it is stored within Expr. More...
 
typedef detail::term_traits
< typename Expr::proto_child0 >
::value_type 
type
 The "value" type of the child, suitable for storage by value, computed as follows: More...
 

Public Member Functions

 BOOST_STATIC_ASSERT (0==Expr::proto_arity_c)
 Verify that we are actually operating on a terminal. More...
 

Detailed Description

template<typename Expr>
struct boost::proto::result_of::value< Expr >

A metafunction that returns the type of the value of a terminal Proto expression.

Member Typedef Documentation

template<typename Expr>
typedef detail::term_traits<typename Expr::proto_child0>::value_type boost::proto::result_of::value< Expr >::type

The "value" type of the child, suitable for storage by value, computed as follows:

  • T const(&)[N] becomes T[N]
  • T[N] becomes T[N]
  • T(&)[N] becomes T[N]
  • R(&)(A0,...) becomes R(&)(A0,...)
  • T const & becomes T
  • T & becomes T
  • T becomes T
template<typename Expr>
typedef Expr::proto_child0 boost::proto::result_of::value< Expr >::value_type

The raw type of the Nth child as it is stored within Expr.

This may be a value or a reference

Member Function Documentation

template<typename Expr>
boost::proto::result_of::value< Expr >::BOOST_STATIC_ASSERT ( = =Expr::proto_arity_c)

Verify that we are actually operating on a terminal.


The documentation for this struct was generated from the following file: