Home » U++ Library support » U++ Core » NEW: generic Toupel grouper
NEW: generic Toupel grouper [message #27972] |
Thu, 12 August 2010 16:03  |
 |
kohait00
Messages: 939 Registered: July 2009 Location: Germany
|
Experienced Contributor |
|
|
sometimes its cool to group things together in an easy manner, especially when wroking with the template containers. to build a grouping container over and over again each time for different purposes, just for classes that would have the parts public anyway,is odd.
say you want to have a vector that simply contains a 2-tupel of values. maybe some measurements consisting of two values at once, or anything that logically belongs together but does not need any abstraction or scope hiding. a normal container cant do it.
Vector<float, float> vi; //would resemble VectorMap.
you just need to quickly define and access 2 things at once in a container and want to have sth like
Vector<Duo<int, int> > vi;
...
vi[i].t1 = 123;
vi[i].t2 = 234;
this looks good and is handy.
so here comes some helpers to do that
template<class T>
class Solo
{
public:
typedef Solo<T> CLASSNAME;
Solo(const T & _t) : t(_t) {}
Solo() {}
operator T & () { return t; }
operator const T & () const { return t; }
T t;
};
template<class T1, class T2>
class Duo
{
public:
typedef Duo<T1, T2> CLASSNAME;
Duo(const T1 & _t1, const T2 & _t2) : t1(_t1), t2(_t2) {}
Duo() {}
operator T1 & () { return t1; }
operator const T1 & () const { return t1; }
operator T2 & () { return t2; }
operator const T2 & () const { return t2; }
T1 t1;
T2 t2;
};
template<class T1, class T2, class T3>
class Trio
{
public:
typedef Trio<T1, T2, T3> CLASSNAME;
Trio(const T1 & _t1, const T2 & _t2, const T3 & _t3) : t1(_t1), t2(_t2), t3(_t3) {}
Trio() {}
operator T1 & () { return t1; }
operator const T1 & () const { return t1; }
operator T2 & () { return t2; }
operator const T2 & () const { return t2; }
operator T3 & () { return t3; }
operator const T3 & () const { return t3; }
T1 t1;
T2 t2;
T3 t3;
};
template<class T1, class T2, class T3, class T4>
class Quartett
{
public:
typedef Quartett<T1, T2, T3, T4> CLASSNAME;
Quartett(const T1 & _t1, const T2 & _t2, const T3 & _t3, const T4 & _t4) : t1(_t1), t2(_t2), t3(_t3), t4(_t4) {}
Quartett() {}
operator T1 & () { return t1; }
operator const T1 & () const { return t1; }
operator T2 & () { return t2; }
operator const T2 & () const { return t2; }
operator T3 & () { return t3; }
operator const T3 & () const { return t3; }
operator T4 & () { return t4; }
operator const T4 & () const { return t4; }
T1 t1;
T2 t2;
T3 t3;
T4 t4;
};
maybe they can go to Others.h..
|
|
|
 |
|
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:29:57 CEST 2025
Total time taken to generate the page: 0.01172 seconds
|