stabilize build system: depends, installer, boost/bdb fixes, cross targets groundwork

This commit is contained in:
2026-02-24 18:38:47 +00:00
parent da8c28aaeb
commit 65cb2619a7
13106 changed files with 2484322 additions and 1804 deletions
@@ -0,0 +1,89 @@
/*==============================================================================
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
#if !BOOST_PP_IS_ITERATING
#include <boost/preprocessor/tuple/elem.hpp>
#ifndef BOOST_PHOENIX_ITERATION_PARAMS
#error "BOOST_PHOENIX_ITERATION_PARAMS not defined"
#endif
#define BOOST_PHOENIX_ITERATION_PARAMS_SIZE \
BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PHOENIX_ITERATION_PARAMS) \
/**/
#define BOOST_PHOENIX_ITERATION_TUPLE \
BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PHOENIX_ITERATION_PARAMS) \
/**/
#define BOOST_PHOENIX_ITERATION_START \
BOOST_PP_TUPLE_ELEM( \
BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 0, BOOST_PHOENIX_ITERATION_TUPLE) \
/**/
#define BOOST_PHOENIX_ITERATION_END \
BOOST_PP_TUPLE_ELEM( \
BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 1, BOOST_PHOENIX_ITERATION_TUPLE) \
/**/
#define BOOST_PHOENIX_ITERATION_FILE() \
BOOST_PP_TUPLE_ELEM( \
BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 2, BOOST_PHOENIX_ITERATION_TUPLE) \
/**/
#if BOOST_PHOENIX_ITERATION_PARAMS_SIZE == 3
#define BOOST_PP_ITERATION_PARAMS_1 \
(3, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \
<boost/phoenix/support/detail/iterate.hpp>)) \
/**/
#else
#define BOOST_PHOENIX_ITERATION_FLAG \
BOOST_PP_TUPLE_ELEM( \
BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 3, BOOST_PHOENIX_ITERATION_TUPLE) \
/**/
#define BOOST_PP_ITERATION_PARAMS_1 \
(4, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \
<boost/phoenix/support/detail/iterate.hpp>, \
BOOST_PHOENIX_ITERATION_FLAG)) \
/**/
#endif
#include BOOST_PP_ITERATE()
#undef BOOST_PHOENIX_ITERATION_PARAMS_SIZE
#undef BOOST_PHOENIX_ITERATION_TUPLE
#undef BOOST_PHOENIX_ITERATION_START
#undef BOOST_PHOENIX_ITERATION_END
#undef BOOST_PHOENIX_ITERATION_PARAMS
#else
#undef BOOST_PHOENIX_IS_ITERATING
#define BOOST_PHOENIX_IS_ITERATING 1
#include <boost/phoenix/support/detail/iterate_undef.hpp>
#include <boost/phoenix/support/detail/iterate_define.hpp>
#include BOOST_PHOENIX_ITERATION_FILE()
#undef BOOST_PHOENIX_ITERATION
#undef BOOST_PHOENIX_IS_ITERATING
#define BOOST_PHOENIX_IS_ITERATING 0
#include <boost/phoenix/support/detail/iterate_undef.hpp>
#include <boost/phoenix/support/detail/iterate_define.hpp>
#endif
@@ -0,0 +1,155 @@
/*==============================================================================
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
#if !BOOST_PHOENIX_IS_ITERATING
#define BOOST_PHOENIX_typename_A(N) \
BOOST_PP_ENUM_PARAMS(N, typename A) \
/**/
#define BOOST_PHOENIX_typename_A_void(N) \
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, typename A, void) \
/**/
#define BOOST_PHOENIX_A(N) \
BOOST_PP_ENUM_PARAMS(N, A) \
/**/
#define BOOST_PHOENIX_A_ref(N) \
BOOST_PP_ENUM_BINARY_PARAMS(N, A, & BOOST_PP_INTERCEPT) \
/**/
#define BOOST_PHOENIX_A_const_ref(N) \
BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& BOOST_PP_INTERCEPT) \
/**/
#define BOOST_PHOENIX_A_a(N) \
BOOST_PP_ENUM_BINARY_PARAMS(N, A, a) \
/**/
#define BOOST_PHOENIX_A_ref_a(N) \
BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a) \
/**/
#define BOOST_PHOENIX_A_const_ref_a(N) \
BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) \
/**/
#define BOOST_PHOENIX_a(N) \
BOOST_PP_ENUM_PARAMS(N, a) \
/**/
#else
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/seq/elem.hpp>
#include <boost/preprocessor/seq/enum.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/seq/for_each_product.hpp>
#include <boost/preprocessor/seq/size.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#define BOOST_PHOENIX_ITERATION \
BOOST_PP_ITERATION() \
/**/
#define BOOST_PHOENIX_typename_A \
BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename A) \
/**/
#define BOOST_PHOENIX_typename_A_void \
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PHOENIX_ITERATION, typename A, void)
/**/
#define BOOST_PHOENIX_A \
BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, A) \
/**/
#define BOOST_PHOENIX_A_ref \
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, & BOOST_PP_INTERCEPT)\
/**/
#define BOOST_PHOENIX_A_const_ref \
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, const& BOOST_PP_INTERCEPT)\
/**/
#define BOOST_PHOENIX_A_a \
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, a) \
/**/
#define BOOST_PHOENIX_A_ref_a \
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, & a) \
/**/
#define BOOST_PHOENIX_A_const_ref_a \
BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, const& a) \
/**/
#define BOOST_PHOENIX_a \
BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, a) \
/**/
/////////////////////////////////////////////////////////////////////////////
// Begin Perfect Forward argument permutation calculation
/////////////////////////////////////////////////////////////////////////////
#define BOOST_PHOENIX_M0_R(_, N, __) \
(((A ## N)(&))((A ## N)(const&))) \
/**/
#define BOOST_PHOENIX_M0 \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M0_R, _) \
/**/
#define BOOST_PHOENIX_M1_R_R(_, N, SEQ) \
BOOST_PP_SEQ_ELEM(N, SEQ) \
/**/
#define BOOST_PHOENIX_M1_R(R, __, ___, ELEM) \
(BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(ELEM), BOOST_PHOENIX_M1_R_R, ELEM)) \
/**/
#define BOOST_PHOENIX_M1(R, PRODUCT) \
((BOOST_PP_SEQ_ENUM \
(BOOST_PP_SEQ_FOR_EACH_I_R \
(R, BOOST_PHOENIX_M1_R, _, PRODUCT)))) \
/**/
#define BOOST_PHOENIX_PERM_SEQ \
BOOST_PP_SEQ_FOR_EACH_PRODUCT(BOOST_PHOENIX_M1, BOOST_PHOENIX_M0) \
/**/
////////////////////////////////////////////////////////////////////////////
// End
////////////////////////////////////////////////////////////////////////////
#define BOOST_PHOENIX_PERM_SIZE \
BOOST_PP_SEQ_SIZE(BOOST_PHOENIX_PERM_SEQ) \
/**/
#define BOOST_PHOENIX_M2(_, N, TUPLE) \
BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(BOOST_PHOENIX_ITERATION, N, TUPLE) \
/**/
#define BOOST_PHOENIX_M3(_, N, TUPLE) \
BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(BOOST_PHOENIX_ITERATION, N, TUPLE) a ## N\
/**/
#define BOOST_PHOENIX_PERM_ELEM(N) \
BOOST_PP_SEQ_ELEM(N, BOOST_PHOENIX_PERM_SEQ) \
/**/
#define BOOST_PHOENIX_PERM_A(N) \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M2, BOOST_PHOENIX_PERM_ELEM(N))\
/**/
#define BOOST_PHOENIX_PERM_A_a(N) \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M3, BOOST_PHOENIX_PERM_ELEM(N))\
/**/
#endif
@@ -0,0 +1,35 @@
/*==============================================================================
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
#undef BOOST_PHOENIX_typename_A
#undef BOOST_PHOENIX_typename_A_void
#undef BOOST_PHOENIX_A
#undef BOOST_PHOENIX_A_a
#undef BOOST_PHOENIX_A_ref
#undef BOOST_PHOENIX_A_const_ref
#undef BOOST_PHOENIX_A_ref_a
#undef BOOST_PHOENIX_A_const_ref_a
#undef BOOST_PHOENIX_a
#if BOOST_PHOENIX_IS_ITERATING
#undef PHEONIX_ITERATION
#undef BOOST_PHOENIX_PERM_A
#undef BOOST_PHOENIX_PERM_A_a
#undef BOOST_PHOENIX_M0_R
#undef BOOST_PHOENIX_M0
#undef BOOST_PHOENIX_M1_R_R
#undef BOOST_PHOENIX_M1_R
#undef BOOST_PHOENIX_M1
#undef BOOST_PHOENIX_M2
#undef BOOST_PHOENIX_M3
#undef BOOST_PHOENIX_PERM_SEQ
#undef BOOST_PHOENIX_PERM_SIZE
#undef BOOST_PHOENIX_PERM_ELEM
#endif
@@ -0,0 +1,20 @@
/*==============================================================================
Copyright (c) 2010 Thomas Heller
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 BOOST_PHOENIX_SUPPORT_ITERATE_HPP
#define BOOST_PHOENIX_SUPPORT_ITERATE_HPP
#include <boost/preprocessor/iteration/iterate.hpp>
#define BOOST_PHOENIX_IS_ITERATING 0
#define BOOST_PHOENIX_ITERATE() \
<boost/phoenix/support/detail/iterate.hpp>
#include <boost/phoenix/support/detail/iterate_define.hpp>
#endif
@@ -0,0 +1,25 @@
/*=============================================================================
Copyright (c) 2011 Hartmut Kaiser
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)
==============================================================================*/
#if !defined(BOOST_PHOENIX_PREPROCESSED_SUPPORT_VECTOR_HPP)
#define BOOST_PHOENIX_PREPROCESSED_SUPPORT_VECTOR_HPP
#if BOOST_PHOENIX_LIMIT <= 10
#include <boost/phoenix/support/preprocessed/vector_10.hpp>
#elif BOOST_PHOENIX_LIMIT <= 20
#include <boost/phoenix/support/preprocessed/vector_20.hpp>
#elif BOOST_PHOENIX_LIMIT <= 30
#include <boost/phoenix/support/preprocessed/vector_30.hpp>
#elif BOOST_PHOENIX_LIMIT <= 40
#include <boost/phoenix/support/preprocessed/vector_40.hpp>
#elif BOOST_PHOENIX_LIMIT <= 50
#include <boost/phoenix/support/preprocessed/vector_50.hpp>
#else
#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
#endif
#endif
@@ -0,0 +1,466 @@
/*==============================================================================
Copyright (c) 2005-2010 Joel de Guzman
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
namespace boost { namespace phoenix
{
template <typename Dummy = void>
struct vector0
{
typedef mpl::int_<0> size_type;
static const int size_value = 0;
};
template <int> struct vector_chooser;
template <>
struct vector_chooser<0>
{
template <typename Dummy = void>
struct apply
{
typedef vector0<> type;
};
};
}}
namespace boost { namespace phoenix
{
template <typename A0>
struct vector1
{
typedef A0 member_type0; A0 a0;
typedef mpl::int_<1> size_type;
static const int size_value = 1;
typedef
vector0<>
args_type;
args_type args() const
{
args_type r = {};
return r;
}
};
template <>
struct vector_chooser<1>
{
template <typename A0>
struct apply
{
typedef vector1<A0> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0)
, ( boost::phoenix::vector1 ) (A0)
, (A0, a0)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1>
struct vector2
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
typedef mpl::int_<2> size_type;
static const int size_value = 2;
typedef
vector1<A1>
args_type;
args_type args() const
{
args_type r = {a1};
return r;
}
};
template <>
struct vector_chooser<2>
{
template <typename A0 , typename A1>
struct apply
{
typedef vector2<A0 , A1> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1)
, ( boost::phoenix::vector2 ) (A0) (A1)
, (A0, a0) (A1, a1)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2>
struct vector3
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
typedef mpl::int_<3> size_type;
static const int size_value = 3;
typedef
vector2<A1 , A2>
args_type;
args_type args() const
{
args_type r = {a1 , a2};
return r;
}
};
template <>
struct vector_chooser<3>
{
template <typename A0 , typename A1 , typename A2>
struct apply
{
typedef vector3<A0 , A1 , A2> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2)
, ( boost::phoenix::vector3 ) (A0) (A1) (A2)
, (A0, a0) (A1, a1) (A2, a2)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3>
struct vector4
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
typedef mpl::int_<4> size_type;
static const int size_value = 4;
typedef
vector3<A1 , A2 , A3>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3};
return r;
}
};
template <>
struct vector_chooser<4>
{
template <typename A0 , typename A1 , typename A2 , typename A3>
struct apply
{
typedef vector4<A0 , A1 , A2 , A3> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3)
, ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
struct vector5
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
typedef mpl::int_<5> size_type;
static const int size_value = 5;
typedef
vector4<A1 , A2 , A3 , A4>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4};
return r;
}
};
template <>
struct vector_chooser<5>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
struct apply
{
typedef vector5<A0 , A1 , A2 , A3 , A4> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4)
, ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
struct vector6
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
typedef mpl::int_<6> size_type;
static const int size_value = 6;
typedef
vector5<A1 , A2 , A3 , A4 , A5>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5};
return r;
}
};
template <>
struct vector_chooser<6>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
struct apply
{
typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5)
, ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
struct vector7
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
typedef mpl::int_<7> size_type;
static const int size_value = 7;
typedef
vector6<A1 , A2 , A3 , A4 , A5 , A6>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
return r;
}
};
template <>
struct vector_chooser<7>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
struct apply
{
typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6)
, ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
struct vector8
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
typedef mpl::int_<8> size_type;
static const int size_value = 8;
typedef
vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
return r;
}
};
template <>
struct vector_chooser<8>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
struct apply
{
typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
, ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
struct vector9
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
typedef mpl::int_<9> size_type;
static const int size_value = 9;
typedef
vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
return r;
}
};
template <>
struct vector_chooser<9>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
struct apply
{
typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
, ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
struct vector10
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
typedef mpl::int_<10> size_type;
static const int size_value = 10;
typedef
vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
return r;
}
};
template <>
struct vector_chooser<10>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
struct apply
{
typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
, ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
struct vector11
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
typedef mpl::int_<11> size_type;
static const int size_value = 11;
typedef
vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
return r;
}
};
template <>
struct vector_chooser<11>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
struct apply
{
typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
, ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
)
@@ -0,0 +1,866 @@
/*==============================================================================
Copyright (c) 2005-2010 Joel de Guzman
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
namespace boost { namespace phoenix
{
template <typename Dummy = void>
struct vector0
{
typedef mpl::int_<0> size_type;
static const int size_value = 0;
};
template <int> struct vector_chooser;
template <>
struct vector_chooser<0>
{
template <typename Dummy = void>
struct apply
{
typedef vector0<> type;
};
};
}}
namespace boost { namespace phoenix
{
template <typename A0>
struct vector1
{
typedef A0 member_type0; A0 a0;
typedef mpl::int_<1> size_type;
static const int size_value = 1;
typedef
vector0<>
args_type;
args_type args() const
{
args_type r = {};
return r;
}
};
template <>
struct vector_chooser<1>
{
template <typename A0>
struct apply
{
typedef vector1<A0> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0)
, ( boost::phoenix::vector1 ) (A0)
, (A0, a0)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1>
struct vector2
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
typedef mpl::int_<2> size_type;
static const int size_value = 2;
typedef
vector1<A1>
args_type;
args_type args() const
{
args_type r = {a1};
return r;
}
};
template <>
struct vector_chooser<2>
{
template <typename A0 , typename A1>
struct apply
{
typedef vector2<A0 , A1> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1)
, ( boost::phoenix::vector2 ) (A0) (A1)
, (A0, a0) (A1, a1)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2>
struct vector3
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
typedef mpl::int_<3> size_type;
static const int size_value = 3;
typedef
vector2<A1 , A2>
args_type;
args_type args() const
{
args_type r = {a1 , a2};
return r;
}
};
template <>
struct vector_chooser<3>
{
template <typename A0 , typename A1 , typename A2>
struct apply
{
typedef vector3<A0 , A1 , A2> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2)
, ( boost::phoenix::vector3 ) (A0) (A1) (A2)
, (A0, a0) (A1, a1) (A2, a2)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3>
struct vector4
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
typedef mpl::int_<4> size_type;
static const int size_value = 4;
typedef
vector3<A1 , A2 , A3>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3};
return r;
}
};
template <>
struct vector_chooser<4>
{
template <typename A0 , typename A1 , typename A2 , typename A3>
struct apply
{
typedef vector4<A0 , A1 , A2 , A3> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3)
, ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
struct vector5
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
typedef mpl::int_<5> size_type;
static const int size_value = 5;
typedef
vector4<A1 , A2 , A3 , A4>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4};
return r;
}
};
template <>
struct vector_chooser<5>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
struct apply
{
typedef vector5<A0 , A1 , A2 , A3 , A4> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4)
, ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
struct vector6
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
typedef mpl::int_<6> size_type;
static const int size_value = 6;
typedef
vector5<A1 , A2 , A3 , A4 , A5>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5};
return r;
}
};
template <>
struct vector_chooser<6>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
struct apply
{
typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5)
, ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
struct vector7
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
typedef mpl::int_<7> size_type;
static const int size_value = 7;
typedef
vector6<A1 , A2 , A3 , A4 , A5 , A6>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
return r;
}
};
template <>
struct vector_chooser<7>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
struct apply
{
typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6)
, ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
struct vector8
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
typedef mpl::int_<8> size_type;
static const int size_value = 8;
typedef
vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
return r;
}
};
template <>
struct vector_chooser<8>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
struct apply
{
typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
, ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
struct vector9
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
typedef mpl::int_<9> size_type;
static const int size_value = 9;
typedef
vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
return r;
}
};
template <>
struct vector_chooser<9>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
struct apply
{
typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
, ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
struct vector10
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
typedef mpl::int_<10> size_type;
static const int size_value = 10;
typedef
vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
return r;
}
};
template <>
struct vector_chooser<10>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
struct apply
{
typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
, ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
struct vector11
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
typedef mpl::int_<11> size_type;
static const int size_value = 11;
typedef
vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
return r;
}
};
template <>
struct vector_chooser<11>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
struct apply
{
typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
, ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
struct vector12
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11;
typedef mpl::int_<12> size_type;
static const int size_value = 12;
typedef
vector11<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
return r;
}
};
template <>
struct vector_chooser<12>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
struct apply
{
typedef vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
, ( boost::phoenix::vector12 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
struct vector13
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12;
typedef mpl::int_<13> size_type;
static const int size_value = 13;
typedef
vector12<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
return r;
}
};
template <>
struct vector_chooser<13>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
struct apply
{
typedef vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
, ( boost::phoenix::vector13 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
struct vector14
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13;
typedef mpl::int_<14> size_type;
static const int size_value = 14;
typedef
vector13<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
return r;
}
};
template <>
struct vector_chooser<14>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
struct apply
{
typedef vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
, ( boost::phoenix::vector14 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
struct vector15
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14;
typedef mpl::int_<15> size_type;
static const int size_value = 15;
typedef
vector14<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
return r;
}
};
template <>
struct vector_chooser<15>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
struct apply
{
typedef vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
, ( boost::phoenix::vector15 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
struct vector16
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15;
typedef mpl::int_<16> size_type;
static const int size_value = 16;
typedef
vector15<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
return r;
}
};
template <>
struct vector_chooser<16>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
struct apply
{
typedef vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
, ( boost::phoenix::vector16 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
struct vector17
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16;
typedef mpl::int_<17> size_type;
static const int size_value = 17;
typedef
vector16<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
return r;
}
};
template <>
struct vector_chooser<17>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
struct apply
{
typedef vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
, ( boost::phoenix::vector17 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
struct vector18
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17;
typedef mpl::int_<18> size_type;
static const int size_value = 18;
typedef
vector17<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
return r;
}
};
template <>
struct vector_chooser<18>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
struct apply
{
typedef vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
, ( boost::phoenix::vector18 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
struct vector19
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18;
typedef mpl::int_<19> size_type;
static const int size_value = 19;
typedef
vector18<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
return r;
}
};
template <>
struct vector_chooser<19>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
struct apply
{
typedef vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
, ( boost::phoenix::vector19 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
struct vector20
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19;
typedef mpl::int_<20> size_type;
static const int size_value = 20;
typedef
vector19<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
return r;
}
};
template <>
struct vector_chooser<20>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
struct apply
{
typedef vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
, ( boost::phoenix::vector20 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19)
)
namespace boost { namespace phoenix
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
struct vector21
{
typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20;
typedef mpl::int_<21> size_type;
static const int size_value = 21;
typedef
vector20<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
args_type;
args_type args() const
{
args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
return r;
}
};
template <>
struct vector_chooser<21>
{
template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
struct apply
{
typedef vector21<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> type;
};
};
}}
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
(A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
, ( boost::phoenix::vector21 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
, (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20)
)
@@ -0,0 +1,71 @@
/*=============================================================================
Copyright (c) 2011 Thomas Heller
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 BOOST_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
#define BOOST_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/control/if.hpp>
#define BOOST_PHOENIX_PP_ROUND_UP(N) \
BOOST_PP_CAT(BOOST_PHOENIX_PP_DO_ROUND_UP_, N)() \
/**/
#define BOOST_PHOENIX_PP_DO_ROUND_UP_0() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_1() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_2() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_3() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_4() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_5() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_6() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_7() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_8() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_9() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_10() 10
#define BOOST_PHOENIX_PP_DO_ROUND_UP_11() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_12() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_13() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_14() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_15() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_16() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_17() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_18() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_19() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_20() 20
#define BOOST_PHOENIX_PP_DO_ROUND_UP_21() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_22() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_23() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_24() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_25() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_26() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_27() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_28() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_29() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_30() 30
#define BOOST_PHOENIX_PP_DO_ROUND_UP_31() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_32() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_33() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_34() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_35() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_36() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_37() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_38() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_39() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_40() 40
#define BOOST_PHOENIX_PP_DO_ROUND_UP_41() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_42() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_43() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_44() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_45() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_46() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_47() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_48() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_49() 50
#define BOOST_PHOENIX_PP_DO_ROUND_UP_50() 50
#endif
@@ -0,0 +1,166 @@
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable: 4512) // assignment operator could not be generated
#pragma warning(disable: 4510) // default constructor could not be generated
#pragma warning(disable: 4610) // can never be instantiated - user defined constructor required
#endif
#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
#ifndef BOOST_PHOENIX_SUPPORT_VECTOR_HPP
#define BOOST_PHOENIX_SUPPORT_VECTOR_HPP
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#define BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL BOOST_FUSION_ADAPT_TPL_STRUCT
#include <boost/phoenix/support/preprocessed/vector.hpp>
#endif
#else
#if !BOOST_PHOENIX_IS_ITERATING
#ifndef BOOST_PHOENIX_SUPPORT_VECTOR_HPP
#define BOOST_PHOENIX_SUPPORT_VECTOR_HPP
#include <boost/phoenix/core/limits.hpp>
#include <boost/phoenix/support/iterate.hpp>
#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#define BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL BOOST_FUSION_ADAPT_TPL_STRUCT
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_" BOOST_PHOENIX_LIMIT_STR ".hpp")
#endif
/*==============================================================================
Copyright (c) 2005-2010 Joel de Guzman
Copyright (c) 2010 Thomas Heller
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)
==============================================================================*/
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
#pragma wave option(preserve: 1)
#endif
#define M0(Z, N, D) \
typedef BOOST_PP_CAT(A, N) BOOST_PP_CAT(member_type, N); \
BOOST_PP_CAT(A, N) BOOST_PP_CAT(a, N); \
/**/
#define M1(Z, N, D) \
(BOOST_PP_CAT(A, N)) \
/**/
#define M2(Z, N, D) \
(BOOST_PP_CAT(T, N)) \
/**/
#define M3(Z, N, D) \
(BOOST_PP_CAT(A, N), BOOST_PP_CAT(a, N)) \
/**/
namespace boost { namespace phoenix
{
template <typename Dummy = void>
struct vector0
{
typedef mpl::int_<0> size_type;
static const int size_value = 0;
};
template <int> struct vector_chooser;
template <>
struct vector_chooser<0>
{
template <typename Dummy = void>
struct apply
{
typedef vector0<> type;
};
};
}}
#define BOOST_PHOENIX_ITERATION_PARAMS \
(3, (1, BOOST_PP_INC(BOOST_PHOENIX_LIMIT), \
<boost/phoenix/support/vector.hpp>))
#include BOOST_PHOENIX_ITERATE()
#undef M0
#undef M1
#undef M2
#undef M3
#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
#pragma wave option(output: null)
#endif
#endif
#else
namespace boost { namespace phoenix
{
template <BOOST_PHOENIX_typename_A>
struct BOOST_PP_CAT(vector, BOOST_PHOENIX_ITERATION)
{
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M0, _)
typedef mpl::int_<BOOST_PHOENIX_ITERATION> size_type;
static const int size_value = BOOST_PHOENIX_ITERATION;
typedef
BOOST_PP_CAT(vector, BOOST_PP_DEC(BOOST_PHOENIX_ITERATION))<BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PHOENIX_ITERATION, A)>
args_type;
args_type args() const
{
args_type r = {BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PHOENIX_ITERATION, a)};
return r;
}
};
template <>
struct vector_chooser<BOOST_PHOENIX_ITERATION>
{
template <BOOST_PHOENIX_typename_A>
struct apply
{
typedef BOOST_PP_CAT(vector, BOOST_PHOENIX_ITERATION)<BOOST_PHOENIX_A> type;
};
};
}}
#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM0 \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _) \
/**/
#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM1 \
( \
BOOST_PP_CAT( \
boost::phoenix::vector \
, BOOST_PHOENIX_ITERATION \
) \
) \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _) \
/**/
#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM2 \
BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M3, _) \
/**/
BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM0
, BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM1
, BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM2
)
#endif
#endif
#ifdef BOOST_MSVC
#pragma warning(pop)
#endif