60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
|
|
// (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
|
|
|
|
// this file has been generated from the master.hpp file in the same directory
|
|
namespace boost { namespace function_types {
|
|
namespace detail
|
|
{
|
|
template<class Tag, class RefTag> struct selector_bits
|
|
{
|
|
BOOST_STATIC_CONSTANT(bits_t, value = (
|
|
(::boost::function_types::detail::bits<Tag> ::value & 0x00008000)
|
|
| (::boost::function_types::detail::bits<RefTag> ::value & 802)
|
|
));
|
|
};
|
|
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<0x00ff8000> cc_mask_constant;
|
|
template< > struct default_cc_tag<33282>
|
|
{
|
|
typedef void ( *tester)();
|
|
typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
|
|
typedef cc_mask_constant mask;
|
|
};
|
|
template< > struct default_cc_tag<33026>
|
|
{
|
|
typedef void ( *tester)( ... );
|
|
typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
|
|
typedef cc_mask_constant mask;
|
|
};
|
|
template< > struct default_cc_tag<33312>
|
|
{
|
|
typedef void (test_class:: *tester)();
|
|
typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
|
|
typedef cc_mask_constant mask;
|
|
};
|
|
template< > struct default_cc_tag<33056>
|
|
{
|
|
typedef void (test_class:: *tester)( ... );
|
|
typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
|
|
typedef cc_mask_constant mask;
|
|
};
|
|
} } }
|