Update of /cvsroot/boost/boost/boost/function_types/detail/pp_retag_default_cc
In directory
sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28648/detail/pp_retag_default_cc
Added Files:
master.hpp preprocessed.hpp
Log Message:
adds function_types implementation
--- NEW FILE: master.hpp ---
// (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
--- NEW FILE: preprocessed.hpp ---
// (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;
};
} } }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs