summaryrefslogtreecommitdiff
path: root/boost/python/detail/type_list_impl_no_pts.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/python/detail/type_list_impl_no_pts.hpp')
-rw-r--r--boost/python/detail/type_list_impl_no_pts.hpp107
1 files changed, 0 insertions, 107 deletions
diff --git a/boost/python/detail/type_list_impl_no_pts.hpp b/boost/python/detail/type_list_impl_no_pts.hpp
deleted file mode 100644
index 15d9252374..0000000000
--- a/boost/python/detail/type_list_impl_no_pts.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-// Copyright David Abrahams 2002.
-// 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)
-# ifndef TYPE_LIST_IMPL_NO_PTS_DWA2002913_HPP
-# define TYPE_LIST_IMPL_NO_PTS_DWA2002913_HPP
-
-# include <boost/python/detail/type_list.hpp>
-
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/enum_params_with_a_default.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/empty.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/mpl/void.hpp>
-
-namespace boost { namespace python { namespace detail {
-
-template< typename T >
-struct is_list_arg
-{
- enum { value = true };
-};
-
-template<>
-struct is_list_arg<mpl::void_>
-{
- enum { value = false };
-};
-
-template<int> struct type_list_impl_chooser;
-
-# define BOOST_PYTHON_LIST_ACTUAL_PARAMS BOOST_PP_ENUM_PARAMS_Z(1,BOOST_PYTHON_LIST_SIZE,T)
-# define BOOST_PYTHON_LIST_FORMAL_PARAMS BOOST_PP_ENUM_PARAMS_Z(1,BOOST_PYTHON_LIST_SIZE,class T)
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, BOOST_PYTHON_LIST_SIZE, <boost/python/detail/type_list_impl_no_pts.hpp>))
-# include BOOST_PP_ITERATE()
-
-# define BOOST_PYTHON_PLUS() +
-# define BOOST_PYTHON_IS_LIST_ARG(z, n, data) \
- BOOST_PP_IF(n, BOOST_PYTHON_PLUS, BOOST_PP_EMPTY)() \
- is_list_arg< BOOST_PP_CAT(T,n) >::value
-
-template<
- BOOST_PYTHON_LIST_FORMAL_PARAMS
- >
-struct type_list_count_args
-{
- enum { value =
- BOOST_PP_REPEAT_1(BOOST_PYTHON_LIST_SIZE, BOOST_PYTHON_IS_LIST_ARG, _)
- };
-};
-
-template<
- BOOST_PYTHON_LIST_FORMAL_PARAMS
- >
-struct type_list_impl
-{
- typedef type_list_count_args< BOOST_PYTHON_LIST_ACTUAL_PARAMS > arg_num_;
- typedef typename detail::type_list_impl_chooser< arg_num_::value >
- ::template result_< BOOST_PYTHON_LIST_ACTUAL_PARAMS >::type type;
-};
-
-template<
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PYTHON_LIST_SIZE, class T, mpl::void_)
- >
-struct type_list
- : detail::type_list_impl< BOOST_PYTHON_LIST_ACTUAL_PARAMS >::type
-{
- typedef typename detail::type_list_impl<
- BOOST_PYTHON_LIST_ACTUAL_PARAMS
- >::type type;
-};
-
-# undef BOOST_PYTHON_IS_LIST_ARG
-# undef BOOST_PYTHON_PLUS
-# undef BOOST_PYTHON_LIST_FORMAL_PARAMS
-# undef BOOST_PYTHON_LIST_ACTUAL_PARAMS
-
-}}} // namespace boost::python::detail
-
-# endif // TYPE_LIST_IMPL_NO_PTS_DWA2002913_HPP
-
-#else // BOOST_PP_IS_ITERATING
-
-# define N BOOST_PP_ITERATION()
-
-template<>
-struct type_list_impl_chooser<N>
-{
- template<
- BOOST_PYTHON_LIST_FORMAL_PARAMS
- >
- struct result_
- {
- typedef typename BOOST_PP_CAT(mpl::vector,N)<
- BOOST_PP_ENUM_PARAMS(N, T)
- >::type type;
- };
-};
-
-# undef N
-
-#endif // BOOST_PP_IS_ITERATING