BOOST_PP_EMPTY usage

[SVN r32468]
This commit is contained in:
Arkadiy Vertleyb
2006-01-30 00:29:55 +00:00
parent d98ccd14f8
commit 44dd1cc56c
2 changed files with 10 additions and 8 deletions

View File

@ -6,6 +6,7 @@
#define BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
#include <boost/typeof/encode_decode.hpp>
#include <boost/preprocessor/facilities/identity.hpp>
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
@ -56,7 +57,7 @@ namespace boost { namespace type_of { namespace {
#define BOOST_TYPEOF_array_support(ID, Qualifier)\
template<class V, class T, int N>\
struct encode_type_impl<V, Qualifier T[N]>\
struct encode_type_impl<V, Qualifier() T[N]>\
{\
typedef\
typename encode_type<\
@ -73,16 +74,16 @@ namespace boost { namespace type_of { namespace {
{\
enum{n = Iter::type::value};\
typedef decode_type<typename Iter::next> d;\
typedef typename d::type Qualifier type[n];\
typedef typename d::type Qualifier() type[n];\
typedef typename d::iter iter;\
}
namespace boost { namespace type_of { namespace {
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_EMPTY());
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), const);
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), volatile);
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), volatile const);
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_EMPTY);
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(const));
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile));
BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile const));
}}}

View File

@ -69,7 +69,8 @@
# include <boost/preprocessor/dec.hpp>
# include <boost/preprocessor/comma_if.hpp>
# include <boost/preprocessor/iteration/local.hpp>
# include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/control/expr_iif.hpp>
# include <boost/preprocessor/logical/not.hpp>
// iterator
@ -103,7 +104,7 @@ namespace boost { namespace type_of {
typedef mpl::int_<1> item ## n;
# define BOOST_TYPEOF_define_vector(n)\
template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_IF(n, BOOST_PP_EMPTY(), class T = void)>\
template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(n), class T = void)>\
struct vector ## n\
{\
typedef v_iter<vector ## n, boost::mpl::int_<0> > begin;\