map10.hpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. /*=============================================================================
  2. Copyright (c) 2001-2011 Joel de Guzman
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. This is an auto-generated file. Do not edit!
  6. ==============================================================================*/
  7. namespace boost { namespace fusion
  8. {
  9. struct void_;
  10. struct fusion_sequence_tag;
  11. template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
  12. struct map : sequence_base<map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
  13. {
  14. struct category : random_access_traversal_tag, associative_tag {};
  15. typedef map_tag fusion_tag;
  16. typedef fusion_sequence_tag tag;
  17. typedef mpl::false_ is_view;
  18. typedef vector<
  19. T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
  20. storage_type;
  21. typedef typename storage_type::size size;
  22. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  23. map()
  24. : data() {}
  25. BOOST_FUSION_GPU_ENABLED
  26. map(map const& rhs)
  27. : data(rhs.data) {}
  28. template <typename Sequence>
  29. BOOST_FUSION_GPU_ENABLED
  30. map(Sequence const& rhs)
  31. : data(rhs) {}
  32. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  33. explicit
  34. map(typename detail::call_param<T0 >::type arg0)
  35. : data(arg0) {}
  36. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  37. template <typename U0>
  38. BOOST_FUSION_GPU_ENABLED
  39. explicit
  40. map(U0 && arg0
  41. # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700)
  42. , typename enable_if<is_same<U0, T0> >::type* = 0
  43. # endif
  44. )
  45. : data(std::forward<U0>( arg0)) {}
  46. # endif
  47. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  48. map(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
  49. : data(arg0 , arg1) {}
  50. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  51. template <typename U0 , typename U1>
  52. BOOST_FUSION_GPU_ENABLED
  53. map(U0 && arg0 , U1 && arg1
  54. )
  55. : data(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {}
  56. # endif
  57. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  58. map(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
  59. : data(arg0 , arg1 , arg2) {}
  60. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  61. template <typename U0 , typename U1 , typename U2>
  62. BOOST_FUSION_GPU_ENABLED
  63. map(U0 && arg0 , U1 && arg1 , U2 && arg2
  64. )
  65. : data(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {}
  66. # endif
  67. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  68. map(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)
  69. : data(arg0 , arg1 , arg2 , arg3) {}
  70. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  71. template <typename U0 , typename U1 , typename U2 , typename U3>
  72. BOOST_FUSION_GPU_ENABLED
  73. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3
  74. )
  75. : data(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {}
  76. # endif
  77. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  78. map(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)
  79. : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
  80. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  81. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
  82. BOOST_FUSION_GPU_ENABLED
  83. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4
  84. )
  85. : data(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {}
  86. # endif
  87. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  88. map(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)
  89. : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
  90. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  91. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
  92. BOOST_FUSION_GPU_ENABLED
  93. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5
  94. )
  95. : data(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5)) {}
  96. # endif
  97. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  98. map(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)
  99. : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
  100. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  101. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
  102. BOOST_FUSION_GPU_ENABLED
  103. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6
  104. )
  105. : data(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)) {}
  106. # endif
  107. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  108. map(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)
  109. : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
  110. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  111. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
  112. BOOST_FUSION_GPU_ENABLED
  113. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7
  114. )
  115. : data(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)) {}
  116. # endif
  117. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  118. map(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)
  119. : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
  120. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  121. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
  122. BOOST_FUSION_GPU_ENABLED
  123. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8
  124. )
  125. : data(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)) {}
  126. # endif
  127. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  128. map(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)
  129. : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
  130. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  131. template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
  132. BOOST_FUSION_GPU_ENABLED
  133. map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9
  134. )
  135. : data(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)) {}
  136. # endif
  137. template <typename T>
  138. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  139. map& operator=(T const& rhs)
  140. {
  141. data = rhs;
  142. return *this;
  143. }
  144. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  145. map& operator=(map const& rhs)
  146. {
  147. data = rhs.data;
  148. return *this;
  149. }
  150. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  151. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  152. map(map&& rhs)
  153. : data(std::move(rhs.data)) {}
  154. template <typename T>
  155. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  156. map& operator=(T&& rhs)
  157. {
  158. data = std::forward<T>( rhs);
  159. return *this;
  160. }
  161. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  162. map& operator=(map&& rhs)
  163. {
  164. data = std::move(rhs.data);
  165. return *this;
  166. }
  167. # endif
  168. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  169. storage_type& get_data() { return data; }
  170. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  171. storage_type const& get_data() const { return data; }
  172. private:
  173. storage_type data;
  174. };
  175. }}