Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::binary_expr< Tag, T, U > Struct Template Reference

A metafunction for generating binary expression types with a specified tag type, a grammar element for matching binary expressions, and a PrimitiveTransform that dispatches to the pass_through<> transform. More...

#include <traits.hpp>

Inheritance diagram for boost::proto::binary_expr< Tag, T, U >:
Collaboration diagram for boost::proto::binary_expr< Tag, T, U >:

Classes

struct  impl
 

Public Types

typedef proto::expr< Tag,
list2< T, U >, 2 > 
type
 
typedef proto::basic_expr< Tag,
list2< T, U >, 2 > 
proto_grammar
 
typedef Tag proto_tag
 INTERNAL ONLY. More...
 
typedef T proto_child0
 INTERNAL ONLY. More...
 
typedef U proto_child1
 INTERNAL ONLY. More...
 
typedef binary_expr< Tag, T, U > transform_type
 

Public Member Functions

 BOOST_PROTO_CALLABLE () typedef intproto_is_transform_
 
BOOST_FORCEINLINE
boost::proto::detail::apply_transform
< transform_type(Expr const &)>
::result_type 
operator() (Expr &&e) const
 
BOOST_FORCEINLINE
boost::proto::detail::apply_transform
< transform_type(Expr const
&, State const &)>
::result_type 
operator() (Expr &&e, State &&s) const
 
BOOST_FORCEINLINE
boost::proto::detail::apply_transform
< transform_type(Expr const
&, State const &, Data const &)>
::result_type 
operator() (Expr &&e, State &&s, Data &&d) const
 

Detailed Description

template<typename Tag, typename T, typename U>
struct boost::proto::binary_expr< Tag, T, U >

A metafunction for generating binary expression types with a specified tag type, a grammar element for matching binary expressions, and a PrimitiveTransform that dispatches to the pass_through<> transform.

Use binary_expr<_, _, _> as a grammar element to match any binary expression.

Member Typedef Documentation

template<typename Tag, typename T, typename U>
typedef T boost::proto::binary_expr< Tag, T, U >::proto_child0

INTERNAL ONLY.

template<typename Tag, typename T, typename U>
typedef U boost::proto::binary_expr< Tag, T, U >::proto_child1

INTERNAL ONLY.

template<typename Tag, typename T, typename U>
typedef proto::basic_expr<Tag, list2<T, U>, 2> boost::proto::binary_expr< Tag, T, U >::proto_grammar
template<typename Tag, typename T, typename U>
typedef Tag boost::proto::binary_expr< Tag, T, U >::proto_tag

INTERNAL ONLY.

typedef binary_expr< Tag, T, U > boost::proto::transform< binary_expr< Tag, T, U > , int >::transform_type
inherited
template<typename Tag, typename T, typename U>
typedef proto::expr<Tag, list2<T, U>, 2> boost::proto::binary_expr< Tag, T, U >::type

Member Function Documentation

boost::proto::transform< binary_expr< Tag, T, U > , int >::BOOST_PROTO_CALLABLE ( )
inherited
BOOST_FORCEINLINE boost::proto::detail::apply_transform<transform_type(Expr const &, State const &, Data const &)>::result_type boost::proto::transform< binary_expr< Tag, T, U > , int >::operator() ( Expr &&  e,
State &&  s,
Data &&  d 
) const
inlineinherited
BOOST_FORCEINLINE boost::proto::detail::apply_transform<transform_type(Expr const &, State const &)>::result_type boost::proto::transform< binary_expr< Tag, T, U > , int >::operator() ( Expr &&  e,
State &&  s 
) const
inlineinherited
BOOST_FORCEINLINE boost::proto::detail::apply_transform<transform_type(Expr const &)>::result_type boost::proto::transform< binary_expr< Tag, T, U > , int >::operator() ( Expr &&  e) const
inlineinherited

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