ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-4/src/utils/Tuple.hpp
Revision: 1683
Committed: Thu Oct 28 22:34:02 2004 UTC (19 years, 8 months ago)
File size: 1060 byte(s)
Log Message:
This commit was manufactured by cvs2svn to create branch 'new_design'.

File Contents

# Content
1 #ifndef UTILS_TUPLE_HPP
2 #define UTILS_TUPLE_HPP
3
4 namespace oopse {
5
6 template <class T1, class T2, class T3>
7 struct tuple3 {
8 typedef T1 first_type;
9 typedef T2 second_type;
10 typedef T3 third_type;
11
12 T1 first;
13 T2 second;
14 T3 third;
15 tuple3() {}
16 tuple3(const T1& a, const T2& b, const T3& c) : first(a), second(b), third(c) {}
17 };
18
19 template <class T1, class T2, class T3>
20 tuple3<T1,T2,T3> make_tuple3( T1 t1, T2 t2, T3 t3 ) {
21 return tuple3<T1,T2,T3>( t1, t2, t3 );
22 }
23
24
25 template <class T1, class T2, class T3, class T4>
26 struct tuple4 {
27 typedef T1 first_type;
28 typedef T2 second_type;
29 typedef T3 third_type;
30 typedef T4 fourth_type;
31
32 T1 first;
33 T2 second;
34 T3 third;
35 T4 fourth;
36 tuple4() {}
37 tuple4(const T1& a, const T2& b, const T3& c, const T4& d)
38 : first(a), second(b), third(c), fourth(d) {}
39 };
40
41 template <class T1, class T2, class T3, class T4>
42 tuple4<T1,T2,T3,T4> make_tuple4( T1 t1, T2 t2, T3 t3, T4 t4 ) {
43 return tuple4<T1,T2,T3,T4>( t1, t2, t3, t4 );
44 }
45
46 }
47 #endif //UTILS_TUPLE_HPP
48