#ifndef STLPLUS_FOURSOME #define STLPLUS_FOURSOME //////////////////////////////////////////////////////////////////////////////// // Author: Andy Rushton, from an original by Dan Milton // Copyright: (c) Southampton University 1999-2004 // (c) Andy Rushton 2004-2009 // License: BSD License, see ../docs/license.html // The next in the series pair->triple->foursome // Originally called quadruple but that clashed (as did quad) with system // libraries on some operating systems //////////////////////////////////////////////////////////////////////////////// #include "containers_fixes.hpp" namespace stlplus { //////////////////////////////////////////////////////////////////////////////// // the foursome class template struct foursome { typedef T1 first_type; typedef T2 second_type; typedef T3 third_type; typedef T4 fourth_type; T1 first; T2 second; T3 third; T4 fourth; foursome(void); foursome(const T1& p1, const T2& p2, const T3& p3, const T4& p4); foursome(const foursome& t2); }; //////////////////////////////////////////////////////////////////////////////// // creation template foursome make_foursome(const T1& first, const T2& second, const T3& third, const T4& fourth); //////////////////////////////////////////////////////////////////////////////// // comparison template bool operator == (const foursome& left, const foursome& right); //////////////////////////////////////////////////////////////////////////////// } // end namespace stlplus #include "foursome.tpp" #endif