23 # pragma GCC system_header 24 #elif defined(BOOST_MSVC) 25 # pragma warning ( push ) 26 # pragma warning ( disable : 4244 4913) 27 # if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) 28 # pragma warning ( disable : 6334) 40 template <
typename T>
T &make();
48 struct no_operator { };
53 struct any {
template <
class T> any(
T const&); };
68 struct returns_void_t { };
69 template <
typename T>
int operator,(
const T&, returns_void_t);
70 template <
typename T>
int operator,(
const volatile T&, returns_void_t);
75 template <
typename Lhs >
76 struct operator_returns_void {
80 static ::boost::type_traits::no_type returns_void(
int);
90 template <
typename Lhs,
typename Ret,
bool Returns_
void >
91 struct operator_returns_Ret;
93 template <
typename Lhs >
94 struct operator_returns_Ret < Lhs, dont_care, true > {
98 template <
typename Lhs >
99 struct operator_returns_Ret < Lhs, dont_care, false > {
103 template <
typename Lhs >
104 struct operator_returns_Ret < Lhs,
void, true > {
108 template <
typename Lhs >
109 struct operator_returns_Ret < Lhs,
void, false > {
113 template <
typename Lhs,
typename Ret >
114 struct operator_returns_Ret < Lhs, Ret, true > {
121 template <
typename Lhs,
typename Ret >
122 struct operator_returns_Ret < Lhs, Ret, false > {
124 static ::boost::type_traits::no_type is_convertible_to_Ret(...);
136 struct has_operator { };
137 no_operator operator,(no_operator, has_operator);
139 template <
typename Lhs >
140 struct operator_exists {
142 static ::boost::type_traits::no_type s_check(no_operator);
155 template <
typename Lhs,
typename Ret,
bool Forb
idden_if >
158 template <
typename Lhs,
typename Ret >
159 struct trait_impl1 < Lhs, Ret, true > {
163 template <
typename Lhs,
typename Ret >
164 struct trait_impl1 < Lhs, Ret, false > {
170 template <
typename Ret >
171 struct trait_impl1 <
void, Ret, false > {
176 template <
typename Lhs,
typename Ret >
188 template <
class Lhs,
class Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care>
189 struct BOOST_TT_TRAIT_NAME :
public integral_constant<bool, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _impl)::trait_impl< Lhs, Ret >::value)>{};
193 #if defined(BOOST_MSVC) 194 # 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)