277 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			277 lines
		
	
	
		
			16 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 deque_tag;
							 | 
						||
| 
								 | 
							
								    template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
							 | 
						||
| 
								 | 
							
								    struct deque
							 | 
						||
| 
								 | 
							
								        :
							 | 
						||
| 
								 | 
							
								        detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type,
							 | 
						||
| 
								 | 
							
								        sequence_base<deque<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef deque_tag fusion_tag;
							 | 
						||
| 
								 | 
							
								        typedef bidirectional_traversal_tag category;
							 | 
						||
| 
								 | 
							
								        typedef typename detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type base;
							 | 
						||
| 
								 | 
							
								        typedef typename detail::deque_initial_size<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type size;
							 | 
						||
| 
								 | 
							
								        typedef mpl::int_<size::value> next_up;
							 | 
						||
| 
								 | 
							
								        typedef mpl::int_<-1> next_down;
							 | 
						||
| 
								 | 
							
								        typedef mpl::false_ is_view;
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1>::construct(t0 , t1))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1>::construct(t0 , t1))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2>::construct(t0 , t1 , t2))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2>::construct(t0 , t1 , t2))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>::construct(t0 , t1 , t2 , t3))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>::construct(t0 , t1 , t2 , t3))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>::construct(t0 , t1 , t2 , t3 , t4))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>::construct(t0 , t1 , t2 , t3 , t4))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>::construct(t0 , t1 , t2 , t3 , t4 , t5))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>::construct(t0 , t1 , t2 , t3 , t4 , t5))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8 , typename detail::call_param<T9 >::type t9)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8 , typename T_9>
							 | 
						||
| 
								 | 
							
								BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9)
							 | 
						||
| 
								 | 
							
								    : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::
							 | 
						||
| 
								 | 
							
								      forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8) , std::forward<T_9>( t9)))
							 | 
						||
| 
								 | 
							
								{}
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque()
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        explicit deque(typename detail::call_param<T0>::type t0)
							 | 
						||
| 
								 | 
							
								            : base(t0, detail::nil_keyed_element())
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        explicit deque(deque const& rhs)
							 | 
						||
| 
								 | 
							
								            : base(rhs)
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        template<typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
							 | 
						||
| 
								 | 
							
								        BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& seq)
							 | 
						||
| 
								 | 
							
								            : base(seq)
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        template<typename Sequence>
							 | 
						||
| 
								 | 
							
								        BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque(Sequence const& seq
							 | 
						||
| 
								 | 
							
								            , typename disable_if<is_convertible<Sequence, T0>, detail::enabler_>::type = detail::enabler
							 | 
						||
| 
								 | 
							
								            , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
							 | 
						||
| 
								 | 
							
								            : base(base::from_iterator(fusion::begin(seq)))
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        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
							 | 
						||
| 
								 | 
							
								        deque&
							 | 
						||
| 
								 | 
							
								        operator=(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            base::operator=(rhs);
							 | 
						||
| 
								 | 
							
								            return *this;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        template <typename T>
							 | 
						||
| 
								 | 
							
								        BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque&
							 | 
						||
| 
								 | 
							
								        operator=(T const& rhs)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            base::operator=(rhs);
							 | 
						||
| 
								 | 
							
								            return *this;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
							 | 
						||
| 
								 | 
							
								        template <typename T0_>
							 | 
						||
| 
								 | 
							
								        BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        explicit deque(T0_&& t0
							 | 
						||
| 
								 | 
							
								          , typename enable_if<is_convertible<T0_, T0>, detail::enabler_>::type = detail::enabler
							 | 
						||
| 
								 | 
							
								         )
							 | 
						||
| 
								 | 
							
								            : base(std::forward<T0_>( t0), detail::nil_keyed_element())
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        explicit deque(deque&& rhs)
							 | 
						||
| 
								 | 
							
								            : base(std::forward<deque>(rhs))
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        template<typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
							 | 
						||
| 
								 | 
							
								        BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>&& seq
							 | 
						||
| 
								 | 
							
								            , typename disable_if<
							 | 
						||
| 
								 | 
							
								                  is_convertible<deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>, T0>
							 | 
						||
| 
								 | 
							
								                , detail::enabler_
							 | 
						||
| 
								 | 
							
								              >::type = detail::enabler)
							 | 
						||
| 
								 | 
							
								            : base(std::forward<deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>>(seq))
							 | 
						||
| 
								 | 
							
								            {}
							 | 
						||
| 
								 | 
							
								        template <typename T>
							 | 
						||
| 
								 | 
							
								        BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque&
							 | 
						||
| 
								 | 
							
								        operator=(T&& rhs)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            base::operator=(std::forward<T>( rhs));
							 | 
						||
| 
								 | 
							
								            return *this;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								# endif
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    template <>
							 | 
						||
| 
								 | 
							
								    struct deque<> : detail::nil_keyed_element
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        typedef deque_tag fusion_tag;
							 | 
						||
| 
								 | 
							
								        typedef bidirectional_traversal_tag category;
							 | 
						||
| 
								 | 
							
								        typedef mpl::int_<0> size;
							 | 
						||
| 
								 | 
							
								        typedef mpl::int_<0> next_up;
							 | 
						||
| 
								 | 
							
								        typedef mpl::int_<-1> next_down;
							 | 
						||
| 
								 | 
							
								        typedef mpl::false_ is_view;
							 | 
						||
| 
								 | 
							
								        template <typename Sequence>
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque(Sequence const&,
							 | 
						||
| 
								 | 
							
								            typename enable_if<
							 | 
						||
| 
								 | 
							
								                mpl::and_<
							 | 
						||
| 
								 | 
							
								                    traits::is_sequence<Sequence>
							 | 
						||
| 
								 | 
							
								                  , result_of::empty<Sequence> >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT
							 | 
						||
| 
								 | 
							
								        {}
							 | 
						||
| 
								 | 
							
								        BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
							 | 
						||
| 
								 | 
							
								        deque() BOOST_NOEXCEPT {}
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								}}
							 |