Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::exprns_::virtual_member< This, Fun, Domain > Struct Template Reference

INTERNAL ONLY. More...

#include <proto_fwd.hpp>

Public Types

typedef Domain proto_domain
 
typedef Domain::proto_generator proto_generator
 
typedef virtual_member< This,
Fun, Domain > 
proto_derived_expr
 
typedef tag::member proto_tag
 
typedef list2< This &, expr
< tag::terminal, term< Fun >
> const & > 
proto_args
 
typedef mpl::long_< 2 > proto_arity
 
typedef detail::not_a_valid_type proto_address_of_hack_type_
 
typedef void proto_is_expr_
 INTERNAL ONLY. More...
 
typedef
boost::proto::tag::proto_expr
< proto_tag, Domain > 
fusion_tag
 
typedef This & proto_child0
 
typedef expr< tag::terminal,
term< Fun > > const & 
proto_child1
 
typedef expr< proto_tag,
proto_args, proto_arity_c
proto_base_expr
 
typedef basic_expr< proto_tag,
proto_args, proto_arity_c
proto_grammar
 
typedef void proto_is_aggregate_
 INTERNAL ONLY. More...
 

Public Member Functions

template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::assign,
boost::proto::list2
< proto_derived_expr const
&, typename
boost::proto::result_of::as_child
< A BOOST_PP_EMPTY(),
proto_domain >::type > >::type) >
::type const 
operator= (A BOOST_PP_EMPTY()&a) const
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::assign,
boost::proto::list2
< proto_derived_expr const
&, typename
boost::proto::result_of::as_child
< A const, proto_domain >
::type > >::type) >::type
const 
operator= (A const &a) const
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::assign,
boost::proto::list2
< proto_derived_expr
BOOST_PP_EMPTY()&, typename
boost::proto::result_of::as_child
< A BOOST_PP_EMPTY(),
proto_domain >::type > >::type) >
::type const 
operator= (A BOOST_PP_EMPTY()&a) BOOST_PP_EMPTY()
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::assign,
boost::proto::list2
< proto_derived_expr
BOOST_PP_EMPTY()&, typename
boost::proto::result_of::as_child
< A const, proto_domain >
::type > >::type) >::type
const 
operator= (A const &a) BOOST_PP_EMPTY()
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::subscript,
boost::proto::list2
< proto_derived_expr const
&, typename
boost::proto::result_of::as_child
< A BOOST_PP_EMPTY(),
proto_domain >::type > >::type) >
::type const 
operator[] (A BOOST_PP_EMPTY()&a) const
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::subscript,
boost::proto::list2
< proto_derived_expr const
&, typename
boost::proto::result_of::as_child
< A const, proto_domain >
::type > >::type) >::type
const 
operator[] (A const &a) const
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::subscript,
boost::proto::list2
< proto_derived_expr
BOOST_PP_EMPTY()&, typename
boost::proto::result_of::as_child
< A BOOST_PP_EMPTY(),
proto_domain >::type > >::type) >
::type const 
operator[] (A BOOST_PP_EMPTY()&a) BOOST_PP_EMPTY()
 
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
BOOST_PROTO_RESULT_OF
< proto_generator(typename
boost::proto::base_expr
< proto_domain,
boost::proto::tag::subscript,
boost::proto::list2
< proto_derived_expr
BOOST_PP_EMPTY()&, typename
boost::proto::result_of::as_child
< A const, proto_domain >
::type > >::type) >::type
const 
operator[] (A const &a) BOOST_PP_EMPTY()
 
BOOST_FORCEINLINE
proto_base_expr const 
proto_base () const
 
BOOST_FORCEINLINE proto_child0 child0 () const
 
BOOST_FORCEINLINE proto_child1 child1 () const
 

Static Public Attributes

static const long proto_arity_c = 2
 

Detailed Description

template<typename This, typename Fun, typename Domain>
struct boost::proto::exprns_::virtual_member< This, Fun, Domain >

INTERNAL ONLY.

Member Typedef Documentation

template<typename This , typename Fun , typename Domain >
typedef boost::proto::tag::proto_expr<proto_tag, Domain> boost::proto::exprns_::virtual_member< This, Fun, Domain >::fusion_tag
template<typename This , typename Fun , typename Domain >
typedef detail::not_a_valid_type boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_address_of_hack_type_
template<typename This , typename Fun , typename Domain >
typedef list2<This &, expr<tag::terminal, term<Fun> > const &> boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_args
template<typename This , typename Fun , typename Domain >
typedef mpl::long_<2> boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_arity
template<typename This , typename Fun , typename Domain >
typedef expr<proto_tag, proto_args, proto_arity_c> boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_base_expr
template<typename This , typename Fun , typename Domain >
typedef This& boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_child0
template<typename This , typename Fun , typename Domain >
typedef expr<tag::terminal, term<Fun> > const& boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_child1
template<typename This , typename Fun , typename Domain >
typedef virtual_member<This, Fun, Domain> boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_derived_expr
template<typename This , typename Fun , typename Domain >
typedef Domain boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_domain
template<typename This , typename Fun , typename Domain >
typedef Domain::proto_generator boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_generator
template<typename This , typename Fun , typename Domain >
typedef basic_expr<proto_tag, proto_args, proto_arity_c> boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_grammar
template<typename This , typename Fun , typename Domain >
typedef void boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_is_aggregate_

INTERNAL ONLY.

template<typename This , typename Fun , typename Domain >
typedef void boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_is_expr_

INTERNAL ONLY.

template<typename This , typename Fun , typename Domain >
typedef tag::member boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_tag

Member Function Documentation

template<typename This , typename Fun , typename Domain >
BOOST_FORCEINLINE proto_child0 boost::proto::exprns_::virtual_member< This, Fun, Domain >::child0 ( ) const
inline
template<typename This , typename Fun , typename Domain >
BOOST_FORCEINLINE proto_child1 boost::proto::exprns_::virtual_member< This, Fun, Domain >::child1 ( ) const
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::assign , boost::proto::list2< proto_derived_expr const & , typename boost::proto::result_of::as_child<A const, proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator= ( A const &  a) const
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::assign , boost::proto::list2< proto_derived_expr BOOST_PP_EMPTY () & , typename boost::proto::result_of::as_child<A const, proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator= ( A const &  a)
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::assign , boost::proto::list2< proto_derived_expr const & , typename boost::proto::result_of::as_child<A BOOST_PP_EMPTY (), proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator= ( A BOOST_PP_EMPTY()&  a) const
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::assign , boost::proto::list2< proto_derived_expr BOOST_PP_EMPTY () & , typename boost::proto::result_of::as_child<A BOOST_PP_EMPTY (), proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator= ( A BOOST_PP_EMPTY()&  a)
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::subscript , boost::proto::list2< proto_derived_expr const & , typename boost::proto::result_of::as_child<A const, proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator[] ( A const &  a) const
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::subscript , boost::proto::list2< proto_derived_expr BOOST_PP_EMPTY () & , typename boost::proto::result_of::as_child<A const, proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator[] ( A const &  a)
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::subscript , boost::proto::list2< proto_derived_expr const & , typename boost::proto::result_of::as_child<A BOOST_PP_EMPTY (), proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator[] ( A BOOST_PP_EMPTY()&  a) const
inline
template<typename This , typename Fun , typename Domain >
template<typename A >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE BOOST_PROTO_RESULT_OF< proto_generator( typename boost::proto::base_expr< proto_domain , boost::proto::tag::subscript , boost::proto::list2< proto_derived_expr BOOST_PP_EMPTY () & , typename boost::proto::result_of::as_child<A BOOST_PP_EMPTY (), proto_domain>::type > >::type ) >::type const boost::proto::exprns_::virtual_member< This, Fun, Domain >::operator[] ( A BOOST_PP_EMPTY()&  a)
inline
template<typename This , typename Fun , typename Domain >
BOOST_FORCEINLINE proto_base_expr const boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_base ( ) const
inline

Member Data Documentation

template<typename This , typename Fun , typename Domain >
const long boost::proto::exprns_::virtual_member< This, Fun, Domain >::proto_arity_c = 2
static

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