Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
assert.hpp File Reference
#include <boost/mpl/not.hpp>
#include <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/nested_type_wknd.hpp>
#include <boost/mpl/aux_/yes_no.hpp>
#include <boost/mpl/aux_/na.hpp>
#include <boost/mpl/aux_/adl_barrier.hpp>
#include <boost/mpl/aux_/config/nttp.hpp>
#include <boost/mpl/aux_/config/dtp.hpp>
#include <boost/mpl/aux_/config/gcc.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/gpu.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
#include <boost/mpl/aux_/config/pp_counter.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/config.hpp>
#include <cstddef>
Include dependency graph for assert.hpp:

Classes

struct  failed
 
struct  assert< C >
 
struct  assert< false >
 
struct  assertion< C >
 
struct  assertion< true >
 
struct  assert_
 
struct  assert_::types< T1, T2, T3, T4 >
 
struct  assert_relation<,, >
 
struct  assert_arg_pred_impl< bool >
 
struct  assert_arg_pred_impl< true >
 
struct  assert_arg_pred< P >
 
struct  assert_arg_pred_not< P >
 

Macros

#define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr)   BOOST_STATIC_CONSTANT(T, expr)
 
#define AUX778076_ASSERT_ARG(x)   x
 
#define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r)   assert_relation<x,y,r>
 
#define BOOST_MPL_ASSERT(pred)
 
#define BOOST_MPL_ASSERT_NOT(pred)
 
#define BOOST_MPL_ASSERT_RELATION(x, rel, y)
 
#define BOOST_MPL_ASSERT_MSG_IMPL(counter, c, msg, types_)
 
#define BOOST_MPL_ASSERT_MSG(c, msg, types_)   BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
 

Functions

template<bool C>
int assertion_failed (typename assert< C >::type)
 
bool operator== (failed, failed)
 
bool operator!= (failed, failed)
 
bool operator> (failed, failed)
 
bool operator>= (failed, failed)
 
bool operator< (failed, failed)
 
bool operator<= (failed, failed)
 
template<typename Pred >
failed ************Pred::************ assert_arg (void(*)(Pred), typename assert_arg_pred< Pred >::type)
 
template<typename Pred >
failed
************boost::mpl::not_
< Pred >::************ 
assert_not_arg (void(*)(Pred), typename assert_arg_pred_not< Pred >::type)
 
template<typename Pred >
assert< false > assert_arg (void(*)(Pred), typename assert_arg_pred_not< Pred >::type)
 
template<typename Pred >
assert< false > assert_not_arg (void(*)(Pred), typename assert_arg_pred< Pred >::type)
 

Macro Definition Documentation

#define AUX778076_ASSERT_ARG (   x)    x
#define BOOST_MPL_ASSERT (   pred)
Value:
std::size_t \
, BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
boost::mpl::assertion_failed<false>( \
boost::mpl::assert_arg( (void (*) pred)0, 1 ) \
) \
) \
) \
#define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr)
Definition: assert.hpp:62
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
failed ************Pred::************ assert_arg(void(*)(Pred), typename assert_arg_pred< Pred >::type)

Referenced by boost::type_erasure::any< Concept, T0 >::any(), boost::type_erasure::any< Concept, T & >::any(), boost::type_erasure::any< Concept, const T & >::any(), boost::type_erasure::any< Concept, T && >::any(), boost::type_erasure::any_cast(), boost::proto::assert_matches(), boost::type_erasure::binding< Concept >::binding(), boost_concepts::BOOST_concept(), boost::BOOST_concept(), boost::LvaluePropertyMapConcept< PMap, Key >::constraints(), boost::Mutable_LvaluePropertyMapConcept< PMap, Key >::constraints(), boost::msm::back::state_machine< A0, A1, A2, A3, A4 >::defer_event(), boost::accumulators::accumulator_set< Sample, Features, Weight >::drop(), boost::python::objects::make_instance_impl< T, Holder, make_ptr_instance< T, Holder > >::execute(), boost::xpressive::c_regex_traits< Char >::fold_case(), boost::xpressive::cpp_regex_traits< Char >::fold_case(), boost::mpl::for_each(), boost::mpi::get_mpi_datatype(), boost::xpressive::match_results< BidiIter >::let(), boost::archive::basic_xml_iarchive< xml_wiarchive >::load_override(), boost::accumulators::extractor< Feature >::operator()(), boost::numeric::functional::promote< bool, From, void, std_valarray_tag >::operator()(), boost::type_erasure::any< Concept, const T & >::operator=(), boost::archive::basic_xml_oarchive< xml_woarchive >::save_override(), and boost::xpressive::detail::to_vector().

#define BOOST_MPL_ASSERT_MSG_IMPL (   counter,
  c,
  msg,
  types_ 
)
Value:
struct msg; \
typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \
{ \
static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
{ return 0; } \
} BOOST_PP_CAT(mpl_assert_arg,counter); \
std::size_t \
, BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
) \
) \
int assertion_failed(typename assert< C >::type)
void const T const U const V & c
Definition: debug_adaptor.hpp:294
#define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr)
Definition: assert.hpp:62
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
basic_counter< char > counter
Definition: counter.hpp:75
failed ************Pred::************ assert_arg(void(*)(Pred), typename assert_arg_pred< Pred >::type)
#define BOOST_MPL_ASSERT_NOT (   pred)
Value:
std::size_t \
, BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
boost::mpl::assertion_failed<false>( \
boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
) \
) \
) \
#define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr)
Definition: assert.hpp:62
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
failed ************boost::mpl::not_< Pred >::************ assert_not_arg(void(*)(Pred), typename assert_arg_pred_not< Pred >::type)

Referenced by boost::proto::assert_matches_not(), and boost::python::objects::register_base_of< Derived >::operator()().

#define BOOST_MPL_ASSERT_RELATION (   x,
  rel,
 
)
Value:
std::size_t \
, BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \
boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \
) \
) \
int assertion_failed(typename assert< C >::type)
enable_if< typename gtl_and< y_p_y, typename is_point_concept< typename geometry_concept< PointType >::type >::type >::type, typename point_coordinate_type< PointType >::type >::type y(const PointType &point)
Definition: point_concept.hpp:199
#define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr)
Definition: assert.hpp:62
Traits const flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > &x return out<< x.get();}template< BOOST_TEMPLATED_STREAM_COMMA typename T, typename Arg_1, typename Arg_2, typename Arg_3, typename Arg_4, typename Arg_5 > Traits flyweight< T, Arg_1, Arg_2, Arg_3, Arg_4, Arg_5 > & x
Definition: flyweight.hpp:423
#define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r)
Definition: assert.hpp:122
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
rel
Definition: pair_by.hpp:98

Referenced by boost_concepts::BOOST_concept(), boost::msm::back::mpl_graph_fsm_check::check_orthogonality(), and boost::msm::back::mpl_graph_fsm_check::check_unreachable_states().

#define BOOST_MPL_AUX_ASSERT_CONSTANT (   T,
  expr 
)    BOOST_STATIC_CONSTANT(T, expr)
#define BOOST_MPL_AUX_ASSERT_RELATION (   x,
  y,
 
)    assert_relation<x,y,r>

Function Documentation

template<typename Pred >
failed************Pred::************ assert_arg ( void(*)(Pred)  ,
typename assert_arg_pred< Pred >::type   
)
template<typename Pred >
assert<false> assert_arg ( void(*)(Pred)  ,
typename assert_arg_pred_not< Pred >::type   
)
template<typename Pred >
failed************boost::mpl::not_<Pred>::************ assert_not_arg ( void(*)(Pred)  ,
typename assert_arg_pred_not< Pred >::type   
)
template<typename Pred >
assert<false> assert_not_arg ( void(*)(Pred)  ,
typename assert_arg_pred< Pred >::type   
)
template<bool C>
int assertion_failed ( typename assert< C >::type  )
bool operator!= ( failed  ,
failed   
)
bool operator< ( failed  ,
failed   
)
bool operator<= ( failed  ,
failed   
)
bool operator== ( failed  ,
failed   
)
bool operator> ( failed  ,
failed   
)
bool operator>= ( failed  ,
failed   
)