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; typedeftype; };`see-below`

`value`

public
types-
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 &`