]> git.sesse.net Git - casparcg/blob - dependencies/boost/boost/fusion/container/deque/detail/preprocessed/deque_keyed_values10.hpp
Manually merged pull request #222
[casparcg] / dependencies / boost / boost / fusion / container / deque / detail / preprocessed / deque_keyed_values10.hpp
1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3
4     Distributed under the Boost Software License, Version 1.0. (See accompanying
5     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7     This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion { namespace detail
10 {
11     template<typename Key, typename Value, typename Rest>
12     struct keyed_element;
13     struct nil_keyed_element;
14     template<typename N, typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_>
15     struct deque_keyed_values_impl;
16     template<typename N>
17     struct deque_keyed_values_impl<N, void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
18     {
19         typedef nil_keyed_element type;
20         static type call()
21         {
22             return type();
23         }
24     };
25     template<typename N, typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
26     struct deque_keyed_values_impl
27     {
28         typedef mpl::int_<mpl::plus<N, mpl::int_<1> >::value> next_index;
29         typedef typename deque_keyed_values_impl<
30             next_index,
31             T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail;
32         typedef keyed_element<N, T0, tail> type;
33         static type call(typename add_reference<typename add_const<T0 >::type>::type t0)
34         {
35             return type(t0,
36                         deque_keyed_values_impl<
37                         next_index
38                         >::call());
39         }
40         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1)
41         {
42             return type(t0,
43                         deque_keyed_values_impl<
44                         next_index
45                         , T1
46                         >::call(t1));
47         }
48         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2)
49         {
50             return type(t0,
51                         deque_keyed_values_impl<
52                         next_index
53                         , T1 , T2
54                         >::call(t1 , t2));
55         }
56         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3)
57         {
58             return type(t0,
59                         deque_keyed_values_impl<
60                         next_index
61                         , T1 , T2 , T3
62                         >::call(t1 , t2 , t3));
63         }
64         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4)
65         {
66             return type(t0,
67                         deque_keyed_values_impl<
68                         next_index
69                         , T1 , T2 , T3 , T4
70                         >::call(t1 , t2 , t3 , t4));
71         }
72         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4 , typename add_reference<typename add_const<T5 >::type>::type t5)
73         {
74             return type(t0,
75                         deque_keyed_values_impl<
76                         next_index
77                         , T1 , T2 , T3 , T4 , T5
78                         >::call(t1 , t2 , t3 , t4 , t5));
79         }
80         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4 , typename add_reference<typename add_const<T5 >::type>::type t5 , typename add_reference<typename add_const<T6 >::type>::type t6)
81         {
82             return type(t0,
83                         deque_keyed_values_impl<
84                         next_index
85                         , T1 , T2 , T3 , T4 , T5 , T6
86                         >::call(t1 , t2 , t3 , t4 , t5 , t6));
87         }
88         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4 , typename add_reference<typename add_const<T5 >::type>::type t5 , typename add_reference<typename add_const<T6 >::type>::type t6 , typename add_reference<typename add_const<T7 >::type>::type t7)
89         {
90             return type(t0,
91                         deque_keyed_values_impl<
92                         next_index
93                         , T1 , T2 , T3 , T4 , T5 , T6 , T7
94                         >::call(t1 , t2 , t3 , t4 , t5 , t6 , t7));
95         }
96         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4 , typename add_reference<typename add_const<T5 >::type>::type t5 , typename add_reference<typename add_const<T6 >::type>::type t6 , typename add_reference<typename add_const<T7 >::type>::type t7 , typename add_reference<typename add_const<T8 >::type>::type t8)
97         {
98             return type(t0,
99                         deque_keyed_values_impl<
100                         next_index
101                         , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
102                         >::call(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8));
103         }
104         static type call(typename add_reference<typename add_const<T0 >::type>::type t0 , typename add_reference<typename add_const<T1 >::type>::type t1 , typename add_reference<typename add_const<T2 >::type>::type t2 , typename add_reference<typename add_const<T3 >::type>::type t3 , typename add_reference<typename add_const<T4 >::type>::type t4 , typename add_reference<typename add_const<T5 >::type>::type t5 , typename add_reference<typename add_const<T6 >::type>::type t6 , typename add_reference<typename add_const<T7 >::type>::type t7 , typename add_reference<typename add_const<T8 >::type>::type t8 , typename add_reference<typename add_const<T9 >::type>::type t9)
105         {
106             return type(t0,
107                         deque_keyed_values_impl<
108                         next_index
109                         , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
110                         >::call(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9));
111         }
112     };
113     template<typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_>
114     struct deque_keyed_values
115         : deque_keyed_values_impl<mpl::int_<0>, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
116     {};
117 }}}