master.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 104 行

HPP
104
字号
// (C) Copyright Tobias Schwinger//// Use modification and distribution are subject to the boost Software License,// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).//------------------------------------------------------------------------------// no include guards, this file is guarded externally#ifdef __WAVE__// this file has been generated from the master.hpp file in the same directory#   pragma wave option(preserve: 0)#endif#if !defined(BOOST_PP_VALUE)#   include <boost/preprocessor/slot/slot.hpp>#   include <boost/preprocessor/iteration/self.hpp>#   include <boost/function_types/detail/encoding/def.hpp>#   include <boost/function_types/detail/encoding/aliases_def.hpp>namespace boost { namespace function_types {namespace detail{  template<class Tag, class RefTag> struct selector_bits  {#   define  BOOST_PP_VALUE non_member|member|non_variadic|variadic#   include BOOST_PP_ASSIGN_SLOT(1)    BOOST_STATIC_CONSTANT(bits_t, value = (        ::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc       | ::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1)    ));  };  template<bits_t SelectorBits> struct default_cc_tag;     template<class Tag, class RefTag> struct retag_default_cc    : detail::compound_tag      < Tag, detail::default_cc_tag<           ::boost::function_types::detail::selector_bits<Tag,RefTag>::value > >  { };  template<bits_t SelectorBits> struct default_cc_tag  {    typedef null_tag::bits bits;    typedef null_tag::mask mask;  };  class test_class;  typedef constant<BOOST_FT_cc_mask> cc_mask_constant;#   define BOOST_FT_self \      <boost/function_types/detail/pp_retag_default_cc/master.hpp>#   define  default_cc_ BOOST_FT_default_cc#   define  BOOST_PP_VALUE default_cc_|non_member|non_variadic#   define  BOOST_FT_tester void (*tester)()#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self#   include BOOST_PP_INCLUDE_SELF()#   define  BOOST_PP_VALUE default_cc_|non_member|variadic#   define  BOOST_FT_tester void (*tester)(...)#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self#   include BOOST_PP_INCLUDE_SELF()#   define  BOOST_PP_VALUE default_cc_|member|non_variadic#   define  BOOST_FT_tester void (test_class::*tester)()#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self#   include BOOST_PP_INCLUDE_SELF()#   define  BOOST_PP_VALUE default_cc_|member|variadic#   define  BOOST_FT_tester void (test_class::*tester)(...)#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self#   include BOOST_PP_INCLUDE_SELF()#   undef   default_cc_#   undef BOOST_FT_self} } } // namespace ::boost::function_types::detail#   include <boost/function_types/detail/encoding/aliases_undef.hpp>#   include <boost/function_types/detail/encoding/undef.hpp>#else // if defined(BOOST_PP_VALUE)#   include BOOST_PP_ASSIGN_SLOT(1)  template<> struct default_cc_tag<BOOST_PP_SLOT(1)>   {    typedef BOOST_FT_tester;    typedef mpl::bitand_<components<tester>::bits,cc_mask_constant> bits;    typedef cc_mask_constant mask;  };#   undef BOOST_FT_tester#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?