00001 #ifndef GRAL_GB_COMPLEX2D_GRIDFUNCTIONS_H
00002 #define GRAL_GB_COMPLEX2D_GRIDFUNCTIONS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00021 #include "Gral/Grids/Complex2D/complex2d.h"
00022 #include "Gral/Base/grid-function-vector.h"
00023 #include "Gral/Base/grid-function-hash.h"
00024
00025 namespace GrAL {
00026
00039 template<class T>
00040 class grid_function<Vertex2D,T>
00041 : public grid_function_vector<Vertex2D,T>
00042 {
00043 typedef grid_function<Vertex2D,T> self;
00044 typedef grid_function_vector<Vertex2D,T> base;
00045 public:
00046 typedef typename base::grid_type grid_type;
00047
00048 grid_function() {}
00049 grid_function(grid_type const& gg) : base(gg) {}
00050 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00051 };
00052
00057 template<class T>
00058 class grid_function<Cell2D,T>
00059 : public grid_function_vector<Cell2D,T>
00060 {
00061 typedef grid_function<Cell2D,T> self;
00062 typedef grid_function_vector<Cell2D,T> base;
00063 public:
00064 typedef typename base::grid_type grid_type;
00065
00066 grid_function() {}
00067 grid_function(grid_type const& gg) : base(gg) {}
00068 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00069 };
00070
00075 template<class T>
00076 class grid_function<Edge2D,T>
00077 : public grid_function_hash<Edge2D,T>
00078 {
00079 typedef grid_function<Edge2D,T> self;
00080 typedef grid_function_hash<Edge2D,T> base;
00081 public:
00082 typedef typename base::grid_type grid_type;
00083
00084 grid_function() {}
00085 grid_function(grid_type const& gg) : base(gg) {}
00086 grid_function(grid_type const& gg, T const& t) : base(gg,t) {}
00087 };
00088
00089 }
00090
00091 #endif
00092