ESyS-Particle  4.0.1
quadtuple.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 
00014 #ifndef ESYS_LSMQUADTUPLE_H
00015 #define ESYS_LSMQUADTUPLE_H
00016 
00017 #include <boost/tuple/tuple.hpp>
00018 
00019 namespace esys
00020 {
00021   namespace lsm
00022   {
00023     template <typename T1, typename T2, typename T3, typename T4>
00024     class quadtuple : public boost::tuple<T1,T2,T3,T4>
00025     {
00026     public:
00027       typedef boost::tuple<T1,T2,T3,T4> inherited;
00028       inline quadtuple() : inherited()
00029       {
00030       }
00031 
00032       inline quadtuple(const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4)
00033         : inherited(t1,t2,t3,t4)
00034       {
00035       }
00036 
00037       inline quadtuple(const quadtuple &quad)
00038         : inherited(quad)
00039       {
00040       }
00041 
00042       inline quadtuple &operator=(const quadtuple &quad)
00043       {
00044         inherited::operator=(quad);
00045         return *this;
00046       }
00047     };
00048   };
00049 };
00050 
00051 #endif