From 646c117ce0051a7d8722332e6fc12ac6f8aab6f2 Mon Sep 17 00:00:00 2001 From: Arkadiy Vertleyb Date: Sun, 8 Jan 2006 03:27:49 +0000 Subject: [PATCH] removed __COUNTER__; enabled explicit IDs [SVN r32256] --- include/boost/typeof/increment_registration_group.hpp | 10 +++------- include/boost/typeof/template_encoding.hpp | 7 +++++-- include/boost/typeof/type_encoding.hpp | 7 +++++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/include/boost/typeof/increment_registration_group.hpp b/include/boost/typeof/increment_registration_group.hpp index 7b61efa..6f4803a 100755 --- a/include/boost/typeof/increment_registration_group.hpp +++ b/include/boost/typeof/increment_registration_group.hpp @@ -8,11 +8,7 @@ #ifdef BOOST_TYPEOF_EMULATION # undef BOOST_TYPEOF_REGISTRATION_GROUP -# ifndef _MSC_VER -# include -# include BOOST_PP_UPDATE_COUNTER() -# define BOOST_TYPEOF_REGISTRATION_GROUP BOOST_PP_COUNTER -# else -# define BOOST_TYPEOF_REGISTRATION_GROUP __COUNTER__ -# endif +# include +# include BOOST_PP_UPDATE_COUNTER() +# define BOOST_TYPEOF_REGISTRATION_GROUP BOOST_PP_COUNTER #endif diff --git a/include/boost/typeof/template_encoding.hpp b/include/boost/typeof/template_encoding.hpp index e3adc6e..00306ae 100755 --- a/include/boost/typeof/template_encoding.hpp +++ b/include/boost/typeof/template_encoding.hpp @@ -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) diff --git a/include/boost/typeof/type_encoding.hpp b/include/boost/typeof/type_encoding.hpp index 76455a9..33195ce 100755 --- a/include/boost/typeof/type_encoding.hpp +++ b/include/boost/typeof/type_encoding.hpp @@ -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