albertagrid/leafiterator.hh
00001 #ifndef DUNE_ALBERTA_LEAFITERATOR_HH
00002 #define DUNE_ALBERTA_LEAFITERATOR_HH
00003
00004 #include <dune/grid/common/leafiterator.hh>
00005
00006 #include <dune/grid/albertagrid/treeiterator.hh>
00007
00008 namespace Dune
00009 {
00010
00011
00012
00013
00014 template< int codim, PartitionIteratorType pitype, class GridImp >
00015 class AlbertaGridLeafIterator
00016 : public AlbertaGridTreeIterator< codim, GridImp, true >
00017 {
00018 typedef AlbertaGridLeafIterator< codim, pitype, GridImp > This;
00019 typedef AlbertaGridTreeIterator< codim, GridImp, true > Base;
00020
00021 public:
00022 typedef typename Base::Entity Entity;
00023 typedef typename Base::MarkerVector MarkerVector;
00024
00026 AlbertaGridLeafIterator ( const GridImp &grid, int level )
00027 : Base( grid, level )
00028 {}
00029
00031 AlbertaGridLeafIterator ( const GridImp &grid,
00032 const MarkerVector *vec,
00033 int level )
00034 : Base( grid, vec, level )
00035 {}
00036
00038 void increment ()
00039 {
00040 Base::increment();
00041 }
00042 };
00043
00044
00045 template< int codim, class GridImp >
00046 class AlbertaGridLeafIterator< codim, Ghost_Partition, GridImp >
00047 : public AlbertaGridTreeIterator< codim, GridImp, true >
00048 {
00049 typedef AlbertaGridLeafIterator< codim, Ghost_Partition, GridImp > This;
00050 typedef AlbertaGridTreeIterator< codim, GridImp, true > Base;
00051
00052 public:
00053 typedef typename Base::Entity Entity;
00054 typedef typename Base::MarkerVector MarkerVector;
00055
00057 AlbertaGridLeafIterator ( const GridImp &grid, int level )
00058 : Base( grid, level )
00059 {}
00060
00062 AlbertaGridLeafIterator ( const GridImp &grid,
00063 const MarkerVector *vec,
00064 int level )
00065 : Base( grid, level )
00066 {}
00067
00069 void increment ()
00070 {
00071 Base::increment();
00072 }
00073 };
00074
00075 }
00076
00077 #endif // #ifndef DUNE_ALBERTA_LEAFITERATOR_HH