482 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			482 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								/*=============================================================================
							 | 
						||
| 
								 | 
							
								    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 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
							 | 
						||
| 
								 | 
							
								    struct vector
							 | 
						||
| 
								 | 
							
								        : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> >
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        typedef typename detail::vector_n_chooser<
							 | 
						||
| 
								 | 
							
								            T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type
							 | 
						||
| 
								 | 
							
								        vector_n;
							 | 
						||
| 
								 | 
							
								        template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
							 | 
						||
| 
								 | 
							
								        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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
							 | 
						||
| 
								 | 
							
								            : vec(rhs.vec) {}
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        vector(vector const& rhs)
							 | 
						||
| 
								 | 
							
								            : vec(rhs.vec) {}
							 | 
						||
| 
								 | 
							
								        template <typename Sequence>
							 | 
						||
| 
								 | 
							
								        BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        vector(Sequence const& rhs,
							 | 
						||
| 
								 | 
							
								            typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
							 | 
						||
| 
								 | 
							
								            : 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
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18)) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19)
							 | 
						||
| 
								 | 
							
								        : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
							 | 
						||
| 
								 | 
							
								# 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 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								# 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 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19)
							 | 
						||
| 
								 | 
							
								        : 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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18) , std::forward<U19>( arg19)) {}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								        template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
							 | 
						||
| 
								 | 
							
								        BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        vector&
							 | 
						||
| 
								 | 
							
								        operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> 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;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								}}
							 |