31 # pragma GCC system_header 32 #elif defined(BOOST_MSVC) 33 # pragma warning ( push ) 34 # pragma warning ( disable : 4146 4804 4913 4244) 35 # if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) 36 # pragma warning ( disable : 6334) 50 template <
typename T>
T &make();
58 struct no_operator { };
63 struct any {
template <
class T> any(
T const&); };
78 struct returns_void_t { };
79 template <
typename T>
int operator,(
const T&, returns_void_t);
80 template <
typename T>
int operator,(
const volatile T&, returns_void_t);
85 template <
typename Rhs >
86 struct operator_returns_void {
90 static ::boost::type_traits::no_type returns_void(
int);
100 template <
typename Rhs,
typename Ret,
bool Returns_
void >
101 struct operator_returns_Ret;
103 template <
typename Rhs >
104 struct operator_returns_Ret < Rhs, dont_care, true > {
108 template <
typename Rhs >
109 struct operator_returns_Ret < Rhs, dont_care, false > {
113 template <
typename Rhs >
114 struct operator_returns_Ret < Rhs,
void, true > {
118 template <
typename Rhs >
119 struct operator_returns_Ret < Rhs,
void, false > {
123 template <
typename Rhs,
typename Ret >
124 struct operator_returns_Ret < Rhs, Ret, true > {
131 template <
typename Rhs,
typename Ret >
132 struct operator_returns_Ret < Rhs, Ret, false > {
134 static ::boost::type_traits::no_type is_convertible_to_Ret(...);
146 struct has_operator { };
147 no_operator operator,(no_operator, has_operator);
149 template <
typename Rhs >
150 struct operator_exists {
152 static ::boost::type_traits::no_type s_check(no_operator);
165 template <
typename Rhs,
typename Ret,
bool Forb
idden_if >
168 template <
typename Rhs,
typename Ret >
169 struct trait_impl1 < Rhs, Ret, true > {
173 template <
typename Rhs,
typename Ret >
174 struct trait_impl1 < Rhs, Ret, false > {
180 template <
typename Ret >
181 struct trait_impl1 <
void, Ret, false > {
186 template <
typename Rhs,
typename Ret >
198 template <
class Rhs,
class Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care>
199 struct BOOST_TT_TRAIT_NAME :
public integral_constant<bool, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _impl)::trait_impl < Rhs, Ret >::value)>{};
203 #if defined(BOOST_MSVC) 204 # pragma warning ( pop ) typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME, _impl)
#define BOOST_TT_TRAIT_OP
#define BOOST_TT_TRAIT_NAME
#define BOOST_STATIC_CONSTANT(type, assignment)