From 262a206b3c194189dd81a0de697c5622e4269064 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Wed, 10 Nov 2004 15:59:54 +0000 Subject: [PATCH] set_c [SVN r26171] --- include/boost/mpl/set/aux_/numbered_c.hpp | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 include/boost/mpl/set/aux_/numbered_c.hpp diff --git a/include/boost/mpl/set/aux_/numbered_c.hpp b/include/boost/mpl/set/aux_/numbered_c.hpp new file mode 100644 index 0000000..4123ade --- /dev/null +++ b/include/boost/mpl/set/aux_/numbered_c.hpp @@ -0,0 +1,47 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# define AUX778076_SET_C_TAIL(set, i_, T, C) \ + BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \ + T, BOOST_PP_ENUM_PARAMS(i_, C) \ + > \ + /**/ + +template< + typename T + , BOOST_PP_ENUM_PARAMS(i_, T C) + > +struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) + : s_item< + integal_c + , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C) + > +{ + typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type; +}; + +# undef AUX778076_SET_C_TAIL + +#undef i_ + +#endif // BOOST_PP_IS_ITERATING