sfinae_errors.hpp File Reference

Classes

struct  boost::callable_traits::detail::sfinae_error
 
struct  boost::callable_traits::detail::success< T >
 
struct  boost::callable_traits::detail::success< T >::_
 
struct  boost::callable_traits::detail::fail_if< B, T >
 
struct  boost::callable_traits::detail::fail< FailMsg, ForceTwoPhaseLookup >
 

Namespaces

 boost
 
 boost::callable_traits
 
 boost::callable_traits::detail
 

Macros

#define BOOST_CLBL_TRTS_PP_CAT_(x, y)   x ## y
 
#define BOOST_CLBL_TRTS_PP_CAT(x, y)   BOOST_CLBL_TRTS_PP_CAT_(x, y)
 
#define BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(origin)
 
#define BOOST_CLBL_TRTS_SFINAE_MSG(origin, name)
 

Typedefs

template<typename T , typename... FailIfs>
using boost::callable_traits::detail::sfinae_try = typename BOOST_CLBL_TRTS_DISJUNCTION(FailIfs..., success< T >)::_::type
 

Macro Definition Documentation

◆ BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN

#define BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN (   origin)
Value:
namespace error { \
template<typename ErrorMessage> \
struct origin : \
{ struct _ {}; }; \
} \

Definition at line 47 of file sfinae_errors.hpp.

◆ BOOST_CLBL_TRTS_PP_CAT

#define BOOST_CLBL_TRTS_PP_CAT (   x,
 
)    BOOST_CLBL_TRTS_PP_CAT_(x, y)

Definition at line 45 of file sfinae_errors.hpp.

◆ BOOST_CLBL_TRTS_PP_CAT_

#define BOOST_CLBL_TRTS_PP_CAT_ (   x,
 
)    x ## y

Definition at line 44 of file sfinae_errors.hpp.

◆ BOOST_CLBL_TRTS_SFINAE_MSG

#define BOOST_CLBL_TRTS_SFINAE_MSG (   origin,
  name 
)
Value:
struct BOOST_CLBL_TRTS_PP_CAT(name, _ ){}; \
struct name : error::origin< \
BOOST_CLBL_TRTS_PP_CAT(name, _ )>{}; \
#define BOOST_CLBL_TRTS_PP_CAT(x, y)

Definition at line 56 of file sfinae_errors.hpp.