2424
2525namespace msgpack {
2626
27+ /// @cond
2728MSGPACK_API_VERSION_NAMESPACE(v1) {
29+ /// @endcond
2830
2931namespace type {
3032
3133// FIXME operator==
3234// FIXME operator!=
3335<% GENERATION_LIMIT = 31 %>
3436
37+ /// @cond
3538template <typename A0 = void<% 1 . upto ( GENERATION_LIMIT +1 ) { |i |%> , typename A <%= i %> = void <% } %> >
3639struct tuple;
40+ /// @endcond
3741
3842template < typename Tuple, int N >
3943struct tuple_element;
@@ -68,6 +72,7 @@ struct tuple_type<const T&> {
6872 typedef const T& transparent_reference;
6973};
7074
75+ /// @cond
7176<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
7277<% 0 . upto ( i ) { |j |%>
7378template < typename A0<% 1 . upto ( i ) { |k |%> , typename A <%= k %> <% } %> >
@@ -92,13 +97,16 @@ private:
9297};
9398<% } %>
9499<% } %>
100+ /// @endcond
95101
96102template < >
97103struct tuple< > {
98104 tuple() {}
99105 tuple(msgpack::object const& o) { o.convert(*this); }
100106 typedef tuple< > value_type;
101107};
108+
109+ /// @cond
102110<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
103111template < typename A0<% 1 . upto ( i ) { |j |%> , typename A <%= j %> <% } %> >
104112struct tuple< A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > {
@@ -122,18 +130,22 @@ template <int N, typename A0<%1.upto(i) {|j|%>, typename A<%=j%><%}%>>
122130inline typename type::const_tuple_element< type::tuple < A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > , N> ::const_reference get(type::tuple< A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > const& t)
123131{ return t.template get< N > (); }
124132<% } %>
133+ /// @endcond
125134
126135inline tuple< > make_tuple()
127136{
128137 return tuple< > ();
129138}
139+
140+ /// @cond
130141<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
131142template < typename A0<% 1 . upto ( i ) { |j |%> , typename A <%= j %> <% } %> >
132143inline tuple< A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > make_tuple(typename tuple_type< A0 > ::transparent_reference a0<% 1 . upto ( i ) { |j |%> , typename tuple_type< A <%= j%> > ::transparent_reference a<%= j %> <% } %> )
133144{
134145 return tuple< A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > (a0<% 1 . upto ( i ) { |j |%> , a<%= j %> <% } %> );
135146}
136147<% } %>
148+ /// @endcond
137149
138150} // namespace type
139151
@@ -149,6 +161,7 @@ struct convert<type::tuple<> > {
149161 }
150162};
151163
164+ /// @cond
152165<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
153166template < typename A0<% 1 . upto ( i ) { |j |%> , typename A <%= j %> <% } %> >
154167struct convert< type::tuple < A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > > {
@@ -164,6 +177,7 @@ struct convert<type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> > {
164177 }
165178};
166179<% } %>
180+ /// @endcond
167181
168182template < >
169183struct pack< type::tuple < > > {
@@ -176,6 +190,7 @@ struct pack<type::tuple<> > {
176190 }
177191};
178192
193+ /// @cond
179194<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
180195template < typename A0<% 1 . upto ( i ) { |j |%> , typename A <%= j %> <% } %> >
181196struct pack< type::tuple < A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > > {
@@ -190,6 +205,7 @@ struct pack<type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> > {
190205 }
191206};
192207<% } %>
208+ /// @endcond
193209
194210template < >
195211struct object_with_zone< type::tuple < > > {
@@ -202,6 +218,7 @@ struct object_with_zone<type::tuple<> > {
202218 }
203219};
204220
221+ /// @cond
205222<% 0 . upto ( GENERATION_LIMIT ) { |i |%>
206223template < typename A0<% 1 . upto ( i ) { |j |%> , typename A <%= j %> <% } %> >
207224struct object_with_zone< type::tuple < A0 <% 1 . upto ( i ) { |j |%> , A <%= j %> <% } %> > > {
@@ -216,10 +233,13 @@ struct object_with_zone<type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> > {
216233 }
217234};
218235<% } %>
236+ /// @endcond
219237
220238} // namespace adaptor
221239
240+ /// @cond
222241} // MSGPACK_API_VERSION_NAMESPACE(v1)
242+ /// @endcond
223243
224244} // namespace msgpack
225245
0 commit comments