QxOrm 1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
QxSerializeQDataStream_boost_tuple.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** https://www.qxorm.com/
4** Copyright (C) 2013 Lionel Marty (contact@qxorm.com)
5**
6** This file is part of the QxOrm library
7**
8** This software is provided 'as-is', without any express or implied
9** warranty. In no event will the authors be held liable for any
10** damages arising from the use of this software
11**
12** Commercial Usage
13** Licensees holding valid commercial QxOrm licenses may use this file in
14** accordance with the commercial license agreement provided with the
15** Software or, alternatively, in accordance with the terms contained in
16** a written agreement between you and Lionel Marty
17**
18** GNU General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU
20** General Public License version 3.0 as published by the Free Software
21** Foundation and appearing in the file 'license.gpl3.txt' included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU General Public License version 3.0 requirements will be
24** met : http://www.gnu.org/copyleft/gpl.html
25**
26** If you are unsure which license is appropriate for your use, or
27** if you have questions regarding the use of this file, please contact :
28** contact@qxorm.com
29**
30****************************************************************************/
31
32#ifdef _QX_ENABLE_BOOST
33#ifndef _QX_SERIALIZE_QDATASTREAM_BOOST_TUPLE_H_
34#define _QX_SERIALIZE_QDATASTREAM_BOOST_TUPLE_H_
35
36#ifdef _MSC_VER
37#pragma once
38#endif
39
47#include <QtCore/qdatastream.h>
48
49template <typename T0, typename T1>
50QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1> & t)
51{
52 stream << boost::get<0>(t);
53 stream << boost::get<1>(t);
54 return stream;
55}
56
57template <typename T0, typename T1, typename T2>
58QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2> & t)
59{
60 stream << boost::get<0>(t);
61 stream << boost::get<1>(t);
62 stream << boost::get<2>(t);
63 return stream;
64}
65
66template <typename T0, typename T1, typename T2, typename T3>
67QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3> & t)
68{
69 stream << boost::get<0>(t);
70 stream << boost::get<1>(t);
71 stream << boost::get<2>(t);
72 stream << boost::get<3>(t);
73 return stream;
74}
75
76template <typename T0, typename T1, typename T2, typename T3, typename T4>
77QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4> & t)
78{
79 stream << boost::get<0>(t);
80 stream << boost::get<1>(t);
81 stream << boost::get<2>(t);
82 stream << boost::get<3>(t);
83 stream << boost::get<4>(t);
84 return stream;
85}
86
87template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
88QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4, T5> & t)
89{
90 stream << boost::get<0>(t);
91 stream << boost::get<1>(t);
92 stream << boost::get<2>(t);
93 stream << boost::get<3>(t);
94 stream << boost::get<4>(t);
95 stream << boost::get<5>(t);
96 return stream;
97}
98
99template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
100QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4, T5, T6> & t)
101{
102 stream << boost::get<0>(t);
103 stream << boost::get<1>(t);
104 stream << boost::get<2>(t);
105 stream << boost::get<3>(t);
106 stream << boost::get<4>(t);
107 stream << boost::get<5>(t);
108 stream << boost::get<6>(t);
109 return stream;
110}
111
112template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
113QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7> & t)
114{
115 stream << boost::get<0>(t);
116 stream << boost::get<1>(t);
117 stream << boost::get<2>(t);
118 stream << boost::get<3>(t);
119 stream << boost::get<4>(t);
120 stream << boost::get<5>(t);
121 stream << boost::get<6>(t);
122 stream << boost::get<7>(t);
123 return stream;
124}
125
126template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
127QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8> & t)
128{
129 stream << boost::get<0>(t);
130 stream << boost::get<1>(t);
131 stream << boost::get<2>(t);
132 stream << boost::get<3>(t);
133 stream << boost::get<4>(t);
134 stream << boost::get<5>(t);
135 stream << boost::get<6>(t);
136 stream << boost::get<7>(t);
137 stream << boost::get<8>(t);
138 return stream;
139}
140
141template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
142QDataStream & operator<< (QDataStream & stream, const boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> & t)
143{
144 stream << boost::get<0>(t);
145 stream << boost::get<1>(t);
146 stream << boost::get<2>(t);
147 stream << boost::get<3>(t);
148 stream << boost::get<4>(t);
149 stream << boost::get<5>(t);
150 stream << boost::get<6>(t);
151 stream << boost::get<7>(t);
152 stream << boost::get<8>(t);
153 stream << boost::get<9>(t);
154 return stream;
155}
156
157template <typename T0, typename T1>
158QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1> & t)
159{
160 stream >> boost::get<0>(t);
161 stream >> boost::get<1>(t);
162 return stream;
163}
164
165template <typename T0, typename T1, typename T2>
166QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2> & t)
167{
168 stream >> boost::get<0>(t);
169 stream >> boost::get<1>(t);
170 stream >> boost::get<2>(t);
171 return stream;
172}
173
174template <typename T0, typename T1, typename T2, typename T3>
175QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3> & t)
176{
177 stream >> boost::get<0>(t);
178 stream >> boost::get<1>(t);
179 stream >> boost::get<2>(t);
180 stream >> boost::get<3>(t);
181 return stream;
182}
183
184template <typename T0, typename T1, typename T2, typename T3, typename T4>
185QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4> & t)
186{
187 stream >> boost::get<0>(t);
188 stream >> boost::get<1>(t);
189 stream >> boost::get<2>(t);
190 stream >> boost::get<3>(t);
191 stream >> boost::get<4>(t);
192 return stream;
193}
194
195template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
196QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4, T5> & t)
197{
198 stream >> boost::get<0>(t);
199 stream >> boost::get<1>(t);
200 stream >> boost::get<2>(t);
201 stream >> boost::get<3>(t);
202 stream >> boost::get<4>(t);
203 stream >> boost::get<5>(t);
204 return stream;
205}
206
207template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
208QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4, T5, T6> & t)
209{
210 stream >> boost::get<0>(t);
211 stream >> boost::get<1>(t);
212 stream >> boost::get<2>(t);
213 stream >> boost::get<3>(t);
214 stream >> boost::get<4>(t);
215 stream >> boost::get<5>(t);
216 stream >> boost::get<6>(t);
217 return stream;
218}
219
220template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
221QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7> & t)
222{
223 stream >> boost::get<0>(t);
224 stream >> boost::get<1>(t);
225 stream >> boost::get<2>(t);
226 stream >> boost::get<3>(t);
227 stream >> boost::get<4>(t);
228 stream >> boost::get<5>(t);
229 stream >> boost::get<6>(t);
230 stream >> boost::get<7>(t);
231 return stream;
232}
233
234template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
235QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8> & t)
236{
237 stream >> boost::get<0>(t);
238 stream >> boost::get<1>(t);
239 stream >> boost::get<2>(t);
240 stream >> boost::get<3>(t);
241 stream >> boost::get<4>(t);
242 stream >> boost::get<5>(t);
243 stream >> boost::get<6>(t);
244 stream >> boost::get<7>(t);
245 stream >> boost::get<8>(t);
246 return stream;
247}
248
249template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
250QDataStream & operator>> (QDataStream & stream, boost::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> & t)
251{
252 stream >> boost::get<0>(t);
253 stream >> boost::get<1>(t);
254 stream >> boost::get<2>(t);
255 stream >> boost::get<3>(t);
256 stream >> boost::get<4>(t);
257 stream >> boost::get<5>(t);
258 stream >> boost::get<6>(t);
259 stream >> boost::get<7>(t);
260 stream >> boost::get<8>(t);
261 stream >> boost::get<9>(t);
262 return stream;
263}
264
265#endif // _QX_SERIALIZE_QDATASTREAM_BOOST_TUPLE_H_
266#endif // _QX_ENABLE_BOOST
QDataStream & operator<<(QDataStream &stream, const boost::tuple< T0, T1 > &t)
QDataStream & operator>>(QDataStream &stream, boost::tuple< T0, T1 > &t)