| /*============================================================================= |
| Copyright (c) 2001-2011 Joel de Guzman |
| |
| 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) |
| |
| This is an auto-generated file. Do not edit! |
| ==============================================================================*/ |
| namespace boost { namespace fusion |
| { |
| struct void_; |
| struct fusion_sequence_tag; |
| template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> |
| struct vector |
| : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> > |
| { |
| private: |
| typedef typename detail::vector_n_chooser< |
| T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type |
| vector_n; |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> |
| friend struct vector; |
| public: |
| typedef typename vector_n::types types; |
| typedef typename vector_n::fusion_tag fusion_tag; |
| typedef typename vector_n::tag tag; |
| typedef typename vector_n::size size; |
| typedef typename vector_n::category category; |
| typedef typename vector_n::is_view is_view; |
| BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector() |
| : vec() {} |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> |
| BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs) |
| : vec(rhs.vec) {} |
| BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector(vector const& rhs) |
| : vec(rhs.vec) {} |
| template <typename Sequence> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(Sequence const& rhs, |
| typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0) |
| : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} |
| |
| |
| |
| |
| |
| |
| |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| explicit |
| vector(typename detail::call_param<T0 >::type arg0) |
| : vec(arg0) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| explicit |
| vector(U0 && arg0) |
| : vec(std::forward<U0>( arg0)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1) |
| : vec(arg0 , arg1) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2) |
| : vec(arg0 , arg1 , arg2) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3) |
| : vec(arg0 , arg1 , arg2 , arg3) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8)) {} |
| # endif |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9) |
| : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> |
| |
| # if !defined(BOOST_CLANG) |
| BOOST_CXX14_CONSTEXPR |
| # endif |
| BOOST_FUSION_GPU_ENABLED |
| vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) |
| : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9)) {} |
| # endif |
| template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector& |
| operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs) |
| { |
| vec = rhs.vec; |
| return *this; |
| } |
| template <typename T> |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector& |
| operator=(T const& rhs) |
| { |
| vec = rhs; |
| return *this; |
| } |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector& |
| operator=(vector const& rhs) |
| { |
| vec = rhs.vec; |
| return *this; |
| } |
| # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector(vector&& rhs) |
| : vec(std::forward<vector_n>(rhs.vec)) {} |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector& |
| operator=(vector&& rhs) |
| { |
| vec = std::forward<vector_n>(rhs.vec); |
| return *this; |
| } |
| template <typename T> |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| vector& |
| operator=(T&& rhs) |
| { |
| vec = std::forward<T>( rhs); |
| return *this; |
| } |
| # endif |
| template <int N> |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| typename add_reference< |
| typename mpl::at_c<types, N>::type |
| >::type |
| at_impl(mpl::int_<N> index) |
| { |
| return vec.at_impl(index); |
| } |
| template <int N> |
| BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| typename add_reference< |
| typename add_const< |
| typename mpl::at_c<types, N>::type |
| >::type |
| >::type |
| at_impl(mpl::int_<N> index) const |
| { |
| return vec.at_impl(index); |
| } |
| template <typename I> |
| BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| typename add_reference< |
| typename mpl::at<types, I>::type |
| >::type |
| at_impl(I ) |
| { |
| return vec.at_impl(mpl::int_<I::value>()); |
| } |
| template<typename I> |
| BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
| typename add_reference< |
| typename add_const< |
| typename mpl::at<types, I>::type |
| >::type |
| >::type |
| at_impl(I ) const |
| { |
| return vec.at_impl(mpl::int_<I::value>()); |
| } |
| private: |
| BOOST_FUSION_VECTOR_CTOR_HELPER() |
| vector_n vec; |
| }; |
| }} |