#include <boost/mpl/bool.hpp>#include <boost/mpl/aux_/na_spec.hpp>#include <boost/mpl/aux_/type_wrapper.hpp>#include <boost/mpl/aux_/yes_no.hpp>#include <boost/mpl/aux_/config/gcc.hpp>#include <boost/mpl/aux_/config/has_xxx.hpp>#include <boost/mpl/aux_/config/msvc_typename.hpp>#include <boost/mpl/aux_/config/msvc.hpp>#include <boost/mpl/aux_/config/static_constant.hpp>#include <boost/mpl/aux_/config/workaround.hpp>#include <boost/preprocessor/array/elem.hpp>#include <boost/preprocessor/cat.hpp>#include <boost/preprocessor/control/if.hpp>#include <boost/preprocessor/repetition/enum_params.hpp>#include <boost/preprocessor/repetition/enum_trailing_params.hpp>

| #define BOOST_MPL_HAS_MEMBER_ACCEPT | ( | args, | |
| member_macro | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION | ( | args, | |
| introspect_macro, | |||
| substitute_macro, | |||
| member_macro | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_INTROSPECT | ( | args, | |
| substitute_macro, | |||
| member_macro | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME | ( | args | ) | BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \ | 
| #define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME | ( | args, | |
| n | |||
| ) | BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \ | 
| #define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME | ( | args | ) | BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \ | 
| #define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT | ( | z, | |
| n, | |||
| args | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE | ( | z, | |
| n, | |||
| args | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_REJECT | ( | args, | |
| member_macro | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_SUBSTITUTE | ( | args, | |
| substitute_macro | |||
| ) | 
| #define BOOST_MPL_HAS_MEMBER_TEST | ( | args | ) | 
| #define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE | ( | args, | |
| substitute_macro, | |||
| member_macro | |||
| ) | 
| #define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 0 | 
| #define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 0 | 
| #define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 0 | 
| #define BOOST_MPL_HAS_XXX_TEMPLATE_DEF | ( | name | ) | 
| #define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF | ( | trait, | |
| name, | |||
| default_ | |||
| ) | 
| #define BOOST_MPL_HAS_XXX_TRAIT_DEF | ( | name | ) | BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \ | 
| #define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF | ( | trait, | |
| name, | |||
| default_ | |||
| ) |