removed __COUNTER__; enabled explicit IDs

[SVN r32256]
This commit is contained in:
Arkadiy Vertleyb
2006-01-08 03:27:49 +00:00
parent dce8922805
commit 646c117ce0
3 changed files with 13 additions and 11 deletions

View File

@ -8,11 +8,7 @@
#ifdef BOOST_TYPEOF_EMULATION
# undef BOOST_TYPEOF_REGISTRATION_GROUP
# ifndef _MSC_VER
# include <boost/preprocessor/slot/counter.hpp>
# include BOOST_PP_UPDATE_COUNTER()
# define BOOST_TYPEOF_REGISTRATION_GROUP BOOST_PP_COUNTER
# else
# define BOOST_TYPEOF_REGISTRATION_GROUP __COUNTER__
# endif
# include <boost/preprocessor/slot/counter.hpp>
# include BOOST_PP_UPDATE_COUNTER()
# define BOOST_TYPEOF_REGISTRATION_GROUP BOOST_PP_COUNTER
#endif

View File

@ -38,12 +38,15 @@
// BOOST_TYPEOF_REGISTER_TEMPLATE
#define BOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
#define BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, Id)\
BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(\
Name,\
BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TOSEQ(Params)),\
BOOST_PP_SEQ_SIZE(BOOST_TYPEOF_TOSEQ(Params)),\
BOOST_TYPEOF_UNIQUE_ID())\
Id)
#define BOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, BOOST_TYPEOF_UNIQUE_ID())
#define BOOST_TYPEOF_OBJECT_MAKER(s, data, elem)\
BOOST_TYPEOF_MAKE_OBJ(elem)

View File

@ -16,9 +16,12 @@
typedef Iter iter; \
};
#define BOOST_TYPEOF_REGISTER_TYPE(Type) \
#define BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, Id) \
namespace boost { namespace type_of { namespace { \
BOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, BOOST_TYPEOF_UNIQUE_ID()) \
BOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, Id) \
}}}
#define BOOST_TYPEOF_REGISTER_TYPE(Type) \
BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, BOOST_TYPEOF_UNIQUE_ID())
#endif//BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED