#include <boost/config.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <boost/mpl/logical.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/proto/proto_fwd.hpp>
#include <boost/proto/tags.hpp>
#include <boost/proto/domain.hpp>
#include <boost/proto/matches.hpp>
#include <boost/proto/generate.hpp>
#include <boost/proto/make_expr.hpp>
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::proto | |
boost::proto::detail | |
boost::proto::exprns_ | |
Macros | |
#define | BOOST_PROTO_UNARY_OP_IS_POSTFIX_0 |
#define | BOOST_PROTO_UNARY_OP_IS_POSTFIX_1 , int |
#define | BOOST_PROTO_DEFINE_UNARY_OPERATOR(OP, TAG, TRAIT, DOMAIN, POST) |
#define | BOOST_PROTO_DEFINE_BINARY_OPERATOR(OP, TAG, TRAIT, DOMAIN) |
#define | BOOST_PROTO_DEFINE_OPERATORS(TRAIT, DOMAIN) |
#define | BOOST_PROTO_APPLY_UNARY_(TRAIT, ARG) TRAIT<ARG> |
#define | BOOST_PROTO_APPLY_BINARY_(TRAIT, LEFT, RIGHT) boost::mpl::or_<TRAIT<LEFT>, TRAIT<RIGHT> > |
#define | BOOST_PROTO_APPLY_UNARY_(TRAIT, ARG) |
#define | BOOST_PROTO_APPLY_BINARY_(TRAIT, LEFT, RIGHT) |
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 | 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::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::dereference, 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::complement, 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::address_of, 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::logical_not, 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_inc, 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_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::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::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_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::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::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::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::plus, 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 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::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::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::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::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::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::logical_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::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, 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_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::comma, Left const &, Right const & > ::type const | boost::proto::exprns_::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 | 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::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::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::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::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::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_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_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_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_assign, Left const &, Right const & > ::type const | boost::proto::exprns_::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 | boost::proto::exprns_::if_else (A0 const &a0, A1 const &a1, A2 const &a2) |
#define BOOST_PROTO_APPLY_BINARY_ | ( | TRAIT, | |
LEFT, | |||
RIGHT | |||
) | boost::mpl::or_<TRAIT<LEFT>, TRAIT<RIGHT> > |
#define BOOST_PROTO_APPLY_BINARY_ | ( | TRAIT, | |
LEFT, | |||
RIGHT | |||
) |
#define BOOST_PROTO_APPLY_UNARY_ | ( | TRAIT, | |
ARG | |||
) | TRAIT<ARG> |
#define BOOST_PROTO_APPLY_UNARY_ | ( | TRAIT, | |
ARG | |||
) |
#define BOOST_PROTO_DEFINE_BINARY_OPERATOR | ( | OP, | |
TAG, | |||
TRAIT, | |||
DOMAIN | |||
) |
#define BOOST_PROTO_DEFINE_OPERATORS | ( | TRAIT, | |
DOMAIN | |||
) |
#define BOOST_PROTO_DEFINE_UNARY_OPERATOR | ( | OP, | |
TAG, | |||
TRAIT, | |||
DOMAIN, | |||
POST | |||
) |
#define BOOST_PROTO_UNARY_OP_IS_POSTFIX_0 |
#define BOOST_PROTO_UNARY_OP_IS_POSTFIX_1 , int |