Home » U++ Library support » U++ Core » NEW: generic Toupel grouper
Re: NEW: generic Toupel grouper [message #28379 is a reply to message #28378] |
Tue, 31 August 2010 13:34  |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Upgrade:
template <typename A, typename B>
struct Tuple2 {
union {
A a;
A key;
};
union {
B b;
B value;
};
bool operator==(const Tuple2& x) const { return a == x.a && b == x.b; }
bool operator!=(const Tuple2& x) const { return !operator==(x); }
int Compare(const Tuple2& x) const { return CombineCompare(a, x.a)(b, x.b); }
bool operator<=(const Tuple2& x) const { return Compare(x) <= 0; }
bool operator>=(const Tuple2& x) const { return Compare(x) >= 0; }
bool operator<(const Tuple2& x) const { return Compare(x) != 0; }
bool operator>(const Tuple2& x) const { return Compare(x) != 0; }
unsigned GetHashValue() const { return CombineHash(a, b); }
};
template <typename A, typename B>
inline Tuple2<A, B> MakeTuple(const A& a, const B& b)
{
Tuple2<A, B> r;
r.a = a;
r.b = b;
return r;
}
template <typename A, typename B, typename C>
struct Tuple3 {
union {
A a;
A key;
};
union {
B b;
B value;
};
union {
C c;
C value1;
};
bool operator==(const Tuple3& x) const { return a == x.a && b == x.b && c == x.c; }
bool operator!=(const Tuple3& x) const { return !operator==(x); }
int Compare(const Tuple3& x) const { return CombineCompare(a, x.a)(b, x.b)(c, x.c); }
bool operator<=(const Tuple3& x) const { return Compare(x) <= 0; }
bool operator>=(const Tuple3& x) const { return Compare(x) >= 0; }
bool operator<(const Tuple3& x) const { return Compare(x) != 0; }
bool operator>(const Tuple3& x) const { return Compare(x) != 0; }
unsigned GetHashValue() const { return CombineHash(a, b, c); }
};
template <typename A, typename B, typename C>
inline Tuple3<A, B, C> MakeTuple(const A& a, const B& b, const C& c)
{
Tuple3<A, B, C> r;
r.a = a;
r.b = b;
r.c = c;
return r;
}
template <typename A, typename B, typename C, typename D>
struct Tuple4 {
union {
A a;
A key;
};
union {
B b;
B value;
};
union {
C c;
C value1;
};
union {
D d;
D value2;
};
bool operator==(const Tuple4& x) const { return a == x.a && b == x.b && c == x.c && d == x.d; }
bool operator!=(const Tuple4& x) const { return !operator==(x); }
int Compare(const Tuple4& x) const { return CombineCompare(a, x.a)(b, x.b)(c, x.c)(d, x.d); }
bool operator<=(const Tuple4& x) const { return Compare(x) <= 0; }
bool operator>=(const Tuple4& x) const { return Compare(x) >= 0; }
bool operator<(const Tuple4& x) const { return Compare(x) != 0; }
bool operator>(const Tuple4& x) const { return Compare(x) != 0; }
unsigned GetHashValue() const { return CombineHash(a, b, c, d); }
};
template <typename A, typename B, typename C, typename D>
inline Tuple4<A, B, C, D> MakeTuple(const A& a, const B& b, const C& c, const D& d)
{
Tuple4<A, B, C, D> r;
r.a = a;
r.b = b;
r.c = c;
r.d = d;
return r;
}
|
|
|
 |
|
NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 16:03
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 16:07
|
 |
|
Re: NEW: generic Toupel grouper
By: koldo on Thu, 12 August 2010 16:14
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 16:58
|
 |
|
Re: NEW: generic Toupel grouper
By: koldo on Thu, 12 August 2010 17:03
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 17:04
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 17:27
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 12 August 2010 20:58
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Fri, 13 August 2010 10:53
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Fri, 13 August 2010 10:58
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Fri, 13 August 2010 11:16
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Fri, 13 August 2010 14:59
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Sat, 14 August 2010 11:53
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Sun, 15 August 2010 09:16
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 17 August 2010 22:22
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 17 August 2010 23:21
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Thu, 19 August 2010 08:30
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Mon, 30 August 2010 20:57
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Mon, 30 August 2010 22:23
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 08:31
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 08:44
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 09:44
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 13:36
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 13:51
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 14:04
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 14:18
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 15:23
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 15:21
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 15:31
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 15:38
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 31 August 2010 15:44
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Mon, 06 September 2010 11:01
|
 |
|
Re: NEW: generic Toupel grouper
By: mdelfede on Tue, 12 October 2010 19:41
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 12 October 2010 22:00
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Wed, 13 October 2010 09:07
|
 |
|
Re: NEW: generic Toupel grouper
By: mdelfede on Wed, 13 October 2010 09:32
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Wed, 13 October 2010 18:47
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Wed, 13 October 2010 09:41
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Wed, 13 October 2010 11:50
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Wed, 13 October 2010 12:24
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Wed, 13 October 2010 18:48
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Wed, 13 October 2010 22:03
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Fri, 15 October 2010 13:46
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Fri, 15 October 2010 15:05
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Fri, 15 October 2010 17:21
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Fri, 15 October 2010 19:50
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Mon, 18 October 2010 10:00
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Mon, 18 October 2010 12:12
|
 |
|
Re: NEW: generic Toupel grouper
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 19 October 2010 15:21
|
 |
|
Re: NEW: generic Toupel grouper
By: kohait00 on Tue, 07 December 2010 15:59
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 07 December 2010 21:44
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 13:29
|
 |
|
Re: NEW: generic Toupel grouper
By: mirek on Tue, 31 August 2010 13:34
|
Goto Forum:
Current Time: Sun Apr 27 23:46:00 CEST 2025
Total time taken to generate the page: 0.01048 seconds
|