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