+ 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