]> Dogcows Code - chaz/yoink/blob - foursome.hpp
36437f1671b287ffef593797dbc967e12ebd504c
[chaz/yoink] / foursome.hpp
1 #ifndef STLPLUS_FOURSOME
2 #define STLPLUS_FOURSOME
3 ////////////////////////////////////////////////////////////////////////////////
4
5 // Author: Andy Rushton, from an original by Dan Milton
6 // Copyright: (c) Southampton University 1999-2004
7 // (c) Andy Rushton 2004-2009
8 // License: BSD License, see ../docs/license.html
9
10 // The next in the series pair->triple->foursome
11
12 // Originally called quadruple but that clashed (as did quad) with system
13 // libraries on some operating systems
14
15 ////////////////////////////////////////////////////////////////////////////////
16 #include "containers_fixes.hpp"
17
18 namespace stlplus
19 {
20
21 ////////////////////////////////////////////////////////////////////////////////
22 // the foursome class
23
24 template<typename T1, typename T2, typename T3, typename T4>
25 struct foursome
26 {
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
37 foursome(void);
38 foursome(const T1& p1, const T2& p2, const T3& p3, const T4& p4);
39 foursome(const foursome<T1,T2,T3,T4>& t2);
40 };
41
42 ////////////////////////////////////////////////////////////////////////////////
43 // creation
44
45 template<typename T1, typename T2, typename T3, typename T4>
46 foursome<T1,T2,T3,T4> make_foursome(const T1& first, const T2& second, const T3& third, const T4& fourth);
47
48 ////////////////////////////////////////////////////////////////////////////////
49 // comparison
50
51 template<typename T1, typename T2, typename T3, typename T4>
52 bool operator == (const foursome<T1,T2,T3,T4>& left, const foursome<T1,T2,T3,T4>& right);
53
54 ////////////////////////////////////////////////////////////////////////////////
55
56 } // end namespace stlplus
57
58 #include "foursome.tpp"
59 #endif
This page took 0.039097 seconds and 3 git commands to generate.