Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::if_< If, Then, Else >::impl< Expr, State, Data > Struct Template Reference

#include <matches.hpp>

Inheritance diagram for boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >:
Collaboration diagram for boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >:

Public Types

typedef when< _, If >
::template impl< Expr, State,
Data >::result_type 
condition
 
typedef mpl::if_c< static_cast
< bool >remove_reference
< condition >::type::value),
when< _, Then >, when< _, Else >
>::type 
which
 
typedef which::template impl
< Expr, State, Data >
::result_type 
result_type
 
typedef Expr const expr
 
typedef Expr const & expr_param
 
typedef State const state
 
typedef State const & state_param
 
typedef Data const data
 
typedef Data const & data_param
 

Public Member Functions

result_type operator() (typename impl::expr_param e, typename impl::state_param s, typename impl::data_param d) const
 

Member Typedef Documentation

template<typename If, typename Then, typename Else>
template<typename Expr, typename State, typename Data>
typedef when<_, If>::template impl<Expr, State, Data>::result_type boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >::condition
template<typename Expr, typename State, typename Data>
typedef Data const boost::proto::transform_impl< Expr, State, Data >::data
inherited
template<typename Expr, typename State, typename Data>
typedef Data const& boost::proto::transform_impl< Expr, State, Data >::data_param
inherited
template<typename Expr, typename State, typename Data>
typedef Expr const boost::proto::transform_impl< Expr, State, Data >::expr
inherited
template<typename Expr, typename State, typename Data>
typedef Expr const& boost::proto::transform_impl< Expr, State, Data >::expr_param
inherited
template<typename If, typename Then, typename Else>
template<typename Expr, typename State, typename Data>
typedef which::template impl<Expr, State, Data>::result_type boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >::result_type
template<typename Expr, typename State, typename Data>
typedef State const boost::proto::transform_impl< Expr, State, Data >::state
inherited
template<typename Expr, typename State, typename Data>
typedef State const& boost::proto::transform_impl< Expr, State, Data >::state_param
inherited
template<typename If, typename Then, typename Else>
template<typename Expr, typename State, typename Data>
typedef mpl::if_c< static_cast<bool>remove_reference<condition>::type::value) , when<_, Then> , when<_, Else> >::type boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >::which

Member Function Documentation

template<typename If, typename Then, typename Else>
template<typename Expr, typename State, typename Data>
result_type boost::proto::if_< If, Then, Else >::impl< Expr, State, Data >::operator() ( typename impl< Expr, State, Data >::expr_param  e,
typename impl< Expr, State, Data >::state_param  s,
typename impl< Expr, State, Data >::data_param  d 
) const
inline
Parameters
eAn expression
sThe current state
dA data of arbitrary type
Returns
which::impl<Expr, State, Data>()(e, s, d)

References template.


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