\r
// Author: Andy Rushton, from an original by Dan Milton\r
// Copyright: (c) Southampton University 1999-2004\r
-// (c) Andy Rushton 2004-2009\r
+// (c) Andy Rushton 2004 onwards\r
// License: BSD License, see ../docs/license.html\r
\r
////////////////////////////////////////////////////////////////////////////////\r
bool operator == (const foursome<T1,T2,T3,T4>& left, const foursome<T1,T2,T3,T4>& right)\r
{\r
// foursomes are equal if all elements are equal\r
- return \r
- left.first == right.first && \r
- left.second == right.second && \r
+ return\r
+ left.first == right.first &&\r
+ left.second == right.second &&\r
left.third == right.third &&\r
left.fourth == right.fourth;\r
}\r
\r
+ template<typename T1, typename T2, typename T3, typename T4>\r
+ bool operator < (const foursome<T1,T2,T3,T4>& left, const foursome<T1,T2,T3,T4>& right)\r
+ {\r
+ // use the < operator on each element\r
+ return left.first < right.first ? true :\r
+ right.first < left.first ? false :\r
+ left.second < right.second ? true :\r
+ right.second < left.second ? false :\r
+ left.third < right.third ? true :\r
+ right.third < left.third ? false :\r
+ left.fourth < right.fourth;\r
+ }\r
+\r
////////////////////////////////////////////////////////////////////////////////\r
\r
} // end namespace stlplus\r