1 ////////////////////////////////////////////////////////////////////////////////
3 // Author: Andy Rushton, from an original by Dan Milton
4 // Copyright: (c) Southampton University 1999-2004
5 // (c) Andy Rushton 2004-2009
6 // License: BSD License, see ../docs/license.html
8 ////////////////////////////////////////////////////////////////////////////////
13 ////////////////////////////////////////////////////////////////////////////////
16 template<typename T1, typename T2, typename T3>
17 triple<T1,T2,T3>::triple(void) :
18 first(), second(), third()
22 template<typename T1, typename T2, typename T3>
23 triple<T1,T2,T3>::triple(const T1& p1, const T2& p2, const T3& p3) :
24 first(p1), second(p2), third(p3)
28 template<typename T1, typename T2, typename T3>
29 triple<T1,T2,T3>::triple(const triple<T1,T2,T3>& t2) :
30 first(t2.first), second(t2.second), third(t2.third)
34 ////////////////////////////////////////////////////////////////////////////////
37 template<typename T1, typename T2, typename T3>
38 triple<T1,T2,T3> make_triple(const T1& first, const T2& second, const T3& third)
40 return triple<T1,T2,T3>(first,second,third);
43 ////////////////////////////////////////////////////////////////////////////////
46 template<typename T1, typename T2, typename T3>
47 bool operator == (const triple<T1,T2,T3>& left, const triple<T1,T2,T3>& right)
49 // triples are equal if all elements are equal
50 return left.first == right.first && left.second == right.second && left.third == right.third;
53 ////////////////////////////////////////////////////////////////////////////////
55 } // end namespace stlplus