stabilize build system: depends, installer, boost/bdb fixes, cross targets groundwork
This commit is contained in:
@@ -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)
|
||||
)
|
||||
+1266
File diff suppressed because it is too large
Load Diff
+1666
File diff suppressed because it is too large
Load Diff
+2066
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
Reference in New Issue
Block a user