Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
debug.hpp File Reference
#include <iostream>
#include <boost/preprocessor/stringize.hpp>
#include <boost/ref.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/proto/proto_fwd.hpp>
#include <boost/proto/traits.hpp>
#include <boost/proto/matches.hpp>
#include <boost/proto/fusion.hpp>
#include <boost/fusion/algorithm/iteration/for_each.hpp>
#include <boost/detail/sp_typeinfo.hpp>
Include dependency graph for debug.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::proto::hidden_detail_::ostream_wrapper
 
struct  boost::proto::hidden_detail_::named_any
 
struct  boost::proto::detail::display_expr_impl
 
struct  boost::proto::functional::display_expr
 Pretty-print a Proto expression tree. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::proto
 
 boost::proto::tagns_
 
 boost::proto::tagns_::tag
 
 boost::proto::hidden_detail_
 
 boost::proto::detail
 
 boost::proto::functional
 

Macros

#define BOOST_PROTO_DEFINE_TAG_INSERTION(Tag)
 
#define BOOST_PROTO_ASSERT_MATCHES(Expr, Grammar)   (true ? (void)0 : boost::proto::assert_matches<Grammar>(Expr))
 Assert at compile time that a particular expression matches the specified grammar. More...
 
#define BOOST_PROTO_ASSERT_MATCHES_NOT(Expr, Grammar)   (true ? (void)0 : boost::proto::assert_matches_not<Grammar>(Expr))
 Assert at compile time that a particular expression does not match the specified grammar. More...
 

Functions

std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, terminal const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, unary_plus const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, negate const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, dereference const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, complement const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, address_of const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, logical_not const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, pre_inc const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, pre_dec const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, post_inc const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, post_dec const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, shift_left const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, shift_right const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, multiplies const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, divides const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, modulus const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, plus const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, minus const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, less const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, greater const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, less_equal const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, greater_equal const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, equal_to const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, not_equal_to const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, logical_or const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, logical_and const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_and const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_or const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_xor const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, comma const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, mem_ptr const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, shift_left_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, shift_right_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, multiplies_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, divides_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, modulus_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, plus_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, minus_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_and_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_or_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, bitwise_xor_assign const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, subscript const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, member const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, if_else_ const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::tagns_::tag::operator<< (std::ostream &sout, function const &)
 INTERNAL ONLY. More...
 
std::ostream & boost::proto::hidden_detail_::operator<< (ostream_wrapper sout_wrap, named_any t)
 
template<typename Expr >
void boost::proto::display_expr (Expr const &expr, std::ostream &sout)
 Pretty-print a Proto expression tree. More...
 
template<typename Expr >
void boost::proto::display_expr (Expr const &expr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Grammar , typename Expr >
void boost::proto::assert_matches (Expr const &)
 Assert at compile time that a particular expression matches the specified grammar. More...
 
template<typename Grammar , typename Expr >
void boost::proto::assert_matches_not (Expr const &)
 Assert at compile time that a particular expression does not match the specified grammar. More...
 

Macro Definition Documentation

#define BOOST_PROTO_ASSERT_MATCHES (   Expr,
  Grammar 
)    (true ? (void)0 : boost::proto::assert_matches<Grammar>(Expr))

Assert at compile time that a particular expression matches the specified grammar.

Note
Equivalent to proto::assert_matches<Grammar>(Expr)
Parameters
ExprThe Proto expression to check againts Grammar
GrammarThe grammar used to validate Expr.
#define BOOST_PROTO_ASSERT_MATCHES_NOT (   Expr,
  Grammar 
)    (true ? (void)0 : boost::proto::assert_matches_not<Grammar>(Expr))

Assert at compile time that a particular expression does not match the specified grammar.

Note
Equivalent to proto::assert_matches_not<Grammar>(Expr)
Parameters
ExprThe Proto expression to check againts Grammar
GrammarThe grammar used to validate Expr.
#define BOOST_PROTO_DEFINE_TAG_INSERTION (   Tag)
Value:
\
inline std::ostream &operator <<(std::ostream &sout, Tag const &) \
{ \
return sout << BOOST_PP_STRINGIZE(Tag); \
} \
std::basic_ostream< Elem, Traits > & operator<<(std::basic_ostream< Elem, Traits > &os, const address &addr)
Output an address as a string.
#define BOOST_PP_STRINGIZE(text)
Definition: stringize.hpp:28