![]() |
Home | Libraries | People | FAQ | More |
boost::proto::result_of::value — A metafunction that returns the type of the value of a terminal Proto expression.
// In header: <boost/proto/traits.hpp> template<typename Expr> struct value { // types typedef typename Expr::proto_child0 value_type; typedef see-below type; };
typedef typename Expr::proto_child0 value_type;
The raw type of the value as it is stored within Expr. This may be a value or a reference.
If Expr is not a reference type, type is computed as follows:
T const(&)[N] becomes T[N]
T[N] becomes T[N]
T(&)[N] becomes T[N]
R(&)(A...) becomes R(&)(A...)
T const & becomes T
T & becomes T
T becomes T
If Expr is a non-const reference type, type is computed as follows:
T const(&)[N] becomes T const(&)[N]
T[N] becomes T(&)[N]
T(&)[N] becomes T(&)[N]
R(&)(A...) becomes R(&)(A...)
T const & becomes T const &
T & becomes T &
T becomes T &
If Expr is a const reference type, type is computed as follows:
T const(&)[N] becomes T const(&)[N]
T[N] becomes T const(&)[N]
T(&)[N] becomes T(&)[N]
R(&)(A...) becomes R(&)(A...)
T const & becomes T const &
T & becomes T &
T becomes T const &