File indexing completed on 2025-02-23 09:35:12
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139)
0009 #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139
0010
0011 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
0012 #error "C++03 only! This file should not have been included"
0013 #endif
0014
0015 #include <boost/preprocessor/repetition/enum_params.hpp>
0016 #include <boost/mpl/find.hpp>
0017 #include <boost/mpl/begin.hpp>
0018 #include <boost/mpl/distance.hpp>
0019 #include <boost/mpl/equal_to.hpp>
0020 #include <boost/mpl/vector.hpp>
0021
0022 namespace boost { namespace fusion
0023 {
0024 struct void_;
0025 }}
0026
0027 #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
0028 #include <boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp>
0029 #else
0030 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0031 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_initial_size" FUSION_MAX_DEQUE_SIZE_STR ".hpp")
0032 #endif
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0044 #pragma wave option(preserve: 1)
0045 #endif
0046
0047 namespace boost { namespace fusion { namespace detail
0048 {
0049 template<BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, typename T)>
0050 struct deque_initial_size
0051 {
0052 typedef mpl::vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> args;
0053 typedef typename mpl::find<args, void_>::type first_void;
0054 typedef typename mpl::distance<typename mpl::begin<args>::type, first_void>::type type;
0055 };
0056 }}}
0057
0058 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0059 #pragma wave option(output: null)
0060 #endif
0061
0062 #endif
0063
0064 #endif