summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-06-01 08:48:42 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-06-01 09:24:28 (GMT)
commit2812bddd81f8a1b804c7460f4e14cd0aa393d129 (patch)
treed46294f35150c4f0f43deaf2d31fceaf945ae715 /3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps
downloadswift-2812bddd81f8a1b804c7460f4e14cd0aa393d129.zip
swift-2812bddd81f8a1b804c7460f4e14cd0aa393d129.tar.bz2
Import.
Diffstat (limited to '3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps')
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp1528
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp149
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp1804
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp195
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp2124
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp238
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp2444
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp281
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp2764
-rw-r--r--3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp325
10 files changed, 11852 insertions, 0 deletions
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
new file mode 100644
index 0000000..c79a1ac
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
@@ -0,0 +1,1528 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+namespace aux {
+template<> struct v_at_impl<0>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item0 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<0> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<0> >
+{
+ template< typename Vector > struct apply
+ : long_<0>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<0> >
+ : size_impl< aux::vector_tag<0> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<0> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0
+ >
+struct vector1
+{
+ typedef aux::vector_tag<1> tag;
+ typedef vector1 type;
+ typedef T0 item0;
+ typedef void_ item1;
+ typedef T0 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,1 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<0> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector1<
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<
+
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<0> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector1<
+
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<
+
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<1>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item1 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<1> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ : long_<1>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<1> >
+ : size_impl< aux::vector_tag<1> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<1> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1
+ >
+struct vector2
+{
+ typedef aux::vector_tag<2> tag;
+ typedef vector2 type;
+ typedef T0 item0;
+ typedef T1 item1;
+
+
+ typedef void_ item2;
+ typedef T1 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,2 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<1> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector2<
+ T
+ ,
+ typename Vector::item0
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector1<
+ typename Vector::item1
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<1> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector2<
+ typename Vector::item0
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector1<
+ typename Vector::item0
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<2>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item2 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<2> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ : long_<2>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<2> >
+ : size_impl< aux::vector_tag<2> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<2> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2
+ >
+struct vector3
+{
+ typedef aux::vector_tag<3> tag;
+ typedef vector3 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+
+
+ typedef void_ item3;
+ typedef T2 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,3 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<2> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector3<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector2<
+ typename Vector::item1, typename Vector::item2
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<2> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector3<
+ typename Vector::item0, typename Vector::item1
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector2<
+ typename Vector::item0, typename Vector::item1
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<3>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item3 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<3> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ : long_<3>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<3> >
+ : size_impl< aux::vector_tag<3> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<3> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3
+ >
+struct vector4
+{
+ typedef aux::vector_tag<4> tag;
+ typedef vector4 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+
+
+ typedef void_ item4;
+ typedef T3 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,4 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<3> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector4<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector3<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<3> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector4<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector3<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<4>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item4 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<4> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ : long_<4>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<4> >
+ : size_impl< aux::vector_tag<4> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<4> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ >
+struct vector5
+{
+ typedef aux::vector_tag<5> tag;
+ typedef vector5 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+
+
+ typedef void_ item5;
+ typedef T4 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,5 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<4> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector5<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector4<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<4> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector5<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector4<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<5>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item5 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<5> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ : long_<5>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<5> >
+ : size_impl< aux::vector_tag<5> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<5> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5
+ >
+struct vector6
+{
+ typedef aux::vector_tag<6> tag;
+ typedef vector6 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+
+
+ typedef void_ item6;
+ typedef T5 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,6 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<5> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector6<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector5<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<5> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector6<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector5<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<6>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item6 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<6> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ : long_<6>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<6> >
+ : size_impl< aux::vector_tag<6> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<6> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6
+ >
+struct vector7
+{
+ typedef aux::vector_tag<7> tag;
+ typedef vector7 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+
+
+ typedef void_ item7;
+ typedef T6 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,7 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<6> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector7<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector6<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<6> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector7<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector6<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<7>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item7 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<7> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ : long_<7>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<7> >
+ : size_impl< aux::vector_tag<7> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<7> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7
+ >
+struct vector8
+{
+ typedef aux::vector_tag<8> tag;
+ typedef vector8 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+
+
+ typedef void_ item8;
+ typedef T7 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,8 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<7> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector8<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector7<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<7> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector8<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector7<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<8>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item8 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<8> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ : long_<8>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<8> >
+ : size_impl< aux::vector_tag<8> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<8> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8
+ >
+struct vector9
+{
+ typedef aux::vector_tag<9> tag;
+ typedef vector9 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+
+
+ typedef void_ item9;
+ typedef T8 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,9 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<8> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector9<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector8<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<8> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector9<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector8<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<9>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item9 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<9> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ : long_<9>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<9> >
+ : size_impl< aux::vector_tag<9> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<9> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ >
+struct vector10
+{
+ typedef aux::vector_tag<10> tag;
+ typedef vector10 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+
+
+ typedef void_ item10;
+ typedef T9 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,10 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<9> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector10<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector9<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<9> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector10<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector9<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<10>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item10 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<10> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ : long_<10>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<10> >
+ : size_impl< aux::vector_tag<10> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<10> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
new file mode 100644
index 0000000..8b36f6a
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
@@ -0,0 +1,149 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0
+ >
+struct vector1_c
+ : vector1< integral_c< T,C0 > >
+{
+ typedef vector1_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1
+ >
+struct vector2_c
+ : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
+{
+ typedef vector2_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2
+ >
+struct vector3_c
+ : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
+{
+ typedef vector3_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3
+ >
+struct vector4_c
+ : vector4<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T
+ , C3>
+ >
+{
+ typedef vector4_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4
+ >
+struct vector5_c
+ : vector5<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >
+ >
+{
+ typedef vector5_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5
+ >
+struct vector6_c
+ : vector6<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >
+ >
+{
+ typedef vector6_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6
+ >
+struct vector7_c
+ : vector7<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T
+ , C6>
+ >
+{
+ typedef vector7_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
+ >
+struct vector8_c
+ : vector8<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >
+ >
+{
+ typedef vector8_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
+ >
+struct vector9_c
+ : vector9<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >
+ >
+{
+ typedef vector9_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
+ >
+struct vector10_c
+ : vector10<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ >
+{
+ typedef vector10_c type;
+ typedef T value_type;
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
new file mode 100644
index 0000000..eb92a78
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
@@ -0,0 +1,1804 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10
+ >
+struct vector11
+{
+ typedef aux::vector_tag<11> tag;
+ typedef vector11 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+
+
+ typedef void_ item11;
+ typedef T10 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,11 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<10> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector11<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector10<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<10> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector11<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector10<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<11>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item11 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<11> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ : long_<11>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<11> >
+ : size_impl< aux::vector_tag<11> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<11> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11
+ >
+struct vector12
+{
+ typedef aux::vector_tag<12> tag;
+ typedef vector12 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+
+
+ typedef void_ item12;
+ typedef T11 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,12 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<11> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector12<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector11<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<11> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector12<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector11<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<12>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item12 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<12> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ : long_<12>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<12> >
+ : size_impl< aux::vector_tag<12> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<12> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12
+ >
+struct vector13
+{
+ typedef aux::vector_tag<13> tag;
+ typedef vector13 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+
+
+ typedef void_ item13;
+ typedef T12 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,13 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<12> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector13<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector12<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<12> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector13<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector12<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<13>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item13 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<13> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ : long_<13>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<13> >
+ : size_impl< aux::vector_tag<13> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<13> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13
+ >
+struct vector14
+{
+ typedef aux::vector_tag<14> tag;
+ typedef vector14 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+
+
+ typedef void_ item14;
+ typedef T13 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,14 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<13> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector14<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector13<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<13> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector14<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector13<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<14>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item14 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<14> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ : long_<14>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<14> >
+ : size_impl< aux::vector_tag<14> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<14> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ >
+struct vector15
+{
+ typedef aux::vector_tag<15> tag;
+ typedef vector15 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+
+
+ typedef void_ item15;
+ typedef T14 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,15 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<14> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector15<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector14<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<14> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector15<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector14<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<15>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item15 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<15> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ : long_<15>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<15> >
+ : size_impl< aux::vector_tag<15> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<15> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15
+ >
+struct vector16
+{
+ typedef aux::vector_tag<16> tag;
+ typedef vector16 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+
+
+ typedef void_ item16;
+ typedef T15 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,16 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<15> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector16<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector15<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<15> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector16<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector15<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<16>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item16 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<16> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ : long_<16>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<16> >
+ : size_impl< aux::vector_tag<16> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<16> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16
+ >
+struct vector17
+{
+ typedef aux::vector_tag<17> tag;
+ typedef vector17 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+
+
+ typedef void_ item17;
+ typedef T16 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,17 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<16> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector17<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector16<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<16> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector17<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector16<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<17>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item17 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<17> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ : long_<17>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<17> >
+ : size_impl< aux::vector_tag<17> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<17> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17
+ >
+struct vector18
+{
+ typedef aux::vector_tag<18> tag;
+ typedef vector18 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+
+
+ typedef void_ item18;
+ typedef T17 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,18 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<17> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector18<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector17<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<17> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector18<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector17<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<18>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item18 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<18> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ : long_<18>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<18> >
+ : size_impl< aux::vector_tag<18> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<18> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18
+ >
+struct vector19
+{
+ typedef aux::vector_tag<19> tag;
+ typedef vector19 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+
+
+ typedef void_ item19;
+ typedef T18 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,19 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<18> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector19<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector18<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<18> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector19<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector18<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<19>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item19 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<19> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ : long_<19>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<19> >
+ : size_impl< aux::vector_tag<19> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<19> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ >
+struct vector20
+{
+ typedef aux::vector_tag<20> tag;
+ typedef vector20 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+
+
+ typedef void_ item20;
+ typedef T19 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,20 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<19> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector20<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector19<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<19> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector20<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector19<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<20>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item20 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<20> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ : long_<20>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<20> >
+ : size_impl< aux::vector_tag<20> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<20> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
new file mode 100644
index 0000000..56ca53f
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
@@ -0,0 +1,195 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ >
+struct vector11_c
+ : vector11<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T
+ , C10>
+ >
+{
+ typedef vector11_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11
+ >
+struct vector12_c
+ : vector12<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >
+ >
+{
+ typedef vector12_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12
+ >
+struct vector13_c
+ : vector13<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ >
+{
+ typedef vector13_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13
+ >
+struct vector14_c
+ : vector14<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T
+ , C13>
+ >
+{
+ typedef vector14_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14
+ >
+struct vector15_c
+ : vector15<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >
+ >
+{
+ typedef vector15_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15
+ >
+struct vector16_c
+ : vector16<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ >
+{
+ typedef vector16_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16
+ >
+struct vector17_c
+ : vector17<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T
+ , C16>
+ >
+{
+ typedef vector17_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17
+ >
+struct vector18_c
+ : vector18<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >
+ >
+{
+ typedef vector18_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
+ >
+struct vector19_c
+ : vector19<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ >
+{
+ typedef vector19_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
+ >
+struct vector20_c
+ : vector20<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T
+ , C19>
+ >
+{
+ typedef vector20_c type;
+ typedef T value_type;
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
new file mode 100644
index 0000000..a685019
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
@@ -0,0 +1,2124 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20
+ >
+struct vector21
+{
+ typedef aux::vector_tag<21> tag;
+ typedef vector21 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+
+
+ typedef void_ item21;
+ typedef T20 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,21 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<20> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector21<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector20<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<20> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector21<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector20<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<21>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item21 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<21> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ : long_<21>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<21> >
+ : size_impl< aux::vector_tag<21> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<21> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21
+ >
+struct vector22
+{
+ typedef aux::vector_tag<22> tag;
+ typedef vector22 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+
+
+ typedef void_ item22;
+ typedef T21 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,22 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<21> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector22<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector21<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<21> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector22<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector21<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<22>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item22 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<22> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ : long_<22>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<22> >
+ : size_impl< aux::vector_tag<22> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<22> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22
+ >
+struct vector23
+{
+ typedef aux::vector_tag<23> tag;
+ typedef vector23 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+
+
+ typedef void_ item23;
+ typedef T22 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,23 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<22> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector23<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector22<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<22> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector23<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector22<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<23>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item23 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<23> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ : long_<23>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<23> >
+ : size_impl< aux::vector_tag<23> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<23> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23
+ >
+struct vector24
+{
+ typedef aux::vector_tag<24> tag;
+ typedef vector24 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+
+
+ typedef void_ item24;
+ typedef T23 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,24 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<23> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector24<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector23<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<23> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector24<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector23<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<24>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item24 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<24> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ : long_<24>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<24> >
+ : size_impl< aux::vector_tag<24> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<24> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ >
+struct vector25
+{
+ typedef aux::vector_tag<25> tag;
+ typedef vector25 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+
+
+ typedef void_ item25;
+ typedef T24 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,25 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<24> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector25<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector24<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<24> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector25<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector24<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<25>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item25 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<25> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ : long_<25>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<25> >
+ : size_impl< aux::vector_tag<25> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<25> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25
+ >
+struct vector26
+{
+ typedef aux::vector_tag<26> tag;
+ typedef vector26 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+
+
+ typedef void_ item26;
+ typedef T25 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,26 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<25> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector26<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector25<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<25> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector26<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector25<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<26>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item26 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<26> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ : long_<26>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<26> >
+ : size_impl< aux::vector_tag<26> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<26> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26
+ >
+struct vector27
+{
+ typedef aux::vector_tag<27> tag;
+ typedef vector27 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+
+
+ typedef void_ item27;
+ typedef T26 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,27 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<26> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector27<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector26<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<26> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector27<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector26<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<27>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item27 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<27> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ : long_<27>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<27> >
+ : size_impl< aux::vector_tag<27> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<27> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27
+ >
+struct vector28
+{
+ typedef aux::vector_tag<28> tag;
+ typedef vector28 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+
+
+ typedef void_ item28;
+ typedef T27 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,28 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<27> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector28<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector27<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<27> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector28<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector27<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<28>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item28 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<28> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ : long_<28>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<28> >
+ : size_impl< aux::vector_tag<28> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<28> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28
+ >
+struct vector29
+{
+ typedef aux::vector_tag<29> tag;
+ typedef vector29 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+
+
+ typedef void_ item29;
+ typedef T28 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,29 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<28> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector29<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector28<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<28> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector29<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector28<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<29>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item29 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<29> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ : long_<29>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<29> >
+ : size_impl< aux::vector_tag<29> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<29> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ >
+struct vector30
+{
+ typedef aux::vector_tag<30> tag;
+ typedef vector30 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+
+
+ typedef void_ item30;
+ typedef T29 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,30 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<29> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector30<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector29<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<29> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector30<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector29<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<30>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item30 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<30> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ : long_<30>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<30> >
+ : size_impl< aux::vector_tag<30> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<30> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
new file mode 100644
index 0000000..6251dbc
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
@@ -0,0 +1,238 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ >
+struct vector21_c
+ : vector21<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >
+ >
+{
+ typedef vector21_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21
+ >
+struct vector22_c
+ : vector22<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ >
+{
+ typedef vector22_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22
+ >
+struct vector23_c
+ : vector23<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T
+ , C22>
+ >
+{
+ typedef vector23_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23
+ >
+struct vector24_c
+ : vector24<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >
+ >
+{
+ typedef vector24_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24
+ >
+struct vector25_c
+ : vector25<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ >
+{
+ typedef vector25_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25
+ >
+struct vector26_c
+ : vector26<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T
+ , C25>
+ >
+{
+ typedef vector26_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26
+ >
+struct vector27_c
+ : vector27<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >
+ >
+{
+ typedef vector27_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27
+ >
+struct vector28_c
+ : vector28<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ >
+{
+ typedef vector28_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
+ >
+struct vector29_c
+ : vector29<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T
+ , C28>
+ >
+{
+ typedef vector29_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
+ >
+struct vector30_c
+ : vector30<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >
+ >
+{
+ typedef vector30_c type;
+ typedef T value_type;
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
new file mode 100644
index 0000000..1ed648a
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
@@ -0,0 +1,2444 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30
+ >
+struct vector31
+{
+ typedef aux::vector_tag<31> tag;
+ typedef vector31 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+
+
+ typedef void_ item31;
+ typedef T30 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,31 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<30> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector31<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector30<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<30> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector31<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector30<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<31>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item31 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<31> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ : long_<31>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<31> >
+ : size_impl< aux::vector_tag<31> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<31> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31
+ >
+struct vector32
+{
+ typedef aux::vector_tag<32> tag;
+ typedef vector32 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+
+
+ typedef void_ item32;
+ typedef T31 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,32 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<31> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector32<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector31<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<31> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector32<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector31<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<32>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item32 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<32> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ : long_<32>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<32> >
+ : size_impl< aux::vector_tag<32> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<32> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32
+ >
+struct vector33
+{
+ typedef aux::vector_tag<33> tag;
+ typedef vector33 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+
+
+ typedef void_ item33;
+ typedef T32 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,33 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<32> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector33<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector32<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<32> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector33<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector32<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<33>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item33 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<33> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ : long_<33>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<33> >
+ : size_impl< aux::vector_tag<33> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<33> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33
+ >
+struct vector34
+{
+ typedef aux::vector_tag<34> tag;
+ typedef vector34 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+
+
+ typedef void_ item34;
+ typedef T33 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,34 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<33> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector34<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector33<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<33> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector34<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector33<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<34>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item34 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<34> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ : long_<34>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<34> >
+ : size_impl< aux::vector_tag<34> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<34> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ >
+struct vector35
+{
+ typedef aux::vector_tag<35> tag;
+ typedef vector35 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+
+
+ typedef void_ item35;
+ typedef T34 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,35 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<34> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector35<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector34<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<34> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector35<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector34<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<35>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item35 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<35> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ : long_<35>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<35> >
+ : size_impl< aux::vector_tag<35> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<35> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35
+ >
+struct vector36
+{
+ typedef aux::vector_tag<36> tag;
+ typedef vector36 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+
+
+ typedef void_ item36;
+ typedef T35 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,36 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<35> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector36<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector35<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<35> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector36<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector35<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<36>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item36 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<36> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ : long_<36>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<36> >
+ : size_impl< aux::vector_tag<36> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<36> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36
+ >
+struct vector37
+{
+ typedef aux::vector_tag<37> tag;
+ typedef vector37 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+
+
+ typedef void_ item37;
+ typedef T36 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,37 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<36> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector37<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector36<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<36> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector37<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector36<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<37>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item37 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<37> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ : long_<37>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<37> >
+ : size_impl< aux::vector_tag<37> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<37> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37
+ >
+struct vector38
+{
+ typedef aux::vector_tag<38> tag;
+ typedef vector38 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+
+
+ typedef void_ item38;
+ typedef T37 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,38 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<37> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector38<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector37<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<37> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector38<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector37<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<38>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item38 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<38> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ : long_<38>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<38> >
+ : size_impl< aux::vector_tag<38> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<38> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38
+ >
+struct vector39
+{
+ typedef aux::vector_tag<39> tag;
+ typedef vector39 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+
+
+ typedef void_ item39;
+ typedef T38 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,39 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<38> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector39<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector38<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<38> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector39<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector38<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<39>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item39 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<39> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ : long_<39>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<39> >
+ : size_impl< aux::vector_tag<39> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<39> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ >
+struct vector40
+{
+ typedef aux::vector_tag<40> tag;
+ typedef vector40 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+
+
+ typedef void_ item40;
+ typedef T39 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,40 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<39> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector40<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector39<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<39> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector40<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector39<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<40>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item40 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<40> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ : long_<40>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<40> >
+ : size_impl< aux::vector_tag<40> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<40> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
new file mode 100644
index 0000000..ba0ffa8
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
@@ -0,0 +1,281 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ >
+struct vector31_c
+ : vector31<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ >
+{
+ typedef vector31_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31
+ >
+struct vector32_c
+ : vector32<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T
+ , C31>
+ >
+{
+ typedef vector32_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32
+ >
+struct vector33_c
+ : vector33<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >
+ >
+{
+ typedef vector33_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33
+ >
+struct vector34_c
+ : vector34<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ >
+{
+ typedef vector34_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34
+ >
+struct vector35_c
+ : vector35<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T
+ , C34>
+ >
+{
+ typedef vector35_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35
+ >
+struct vector36_c
+ : vector36<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >
+ >
+{
+ typedef vector36_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36
+ >
+struct vector37_c
+ : vector37<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ >
+{
+ typedef vector37_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37
+ >
+struct vector38_c
+ : vector38<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T
+ , C37>
+ >
+{
+ typedef vector38_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
+ >
+struct vector39_c
+ : vector39<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >
+ >
+{
+ typedef vector39_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
+ >
+struct vector40_c
+ : vector40<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ >
+{
+ typedef vector40_c type;
+ typedef T value_type;
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
new file mode 100644
index 0000000..3da323a
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
@@ -0,0 +1,2764 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40
+ >
+struct vector41
+{
+ typedef aux::vector_tag<41> tag;
+ typedef vector41 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+
+
+ typedef void_ item41;
+ typedef T40 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,41 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<40> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector41<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector40<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<40> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector41<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector40<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<41>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item41 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<41> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ : long_<41>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<41> >
+ : size_impl< aux::vector_tag<41> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<41> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41
+ >
+struct vector42
+{
+ typedef aux::vector_tag<42> tag;
+ typedef vector42 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+
+
+ typedef void_ item42;
+ typedef T41 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,42 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<41> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector42<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector41<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<41> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector42<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector41<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<42>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item42 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<42> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ : long_<42>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<42> >
+ : size_impl< aux::vector_tag<42> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<42> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42
+ >
+struct vector43
+{
+ typedef aux::vector_tag<43> tag;
+ typedef vector43 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+
+
+ typedef void_ item43;
+ typedef T42 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,43 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<42> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector43<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector42<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<42> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector43<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector42<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<43>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item43 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<43> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ : long_<43>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<43> >
+ : size_impl< aux::vector_tag<43> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<43> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43
+ >
+struct vector44
+{
+ typedef aux::vector_tag<44> tag;
+ typedef vector44 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+
+
+ typedef void_ item44;
+ typedef T43 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,44 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<43> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector44<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector43<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<43> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector44<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector43<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<44>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item44 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<44> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ : long_<44>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<44> >
+ : size_impl< aux::vector_tag<44> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<44> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ >
+struct vector45
+{
+ typedef aux::vector_tag<45> tag;
+ typedef vector45 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+
+
+ typedef void_ item45;
+ typedef T44 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,45 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<44> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector45<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector44<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<44> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector45<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector44<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<45>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item45 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<45> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ : long_<45>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<45> >
+ : size_impl< aux::vector_tag<45> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<45> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45
+ >
+struct vector46
+{
+ typedef aux::vector_tag<46> tag;
+ typedef vector46 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+ typedef T45 item45;
+
+
+ typedef void_ item46;
+ typedef T45 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,46 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<45> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector46<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector45<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ , typename Vector::item45
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<45> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector46<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector45<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<46>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item46 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<46> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ : long_<46>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<46> >
+ : size_impl< aux::vector_tag<46> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<46> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46
+ >
+struct vector47
+{
+ typedef aux::vector_tag<47> tag;
+ typedef vector47 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+ typedef T45 item45;
+ typedef T46 item46;
+
+
+ typedef void_ item47;
+ typedef T46 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,47 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<46> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector47<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector46<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ , typename Vector::item45, typename Vector::item46
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<46> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector47<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector46<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<47>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item47 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<47> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ : long_<47>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<47> >
+ : size_impl< aux::vector_tag<47> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<47> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47
+ >
+struct vector48
+{
+ typedef aux::vector_tag<48> tag;
+ typedef vector48 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+ typedef T45 item45;
+ typedef T46 item46;
+ typedef T47 item47;
+
+
+ typedef void_ item48;
+ typedef T47 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,48 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<47> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector48<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector47<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ , typename Vector::item45, typename Vector::item46
+ , typename Vector::item47
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<47> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector48<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector47<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<48>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item48 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<48> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ : long_<48>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<48> >
+ : size_impl< aux::vector_tag<48> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<48> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47, typename T48
+ >
+struct vector49
+{
+ typedef aux::vector_tag<49> tag;
+ typedef vector49 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+ typedef T45 item45;
+ typedef T46 item46;
+ typedef T47 item47;
+ typedef T48 item48;
+
+
+ typedef void_ item49;
+ typedef T48 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,49 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<48> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector49<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector48<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ , typename Vector::item45, typename Vector::item46
+ , typename Vector::item47, typename Vector::item48
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<48> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector49<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector48<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<49>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item49 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<49> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ : long_<49>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<49> >
+ : size_impl< aux::vector_tag<49> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<49> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+template<
+ typename T0, typename T1, typename T2, typename T3, typename T4
+ , typename T5, typename T6, typename T7, typename T8, typename T9
+ , typename T10, typename T11, typename T12, typename T13, typename T14
+ , typename T15, typename T16, typename T17, typename T18, typename T19
+ , typename T20, typename T21, typename T22, typename T23, typename T24
+ , typename T25, typename T26, typename T27, typename T28, typename T29
+ , typename T30, typename T31, typename T32, typename T33, typename T34
+ , typename T35, typename T36, typename T37, typename T38, typename T39
+ , typename T40, typename T41, typename T42, typename T43, typename T44
+ , typename T45, typename T46, typename T47, typename T48, typename T49
+ >
+struct vector50
+{
+ typedef aux::vector_tag<50> tag;
+ typedef vector50 type;
+ typedef T0 item0;
+ typedef T1 item1;
+ typedef T2 item2;
+ typedef T3 item3;
+ typedef T4 item4;
+ typedef T5 item5;
+ typedef T6 item6;
+ typedef T7 item7;
+ typedef T8 item8;
+ typedef T9 item9;
+ typedef T10 item10;
+ typedef T11 item11;
+ typedef T12 item12;
+ typedef T13 item13;
+ typedef T14 item14;
+ typedef T15 item15;
+ typedef T16 item16;
+ typedef T17 item17;
+ typedef T18 item18;
+ typedef T19 item19;
+ typedef T20 item20;
+ typedef T21 item21;
+ typedef T22 item22;
+ typedef T23 item23;
+ typedef T24 item24;
+ typedef T25 item25;
+ typedef T26 item26;
+ typedef T27 item27;
+ typedef T28 item28;
+ typedef T29 item29;
+ typedef T30 item30;
+ typedef T31 item31;
+ typedef T32 item32;
+ typedef T33 item33;
+ typedef T34 item34;
+ typedef T35 item35;
+ typedef T36 item36;
+ typedef T37 item37;
+ typedef T38 item38;
+ typedef T39 item39;
+ typedef T40 item40;
+ typedef T41 item41;
+ typedef T42 item42;
+ typedef T43 item43;
+ typedef T44 item44;
+ typedef T45 item45;
+ typedef T46 item46;
+ typedef T47 item47;
+ typedef T48 item48;
+ typedef T49 item49;
+
+
+ typedef void_ item50;
+ typedef T49 back;
+ typedef v_iter< type,0 > begin;
+ typedef v_iter< type,50 > end;
+};
+
+template<>
+struct push_front_impl< aux::vector_tag<49> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector50<
+ T
+ ,
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ , typename Vector::item48
+ > type;
+ };
+};
+
+template<>
+struct pop_front_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector49<
+ typename Vector::item1, typename Vector::item2
+ , typename Vector::item3, typename Vector::item4
+ , typename Vector::item5, typename Vector::item6
+ , typename Vector::item7, typename Vector::item8
+ , typename Vector::item9, typename Vector::item10
+ , typename Vector::item11, typename Vector::item12
+ , typename Vector::item13, typename Vector::item14
+ , typename Vector::item15, typename Vector::item16
+ , typename Vector::item17, typename Vector::item18
+ , typename Vector::item19, typename Vector::item20
+ , typename Vector::item21, typename Vector::item22
+ , typename Vector::item23, typename Vector::item24
+ , typename Vector::item25, typename Vector::item26
+ , typename Vector::item27, typename Vector::item28
+ , typename Vector::item29, typename Vector::item30
+ , typename Vector::item31, typename Vector::item32
+ , typename Vector::item33, typename Vector::item34
+ , typename Vector::item35, typename Vector::item36
+ , typename Vector::item37, typename Vector::item38
+ , typename Vector::item39, typename Vector::item40
+ , typename Vector::item41, typename Vector::item42
+ , typename Vector::item43, typename Vector::item44
+ , typename Vector::item45, typename Vector::item46
+ , typename Vector::item47, typename Vector::item48
+ , typename Vector::item49
+ > type;
+ };
+};
+
+template<>
+struct push_back_impl< aux::vector_tag<49> >
+{
+ template< typename Vector, typename T > struct apply
+ {
+ typedef vector50<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ , typename Vector::item48
+ ,
+ T
+ > type;
+ };
+};
+
+template<>
+struct pop_back_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector49<
+ typename Vector::item0, typename Vector::item1
+ , typename Vector::item2, typename Vector::item3
+ , typename Vector::item4, typename Vector::item5
+ , typename Vector::item6, typename Vector::item7
+ , typename Vector::item8, typename Vector::item9
+ , typename Vector::item10, typename Vector::item11
+ , typename Vector::item12, typename Vector::item13
+ , typename Vector::item14, typename Vector::item15
+ , typename Vector::item16, typename Vector::item17
+ , typename Vector::item18, typename Vector::item19
+ , typename Vector::item20, typename Vector::item21
+ , typename Vector::item22, typename Vector::item23
+ , typename Vector::item24, typename Vector::item25
+ , typename Vector::item26, typename Vector::item27
+ , typename Vector::item28, typename Vector::item29
+ , typename Vector::item30, typename Vector::item31
+ , typename Vector::item32, typename Vector::item33
+ , typename Vector::item34, typename Vector::item35
+ , typename Vector::item36, typename Vector::item37
+ , typename Vector::item38, typename Vector::item39
+ , typename Vector::item40, typename Vector::item41
+ , typename Vector::item42, typename Vector::item43
+ , typename Vector::item44, typename Vector::item45
+ , typename Vector::item46, typename Vector::item47
+ , typename Vector::item48
+ > type;
+ };
+};
+
+namespace aux {
+template<> struct v_at_impl<50>
+{
+ template< typename V_ > struct result_
+ {
+ typedef typename V_::item50 type;
+ };
+};
+
+}
+
+template<>
+struct at_impl< aux::vector_tag<50> >
+{
+ template< typename V_, typename N > struct apply
+ {
+ typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+ ::template result_<V_>::type type;
+ };
+};
+
+template<>
+struct front_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::item0 type;
+ };
+};
+
+template<>
+struct back_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef typename Vector::back type;
+ };
+};
+
+template<>
+struct empty_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ : false_
+ {
+ };
+};
+
+template<>
+struct size_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ : long_<50>
+ {
+ };
+};
+
+template<>
+struct O1_size_impl< aux::vector_tag<50> >
+ : size_impl< aux::vector_tag<50> >
+{
+};
+
+template<>
+struct clear_impl< aux::vector_tag<50> >
+{
+ template< typename Vector > struct apply
+ {
+ typedef vector0<> type;
+ };
+};
+
+}}
diff --git a/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
new file mode 100644
index 0000000..e07f2b3
--- /dev/null
+++ b/3rdParty/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
@@ -0,0 +1,325 @@
+
+// Copyright Aleksey Gurtovoy 2000-2004
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
+// -- DO NOT modify by hand!
+
+namespace boost { namespace mpl {
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ >
+struct vector41_c
+ : vector41<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T
+ , C40>
+ >
+{
+ typedef vector41_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41
+ >
+struct vector42_c
+ : vector42<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >
+ >
+{
+ typedef vector42_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42
+ >
+struct vector43_c
+ : vector43<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ >
+{
+ typedef vector43_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43
+ >
+struct vector44_c
+ : vector44<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T
+ , C43>
+ >
+{
+ typedef vector44_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44
+ >
+struct vector45_c
+ : vector45<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >
+ >
+{
+ typedef vector45_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45
+ >
+struct vector46_c
+ : vector46<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
+ >
+{
+ typedef vector46_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46
+ >
+struct vector47_c
+ : vector47<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T
+ , C46>
+ >
+{
+ typedef vector47_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47
+ >
+struct vector48_c
+ : vector48<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
+ , integral_c< T,C46 >, integral_c< T,C47 >
+ >
+{
+ typedef vector48_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
+ >
+struct vector49_c
+ : vector49<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
+ , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >
+ >
+{
+ typedef vector49_c type;
+ typedef T value_type;
+};
+
+template<
+ typename T
+ , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
+ , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
+ , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
+ , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
+ , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
+ >
+struct vector50_c
+ : vector50<
+ integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
+ , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
+ , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
+ , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
+ , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
+ , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
+ , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
+ , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
+ , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
+ , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
+ , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
+ , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
+ , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
+ , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
+ , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
+ , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T
+ , C49>
+ >
+{
+ typedef vector50_c type;
+ typedef T value_type;
+};
+
+}}