5#ifndef DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_HH
6#define DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_HH
33 template<
typename Gr
id>
39 : _grid(grid), _codim(codim)
48 template<
class Entity>
52 std::size_t level = e.
level();
53 return _grid.indexsets[level]->template
index<cc>(e) + _offsets[level];
57 template<
class Entity >
62 std::size_t level = e.
level();
63 return _grid.indexsets[level]->template
subIndex<cc>(e,i,codim) + _offsets[level];
67 std::size_t
size (
int )
const
69 if (_grid.indexsets.size()+1 != _offsets.size())
71 return _offsets.back();
75 void recomputeOffsets()
const
77 _offsets.resize(_grid.indexsets.
size()+1,0);
79 for (std::size_t i=0; i<_grid.indexsets.
size(); i++)
80 _offsets[i+1] = _offsets[i] + _grid.indexsets[i]->
size(_codim);
85 mutable std::vector<std::size_t> _offsets;
94 template<
int dim,
class CoordCont,
class T>
102 YaspPersistentContainerIndex< const YaspGrid<dim, CoordCont> >,
115 : IndexSet(
grid, codim),
116 Base(*this, codim, value)
Include standard header files.
Definition agrid.hh:60
Wrapper class for entities.
Definition common/entity.hh:66
int level() const
The level of this entity.
Definition common/entity.hh:124
static constexpr int codimension
Know your own codimension.
Definition common/entity.hh:106
Grid abstract base class.
Definition common/grid.hh:375
int size(int level, int codim) const
Return number of grid entities of a given codim on a given level in this process.
Definition common/grid.hh:538
Base::Value Value
Definition utility/persistentcontainer.hh:27
const Grid & grid() const
Definition persistentcontainermap.hh:114
PersistentContainerVector(const YaspPersistentContainerIndex< const YaspGrid< dim, CoordCont > > &indexSet, int codim, const Value &value, const Allocator &allocator=Allocator())
Definition persistentcontainervector.hh:64
std::vector< T >::value_type Value
Definition persistentcontainervector.hh:57
YaspGrid< dim, CoordCont > Grid
Definition persistentcontainervector.hh:55
Size size() const
Definition persistentcontainervector.hh:105
[ provides Dune::Grid ]
Definition yaspgrid.hh:166
IndexType index(const Entity &e) const
Map entity to index. The result of calling this method with an entity that is not in the index set is...
Definition yaspgridpersistentcontainer.hh:49
std::size_t size(int) const
Return total number of entities of given geometry type in entity set .
Definition yaspgridpersistentcontainer.hh:67
IndexType subIndex(const Entity &e, int i, unsigned int codim) const
Map a subentity to an index.
Definition yaspgridpersistentcontainer.hh:58
YaspPersistentContainerIndex(const Grid &grid, int codim)
Definition yaspgridpersistentcontainer.hh:38
std::size_t IndexType
The type used for the indices.
Definition yaspgridpersistentcontainer.hh:45
Base::Grid Grid
Definition yaspgridpersistentcontainer.hh:109
Base::Value Value
Definition yaspgridpersistentcontainer.hh:110
PersistentContainer(const Grid &grid, int codim, const Value &value=Value())
Definition yaspgridpersistentcontainer.hh:114