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
This is an older version of Boost and was released in 2024. The current version is 1.89.0.
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;
};value
public
typestypedef 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 &