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_ Namespace Reference

Classes

struct  basic_expr
 
struct  expr
 
struct  extends
 extends<> class template for adding behaviors to a Proto expression template More...
 
struct  extends< Expr, Derived, Domain, 0 >
 extends<> class template for adding behaviors to a Proto expression template More...
 
struct  is_proto_expr
 Empty type to be used as a dummy template parameter of POD expression wrappers. More...
 
struct  virtual_member
 INTERNAL ONLY. More...
 

Functions

template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::unary_plus,
Arg const & >::type const 
operator+ (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::negate,
Arg const & >::type const 
operator- (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::dereference,
Arg const & >::type const 
operator* (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::complement,
Arg const & >::type const 
operator~ (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::address_of,
Arg const & >::type const 
operator& (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::logical_not,
Arg const & >::type const 
operator! (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::pre_inc,
Arg const & >::type const 
operator++ (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::pre_dec,
Arg const & >::type const 
operator-- (Arg &&arg)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::post_inc,
Arg const & >::type const 
operator++ (Arg &&arg, int)
 
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_unary
< deduce_domain,
deduce_domain::proto_grammar,
is_extension< Arg >
, boost::proto::tag::post_dec,
Arg const & >::type const 
operator-- (Arg &&arg, int)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::shift_left,
Left const &, Right const & >
::type const 
operator<< (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::shift_right,
Left const &, Right const & >
::type const 
operator>> (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::multiplies,
Left const &, Right const & >
::type const 
operator* (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::divides,
Left const &, Right const & >
::type const 
operator/ (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::modulus,
Left const &, Right const & >
::type const 
operator% (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::plus,
Left const &, Right const & >
::type const 
operator+ (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::minus,
Left const &, Right const & >
::type const 
operator- (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::less,
Left const &, Right const & >
::type const 
operator< (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::greater,
Left const &, Right const & >
::type const 
operator> (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::less_equal,
Left const &, Right const & >
::type const 
operator<= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::greater_equal,
Left const &, Right const & >
::type const 
operator>= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::equal_to,
Left const &, Right const & >
::type const 
operator== (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::not_equal_to,
Left const &, Right const & >
::type const 
operator!= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::logical_or,
Left const &, Right const & >
::type const 
operator|| (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::logical_and,
Left const &, Right const & >
::type const 
operator&& (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_and,
Left const &, Right const & >
::type const 
operator& (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_or,
Left const &, Right const & >
::type const 
operator| (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_xor,
Left const &, Right const & >
::type const 
operator^ (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::comma,
Left const &, Right const & >
::type const 
operator BOOST_PP_COMMA() (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::mem_ptr,
Left const &, Right const & >
::type const 
operator->* (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::shift_left_assign,
Left const &, Right const & >
::type const 
operator<<= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::shift_right_assign,
Left const &, Right const & >
::type const 
operator>>= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::multiplies_assign,
Left const &, Right const & >
::type const 
operator*= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::divides_assign,
Left const &, Right const & >
::type const 
operator/= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::modulus_assign,
Left const &, Right const & >
::type const 
operator%= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::plus_assign,
Left const &, Right const & >
::type const 
operator+= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::minus_assign,
Left const &, Right const & >
::type const 
operator-= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_and_assign,
Left const &, Right const & >
::type const 
operator&= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_or_assign,
Left const &, Right const & >
::type const 
operator|= (Left &&left, Right &&right)
 
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714
BOOST_FORCEINLINE
boost::proto::detail::enable_binary
< deduce_domain,
deduce_domain::proto_grammar,
boost::mpl::or_< is_extension
< Left >, is_extension< Right >
>, boost::proto::tag::bitwise_xor_assign,
Left const &, Right const & >
::type const 
operator^= (Left &&left, Right &&right)
 
template<typename A0 , typename A1 , typename A2 >
BOOST_FORCEINLINE
result_of::make_expr
< tag::if_else_, deduce_domain,
A0 const &, A1 const &, A2
const & >::type const 
if_else (A0 const &a0, A1 const &a1, A2 const &a2)
 

Function Documentation

template<typename A0 , typename A1 , typename A2 >
BOOST_FORCEINLINE result_of::make_expr< tag::if_else_ , deduce_domain , A0 const & , A1 const & , A2 const & >::type const boost::proto::exprns_::if_else ( A0 const &  a0,
A1 const &  a1,
A2 const &  a2 
)

References A2.

template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::comma , Left const & , Right const & >::type const boost::proto::exprns_::operator BOOST_PP_COMMA() ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::logical_not , Arg const & >::type const boost::proto::exprns_::operator! ( Arg &&  arg)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::not_equal_to , Left const & , Right const & >::type const boost::proto::exprns_::operator!= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::modulus , Left const & , Right const & >::type const boost::proto::exprns_::operator% ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::modulus_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator%= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_and , Left const & , Right const & >::type const boost::proto::exprns_::operator& ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::address_of , Arg const & >::type const boost::proto::exprns_::operator& ( Arg &&  arg)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::logical_and , Left const & , Right const & >::type const boost::proto::exprns_::operator&& ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_and_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator&= ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::dereference , Arg const & >::type const boost::proto::exprns_::operator* ( Arg &&  arg)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::multiplies , Left const & , Right const & >::type const boost::proto::exprns_::operator* ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::multiplies_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator*= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::plus , Left const & , Right const & >::type const boost::proto::exprns_::operator+ ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::unary_plus , Arg const & >::type const boost::proto::exprns_::operator+ ( Arg &&  arg)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::post_inc , Arg const & >::type const boost::proto::exprns_::operator++ ( Arg &&  arg,
int   
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::pre_inc , Arg const & >::type const boost::proto::exprns_::operator++ ( Arg &&  arg)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::plus_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator+= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::minus , Left const & , Right const & >::type const boost::proto::exprns_::operator- ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::negate , Arg const & >::type const boost::proto::exprns_::operator- ( Arg &&  arg)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::pre_dec , Arg const & >::type const boost::proto::exprns_::operator-- ( Arg &&  arg)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::post_dec , Arg const & >::type const boost::proto::exprns_::operator-- ( Arg &&  arg,
int   
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::minus_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator-= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::mem_ptr , Left const & , Right const & >::type const boost::proto::exprns_::operator->* ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::divides , Left const & , Right const & >::type const boost::proto::exprns_::operator/ ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::divides_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator/= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::less , Left const & , Right const & >::type const boost::proto::exprns_::operator< ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::shift_left , Left const & , Right const & >::type const boost::proto::exprns_::operator<< ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::shift_left_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator<<= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::less_equal , Left const & , Right const & >::type const boost::proto::exprns_::operator<= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::equal_to , Left const & , Right const & >::type const boost::proto::exprns_::operator== ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::greater , Left const & , Right const & >::type const boost::proto::exprns_::operator> ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::greater_equal , Left const & , Right const & >::type const boost::proto::exprns_::operator>= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::shift_right , Left const & , Right const & >::type const boost::proto::exprns_::operator>> ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::shift_right_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator>>= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_xor , Left const & , Right const & >::type const boost::proto::exprns_::operator^ ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_xor_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator^= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_or , Left const & , Right const & >::type const boost::proto::exprns_::operator| ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::bitwise_or_assign , Left const & , Right const & >::type const boost::proto::exprns_::operator|= ( Left &&  left,
Right &&  right 
)
template<typename Left , typename Right >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain , deduce_domain ::proto_grammar , boost::mpl::or_< is_extension < Left >, is_extension < Right > > , boost::proto::tag::logical_or , Left const & , Right const & >::type const boost::proto::exprns_::operator|| ( Left &&  left,
Right &&  right 
)
template<typename Arg >
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_unary< deduce_domain , deduce_domain ::proto_grammar , is_extension < Arg > , boost::proto::tag::complement , Arg const & >::type const boost::proto::exprns_::operator~ ( Arg &&  arg)