dune-grid  2.1.1
alugrid/common/persistentcontainer.hh
Go to the documentation of this file.
00001 #ifndef DUNE_ALU_PERSISTENTCONTAINER_HH
00002 #define DUNE_ALU_PERSISTENTCONTAINER_HH
00003 
00004 #ifdef ENABLE_ALUGRID
00005 #include <dune/grid/utility/persistentcontainer.hh>
00006 #include <dune/grid/alugrid.hh>
00007 
00008 namespace Dune
00009 {
00010   // PersistentContainer for ALUGrid
00011   // -------------------------------
00012 
00013   template< int dim, int dimworld, class Data, class Allocator >
00014   class PersistentContainer< ALUConformGrid< dim, dimworld >, Data, Allocator >
00015   : public PersistentContainerVector< ALUConformGrid< dim, dimworld >, 
00016                                       typename ALUConformGrid< dim, dimworld >::HierarchicIndexSet,
00017                                       std::vector<Data,Allocator> >
00018   {
00019     typedef ALUConformGrid< dim, dimworld > GridType;
00020     typedef PersistentContainerVector< GridType, typename GridType::HierarchicIndexSet, std::vector<Data,Allocator> > BaseType;
00021 
00022   public:
00025     PersistentContainer ( const GridType &grid, const int codim, const Allocator &allocator = Allocator() )
00026     : BaseType( grid, codim, grid.hierarchicIndexSet(), 1.1, allocator )
00027     {}
00028   };
00029 
00030   template< int dim, int dimworld, class Data, class Allocator >
00031   class PersistentContainer< ALUCubeGrid< dim, dimworld >, Data, Allocator >
00032   : public PersistentContainerVector< ALUCubeGrid< dim, dimworld >,
00033                                       typename ALUCubeGrid< dim, dimworld >::HierarchicIndexSet,
00034                                       std::vector<Data,Allocator> >
00035   {
00036     typedef ALUCubeGrid< dim, dimworld > GridType;
00037     typedef PersistentContainerVector< GridType, typename GridType::HierarchicIndexSet, std::vector<Data,Allocator> > BaseType;
00038 
00039   public:
00042     PersistentContainer ( const GridType &grid, const int codim, const Allocator &allocator = Allocator() )
00043     : BaseType( grid, codim, grid.hierarchicIndexSet(), 1.1, allocator )
00044     {}
00045   };
00046 
00047   template< int dim, int dimworld, class Data, class Allocator >
00048   class PersistentContainer< ALUSimplexGrid< dim, dimworld >, Data, Allocator >
00049   : public PersistentContainerVector< ALUSimplexGrid< dim, dimworld >, 
00050                                       typename ALUSimplexGrid< dim, dimworld >::HierarchicIndexSet,
00051                                       std::vector<Data,Allocator> >
00052   {
00053     typedef ALUSimplexGrid< dim, dimworld > GridType;
00054     typedef PersistentContainerVector< GridType, typename GridType::HierarchicIndexSet, std::vector<Data,Allocator> > BaseType;
00055 
00056   public:
00059     PersistentContainer ( const GridType &grid, const int codim, const Allocator &allocator = Allocator() )
00060     : BaseType( grid, codim, grid.hierarchicIndexSet(), 1.1, allocator )
00061     {}
00062   };
00063 } // end namespace Dune
00064 #endif // ENABLE_ALU
00065 
00066 #endif // end DUNE_ALU_PERSISTENTCONTAINER_HH