|  | 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;      
};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 &