ESyS-Particle
4.0.1
|
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 #ifndef ESYS_LSMTRIPLET_H 00014 #define ESYS_LSMTRIPLET_H 00015 00016 #include <boost/tuple/tuple.hpp> 00017 00018 namespace esys 00019 { 00020 namespace lsm 00021 { 00022 template <typename T1, typename T2, typename T3> 00023 class triplet : public boost::tuple<T1,T2,T3> 00024 { 00025 public: 00026 typedef boost::tuple<T1,T2,T3> inherited; 00027 inline triplet() : inherited() 00028 { 00029 } 00030 00031 inline triplet(const T1 &t1, const T2 &t2, const T3 &t3) 00032 : inherited(t1,t2,t3) 00033 { 00034 } 00035 00036 inline triplet(const triplet &trip) 00037 : inherited(trip) 00038 { 00039 } 00040 00041 inline triplet &operator=(const triplet &trip) 00042 { 00043 inherited::operator=(trip); 00044 return *this; 00045 } 00046 }; 00047 }; 00048 }; 00049 00050 #endif