1#ifndef DUNE_FEM_GRIDPART_COMMON_INDEXSETWRAPPER_HH
2#define DUNE_FEM_GRIDPART_COMMON_INDEXSETWRAPPER_HH
19 template<
class IndexSet >
20 class NonAdaptiveIndexSet;
27 template<
class IndexSet >
36 :
public IndexSet::template
Codim< codim >
52 template<
class IndexSet >
63 : indexSet_( indexSet )
69 return indexSet().
types( codim );
73 template<
class Entity >
76 return indexSet().
contains( entity );
82 return indexSet().
size( type );
88 return indexSet().
size( codim );
92 template<
class Entity >
95 return index< Entity::codimension >( entity );
102 return indexSet().template index< codim >( entity );
106 template<
class Entity >
109 return subIndex< Entity::codimension >( entity, i, cd );
113 template<
int codim >
116 return indexSet().template subIndex< codim >( entity, i, cd );
123 static constexpr bool compress () noexcept {
return false; }
168 const IndexSet &indexSet ()
const {
return indexSet_; }
170 const IndexSet &indexSet_;
175 namespace Capabilities
178 template<
class IndexSet >
181 static const bool v =
false;
184 template<
class IndexSet >
187 static const bool v =
false;
Definition: bindguard.hh:11
interface documentation for (grid part) index sets
Definition: common/indexset.hh:104
Traits::Types Types
geometry type range type
Definition: common/indexset.hh:120
bool contains(const Entity &entity) const
return true if entity has index
Definition: common/indexset.hh:134
IndexType size(GeometryType type) const
return number of entities of given type
Definition: common/indexset.hh:140
Types types(int codim) const
return range of geometry types
Definition: common/indexset.hh:127
static const int dimension
grid dimension
Definition: common/indexset.hh:107
Traits::IndexType IndexType
index type
Definition: common/indexset.hh:117
extended interface for adaptive, consecutive index sets
Definition: common/indexset.hh:278
specialize with true if index set implements the interface for consecutive index sets
Definition: common/indexset.hh:42
static const bool v
Definition: common/indexset.hh:49
specialize with true if index set implements the interface for adaptive index sets
Definition: common/indexset.hh:64
static const bool v
Definition: common/indexset.hh:71
Definition: common/indexset.hh:111
wrapper for (adaptive) index sets that disables all support for adaptivity
Definition: nonadaptiveindexset.hh:55
IndexType subIndex(const typename BaseType::template Codim< codim >::Entity &entity, int i, unsigned int cd) const
return index for given subentity
Definition: nonadaptiveindexset.hh:114
static void resize()
please doc me
Definition: nonadaptiveindexset.hh:120
static constexpr int oldIndex(...) noexcept
return old index for given hole and type
Definition: nonadaptiveindexset.hh:156
void restore()
please doc me
Definition: nonadaptiveindexset.hh:137
BaseType::IndexType IndexType
index type
Definition: nonadaptiveindexset.hh:60
IndexType size(int codim) const
Definition: nonadaptiveindexset.hh:86
IndexType size(GeometryType type) const
return number of entities of given type
Definition: nonadaptiveindexset.hh:80
static constexpr int newIndex(...) noexcept
return new index for given hole and type
Definition: nonadaptiveindexset.hh:162
IndexType subIndex(const Entity &entity, int i, unsigned int cd) const
return index for given subentity
Definition: nonadaptiveindexset.hh:107
void write(OutStreamInterface< T > &stream) const
please doc me
Definition: nonadaptiveindexset.hh:141
IndexType index(const Entity &entity) const
return index for given entity
Definition: nonadaptiveindexset.hh:93
static void insertEntity(const typename BaseType::template Codim< 0 >::Entity &)
please doc me
Definition: nonadaptiveindexset.hh:126
static void removeEntity(const typename BaseType::template Codim< 0 >::Entity &)
please doc me
Definition: nonadaptiveindexset.hh:130
void backup() const
please doc me
Definition: nonadaptiveindexset.hh:134
NonAdaptiveIndexSet(const IndexSet &indexSet)
Definition: nonadaptiveindexset.hh:62
static constexpr bool compress() noexcept
please doc me
Definition: nonadaptiveindexset.hh:123
BaseType::Types types(int codim) const
return range of geometry types
Definition: nonadaptiveindexset.hh:67
void read(InStreamInterface< T > &stream)
please doc me
Definition: nonadaptiveindexset.hh:146
bool contains(const Entity &entity) const
return true if entity has index
Definition: nonadaptiveindexset.hh:74
IndexType index(const typename BaseType::template Codim< codim >::Entity &entity) const
return index for given entity
Definition: nonadaptiveindexset.hh:100
static constexpr int numberOfHoles(...) noexcept
return number of holes for given type
Definition: nonadaptiveindexset.hh:150
Definition: nonadaptiveindexset.hh:29
static const int dimension
Definition: nonadaptiveindexset.hh:32
NonAdaptiveIndexSet< IndexSet > IndexSetType
Definition: nonadaptiveindexset.hh:30
IndexSet::IndexType IndexType
Definition: nonadaptiveindexset.hh:39
IndexSet::Types Types
Definition: nonadaptiveindexset.hh:41
Definition: nonadaptiveindexset.hh:37
abstract interface for an output stream
Definition: streams.hh:46
abstract interface for an input stream
Definition: streams.hh:179