summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/mpl/list/aux_/numbered_c.hpp')
-rw-r--r--3rdParty/Boost/src/boost/mpl/list/aux_/numbered_c.hpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/mpl/list/aux_/numbered_c.hpp b/3rdParty/Boost/src/boost/mpl/list/aux_/numbered_c.hpp
new file mode 100644
index 0000000..f304382
--- /dev/null
+++ b/3rdParty/Boost/src/boost/mpl/list/aux_/numbered_c.hpp
@@ -0,0 +1,71 @@
+
+// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
+
+// 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.
+
+// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
+// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
+// $Revision: 49267 $
+
+#if defined(BOOST_PP_IS_ITERATING)
+
+#include <boost/preprocessor/enum_params.hpp>
+#include <boost/preprocessor/enum_shifted_params.hpp>
+#include <boost/preprocessor/dec.hpp>
+#include <boost/preprocessor/cat.hpp>
+
+#define i BOOST_PP_FRAME_ITERATION(1)
+
+#if i == 1
+
+template<
+ typename T
+ , BOOST_PP_ENUM_PARAMS(i, T C)
+ >
+struct list1_c
+ : l_item<
+ long_<1>
+ , integral_c<T,C0>
+ , l_end
+ >
+{
+ typedef list1_c type;
+ typedef T value_type;
+};
+
+#else
+
+# define MPL_AUX_LIST_C_TAIL(list, i, C) \
+ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \
+ BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
+ > \
+ /**/
+
+template<
+ typename T
+ , BOOST_PP_ENUM_PARAMS(i, T C)
+ >
+struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
+ : l_item<
+ long_<i>
+ , integral_c<T,C0>
+ , MPL_AUX_LIST_C_TAIL(list,i,C)
+ >
+{
+ typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
+ typedef T value_type;
+};
+
+# undef MPL_AUX_LIST_C_TAIL
+
+#endif // i == 1
+
+#undef i
+
+#endif // BOOST_PP_IS_ITERATING