Publishing R3
[platform/upstream/dldt.git] / inference-engine / thirdparty / clDNN / common / boost / 1.64.0 / include / boost-1_64 / boost / proto / detail / preprocessed / vararg_matches_impl.hpp
1     ///////////////////////////////////////////////////////////////////////////////
2     /// \file vararg_matches_impl.hpp
3     /// Specializations of the vararg_matches_impl template
4     //
5     //  Copyright 2008 Eric Niebler. Distributed under the Boost
6     //  Software License, Version 1.0. (See accompanying file
7     //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8     template<typename Args, typename Back, long To>
9     struct vararg_matches_impl<Args, Back, 2, To>
10       : and_2<
11             matches_<
12                 typename detail::expr_traits<typename Args::child1>::value_type::proto_derived_expr
13               , typename detail::expr_traits<typename Args::child1>::value_type::proto_grammar
14               , Back
15             >::value
16           , vararg_matches_impl<Args, Back, 2 + 1, To>
17         >
18     {};
19     template<typename Args, typename Back>
20     struct vararg_matches_impl<Args, Back, 2, 2>
21       : matches_<
22             typename detail::expr_traits<typename Args::child1>::value_type::proto_derived_expr
23           , typename detail::expr_traits<typename Args::child1>::value_type::proto_grammar
24           , Back
25         >
26     {};
27     template<typename Args, typename Back, long To>
28     struct vararg_matches_impl<Args, Back, 3, To>
29       : and_2<
30             matches_<
31                 typename detail::expr_traits<typename Args::child2>::value_type::proto_derived_expr
32               , typename detail::expr_traits<typename Args::child2>::value_type::proto_grammar
33               , Back
34             >::value
35           , vararg_matches_impl<Args, Back, 3 + 1, To>
36         >
37     {};
38     template<typename Args, typename Back>
39     struct vararg_matches_impl<Args, Back, 3, 3>
40       : matches_<
41             typename detail::expr_traits<typename Args::child2>::value_type::proto_derived_expr
42           , typename detail::expr_traits<typename Args::child2>::value_type::proto_grammar
43           , Back
44         >
45     {};
46     template<typename Args, typename Back, long To>
47     struct vararg_matches_impl<Args, Back, 4, To>
48       : and_2<
49             matches_<
50                 typename detail::expr_traits<typename Args::child3>::value_type::proto_derived_expr
51               , typename detail::expr_traits<typename Args::child3>::value_type::proto_grammar
52               , Back
53             >::value
54           , vararg_matches_impl<Args, Back, 4 + 1, To>
55         >
56     {};
57     template<typename Args, typename Back>
58     struct vararg_matches_impl<Args, Back, 4, 4>
59       : matches_<
60             typename detail::expr_traits<typename Args::child3>::value_type::proto_derived_expr
61           , typename detail::expr_traits<typename Args::child3>::value_type::proto_grammar
62           , Back
63         >
64     {};
65     template<typename Args, typename Back, long To>
66     struct vararg_matches_impl<Args, Back, 5, To>
67       : and_2<
68             matches_<
69                 typename detail::expr_traits<typename Args::child4>::value_type::proto_derived_expr
70               , typename detail::expr_traits<typename Args::child4>::value_type::proto_grammar
71               , Back
72             >::value
73           , vararg_matches_impl<Args, Back, 5 + 1, To>
74         >
75     {};
76     template<typename Args, typename Back>
77     struct vararg_matches_impl<Args, Back, 5, 5>
78       : matches_<
79             typename detail::expr_traits<typename Args::child4>::value_type::proto_derived_expr
80           , typename detail::expr_traits<typename Args::child4>::value_type::proto_grammar
81           , Back
82         >
83     {};
84     template<typename Args, typename Back, long To>
85     struct vararg_matches_impl<Args, Back, 6, To>
86       : and_2<
87             matches_<
88                 typename detail::expr_traits<typename Args::child5>::value_type::proto_derived_expr
89               , typename detail::expr_traits<typename Args::child5>::value_type::proto_grammar
90               , Back
91             >::value
92           , vararg_matches_impl<Args, Back, 6 + 1, To>
93         >
94     {};
95     template<typename Args, typename Back>
96     struct vararg_matches_impl<Args, Back, 6, 6>
97       : matches_<
98             typename detail::expr_traits<typename Args::child5>::value_type::proto_derived_expr
99           , typename detail::expr_traits<typename Args::child5>::value_type::proto_grammar
100           , Back
101         >
102     {};
103     template<typename Args, typename Back, long To>
104     struct vararg_matches_impl<Args, Back, 7, To>
105       : and_2<
106             matches_<
107                 typename detail::expr_traits<typename Args::child6>::value_type::proto_derived_expr
108               , typename detail::expr_traits<typename Args::child6>::value_type::proto_grammar
109               , Back
110             >::value
111           , vararg_matches_impl<Args, Back, 7 + 1, To>
112         >
113     {};
114     template<typename Args, typename Back>
115     struct vararg_matches_impl<Args, Back, 7, 7>
116       : matches_<
117             typename detail::expr_traits<typename Args::child6>::value_type::proto_derived_expr
118           , typename detail::expr_traits<typename Args::child6>::value_type::proto_grammar
119           , Back
120         >
121     {};
122     template<typename Args, typename Back, long To>
123     struct vararg_matches_impl<Args, Back, 8, To>
124       : and_2<
125             matches_<
126                 typename detail::expr_traits<typename Args::child7>::value_type::proto_derived_expr
127               , typename detail::expr_traits<typename Args::child7>::value_type::proto_grammar
128               , Back
129             >::value
130           , vararg_matches_impl<Args, Back, 8 + 1, To>
131         >
132     {};
133     template<typename Args, typename Back>
134     struct vararg_matches_impl<Args, Back, 8, 8>
135       : matches_<
136             typename detail::expr_traits<typename Args::child7>::value_type::proto_derived_expr
137           , typename detail::expr_traits<typename Args::child7>::value_type::proto_grammar
138           , Back
139         >
140     {};
141     template<typename Args, typename Back, long To>
142     struct vararg_matches_impl<Args, Back, 9, To>
143       : and_2<
144             matches_<
145                 typename detail::expr_traits<typename Args::child8>::value_type::proto_derived_expr
146               , typename detail::expr_traits<typename Args::child8>::value_type::proto_grammar
147               , Back
148             >::value
149           , vararg_matches_impl<Args, Back, 9 + 1, To>
150         >
151     {};
152     template<typename Args, typename Back>
153     struct vararg_matches_impl<Args, Back, 9, 9>
154       : matches_<
155             typename detail::expr_traits<typename Args::child8>::value_type::proto_derived_expr
156           , typename detail::expr_traits<typename Args::child8>::value_type::proto_grammar
157           , Back
158         >
159     {};
160     template<typename Args, typename Back, long To>
161     struct vararg_matches_impl<Args, Back, 10, To>
162       : and_2<
163             matches_<
164                 typename detail::expr_traits<typename Args::child9>::value_type::proto_derived_expr
165               , typename detail::expr_traits<typename Args::child9>::value_type::proto_grammar
166               , Back
167             >::value
168           , vararg_matches_impl<Args, Back, 10 + 1, To>
169         >
170     {};
171     template<typename Args, typename Back>
172     struct vararg_matches_impl<Args, Back, 10, 10>
173       : matches_<
174             typename detail::expr_traits<typename Args::child9>::value_type::proto_derived_expr
175           , typename detail::expr_traits<typename Args::child9>::value_type::proto_grammar
176           , Back
177         >
178     {};