1#ifndef DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_INDEXSET_HH
2#define DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_INDEXSET_HH
6#include <dune/common/typetraits.hh>
8#include <dune/grid/common/gridenums.hh>
9#include <dune/grid/common/indexidset.hh>
20 template<
class HostIndexSet >
29 : hostIndexSet_( &hostIndexSet )
32 int size (
const GeometryType &type )
const {
return hostIndexSet().size( type ); }
33 int size (
const int codim )
const {
return hostIndexSet().size( codim ); }
35 template<
class Entity >
36 int index (
const Entity &entity )
const
38 return hostIndexSet().index( entity.impl().hostEntity() );
41 template<
class Entity >
42 int subIndex (
const Entity &entity,
const int local,
const unsigned int codim )
const
44 return hostIndexSet().subIndex( entity.impl().hostEntity(), local, codim );
47 const std::vector< GeometryType > &
geomTypes (
const int codim )
const
49 return hostIndexSet().geomTypes( codim );
52 template<
class Entity >
55 return hostIndexSet().contains( entity.impl().hostEntity() );
58 bool consecutive ()
const {
return hostIndexSet().consecutive(); }
59 bool persistent ()
const {
return hostIndexSet().persistent(); }
61 int numberOfHoles (
const int codim )
const {
return hostIndexSet().numberOfHoles( codim ); }
63 int oldIndex (
const int hole,
const int codim )
const
65 return hostIndexSet().oldIndex( hole, codim );
68 int newIndex (
const int hole,
const int codim )
const
70 return hostIndexSet().newIndex( hole, codim );
73 std::string
name ()
const {
return "GeometryGridPart::IndexSet" ; }
76 const HostIndexSet &hostIndexSet ()
const
78 assert( hostIndexSet_ );
79 return *hostIndexSet_;
82 const HostIndexSet *hostIndexSet_;
Definition: bindguard.hh:11
Definition: geometrygridpart/indexset.hh:22
int newIndex(const int hole, const int codim) const
Definition: geometrygridpart/indexset.hh:68
const std::vector< GeometryType > & geomTypes(const int codim) const
Definition: geometrygridpart/indexset.hh:47
int index(const Entity &entity) const
Definition: geometrygridpart/indexset.hh:36
int oldIndex(const int hole, const int codim) const
Definition: geometrygridpart/indexset.hh:63
HostIndexSet::IndexType IndexType
Definition: geometrygridpart/indexset.hh:26
bool contains(const Entity &entity) const
Definition: geometrygridpart/indexset.hh:53
std::string name() const
Definition: geometrygridpart/indexset.hh:73
int subIndex(const Entity &entity, const int local, const unsigned int codim) const
Definition: geometrygridpart/indexset.hh:42
int numberOfHoles(const int codim) const
Definition: geometrygridpart/indexset.hh:61
GeometryGridPartIndexSet(const HostIndexSet &hostIndexSet)
Definition: geometrygridpart/indexset.hh:28
int size(const int codim) const
Definition: geometrygridpart/indexset.hh:33
int size(const GeometryType &type) const
Definition: geometrygridpart/indexset.hh:32
bool consecutive() const
Definition: geometrygridpart/indexset.hh:58
bool persistent() const
Definition: geometrygridpart/indexset.hh:59