set10.hpp 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 set : sequence_base<set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
  13. {
  14. struct category : forward_traversal_tag, associative_tag {};
  15. typedef set_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. set()
  23. : data() {}
  24. template <typename Sequence>
  25. set(Sequence const& rhs)
  26. : data(rhs) {}
  27. explicit
  28. set(typename detail::call_param<T0 >::type _0)
  29. : data(_0) {}
  30. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
  31. : data(_0 , _1) {}
  32. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
  33. : data(_0 , _1 , _2) {}
  34. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
  35. : data(_0 , _1 , _2 , _3) {}
  36. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
  37. : data(_0 , _1 , _2 , _3 , _4) {}
  38. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
  39. : data(_0 , _1 , _2 , _3 , _4 , _5) {}
  40. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
  41. : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
  42. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
  43. : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
  44. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
  45. : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
  46. set(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
  47. : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
  48. template <typename T>
  49. set&
  50. operator=(T const& rhs)
  51. {
  52. data = rhs;
  53. return *this;
  54. }
  55. storage_type& get_data() { return data; }
  56. storage_type const& get_data() const { return data; }
  57. private:
  58. storage_type data;
  59. };
  60. }}