Index: third_party/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp |
diff --git a/third_party/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/third_party/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c6c8bbb97c56aed82f321c2fde43f15227a9118 |
--- /dev/null |
+++ b/third_party/boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp |
@@ -0,0 +1,1144 @@ |
+ |
+// 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,11 > |
+{ |
+ typedef typename V::item11 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,12 > |
+{ |
+ typedef typename V::item12 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,13 > |
+{ |
+ typedef typename V::item13 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,14 > |
+{ |
+ typedef typename V::item14 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,15 > |
+{ |
+ typedef typename V::item15 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,16 > |
+{ |
+ typedef typename V::item16 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,17 > |
+{ |
+ typedef typename V::item17 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,18 > |
+{ |
+ typedef typename V::item18 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,19 > |
+{ |
+ typedef typename V::item19 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; |
+ }; |
+}; |
+ |
+template< typename V > |
+struct v_at< V,20 > |
+{ |
+ typedef typename V::item20 type; |
+}; |
+ |
+}} |