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));
#define BALL_CREATE(name)
bool operator>=(const Quadruple &quadruple) const
const Quadruple & operator=(const Quadruple &quadruple)
void set(const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4)
bool operator!=(const Quadruple &quadruple) const
bool operator>(const Quadruple &quadruple) const
bool operator<=(const Quadruple &quadruple) const
bool operator==(const Quadruple &quadruple) const
bool operator<(const Quadruple &quadruple) const
void get(T1 &first, T2 &second, T3 &third, T4 &fourth) const