7 #ifndef BALL_DATATYPE_QUADRUPLE_H
8 #define BALL_DATATYPE_QUADRUPLE_H
21 template <
typename T1,
typename T2,
typename T3,
typename T4>
52 Quadruple(
const T1& new_first,
const T2& new_second,
53 const T3& new_third,
const T4& new_fourth);
77 void set(
const T1& t1,
const T2& t2,
const T3& t3,
const T4& t4);
140 template <
typename T1,
typename T2,
typename T3,
typename T4>
145 template <
typename T1,
typename T2,
typename T3,
typename T4>
148 : first(quadruple.first),
149 second(quadruple.second),
150 third(quadruple.third),
151 fourth(quadruple.fourth)
155 template <
typename T1,
typename T2,
typename T3,
typename T4>
157 (
const T1& new_first,
const T2& new_second,
const T3& new_third,
const T4& fourth)
165 template <
typename T1,
typename T2,
typename T3,
typename T4>
170 template <
typename T1,
typename T2,
typename T3,
typename T4>
181 template <
typename T1,
typename T2,
typename T3,
typename T4>
186 first = quadruple.
first;
187 second = quadruple.second;
188 third = quadruple.third;
189 fourth = quadruple.fourth;
194 template <
typename T1,
typename T2,
typename T3,
typename T4>
204 template <
typename T1,
typename T2,
typename T3,
typename T4>
208 return (first == quadruple.
first
209 && second == quadruple.
second
210 && third == quadruple.
third
211 && fourth == quadruple.
fourth);
214 template <
typename T1,
typename T2,
typename T3,
typename T4>
218 return (first != quadruple.
first
219 || second != quadruple.
second
220 || third != quadruple.
third
221 || fourth != quadruple.
fourth);
224 template <
typename T1,
typename T2,
typename T3,
typename T4>
234 template <
typename T1,
typename T2,
typename T3,
typename T4>
239 return (first < quadruple.first ||
240 (first == quadruple.first && second < quadruple.second) ||
241 (first == quadruple.first && second == quadruple.second && third < quadruple.third) ||
242 (first == quadruple.first && second == quadruple.second && third == quadruple.third
243 && fourth < quadruple.fourth));
246 template <
typename T1,
typename T2,
typename T3,
typename T4>
251 return (first < quadruple.first ||
252 (first == quadruple.first && second < quadruple.second) ||
253 (first == quadruple.first && second == quadruple.second && third < quadruple.third) ||
254 (first == quadruple.first && second == quadruple.second && third == quadruple.third
255 && fourth <= quadruple.fourth));
258 template <
typename T1,
typename T2,
typename T3,
typename T4>
263 return (first > quadruple.first ||
264 (first == quadruple.first && second > quadruple.second) ||
265 (first == quadruple.first && second == quadruple.second && third > quadruple.third) ||
266 (first == quadruple.first && second == quadruple.second && third == quadruple.third
267 && fourth >= quadruple.fourth));
270 template <
typename T1,
typename T2,
typename T3,
typename T4>
275 return (first > quadruple.first ||
276 (first == quadruple.first && second > quadruple.second) ||
277 (first == quadruple.first && second == quadruple.second && third > quadruple.third) ||
278 (first == quadruple.first && second == quadruple.second && third == quadruple.third
279 && fourth > quadruple.fourth));
283 #endif // BALL_DATATYPE_QUADRUPLE_H