3 #ifndef DUNE_GRID_COMMON_MAPPER_HH
4 #define DUNE_GRID_COMMON_MAPPER_HH
8 #include <dune/common/bartonnackmanifcheck.hh>
106 template <
typename G,
typename MapperImp,
typename IndexType=
int>
119 template<
class EntityType>
122 CHECK_INTERFACE_IMPLEMENTATION((asImp().map(e)));
123 return asImp().index(e);
136 unsigned int codim)
const
138 CHECK_INTERFACE_IMPLEMENTATION((asImp().map(e,i,codim)));
139 return asImp().subIndex(e,i,codim);
152 CHECK_INTERFACE_IMPLEMENTATION((asImp().
size()));
153 return asImp().size();
164 template<
class EntityType>
165 bool contains (
const EntityType& e, IndexType& result)
const
167 CHECK_INTERFACE_IMPLEMENTATION((asImp().
contains(e,result )));
168 return asImp().contains(e,result );
181 bool contains (
const typename G::Traits::template Codim<0>::Entity& e,
int i,
int cc, IndexType& result)
const
183 CHECK_INTERFACE_IMPLEMENTATION((asImp().
contains(e,i,cc,result)))
184 return asImp().contains(e,i,cc,result);
189 template <
class Gr
idView>
192 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((asImp().
update(std::forward<GridView>(gridView))));
197 [[deprecated(
"Use update(gridView) instead! Will be removed after release 2.8. Mappers have to implement update(gridView).")]]
200 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((asImp().
update()));
205 MapperImp& asImp () {
return static_cast<MapperImp &
> (*this);}
207 const MapperImp& asImp ()
const {
return static_cast<const MapperImp &
>(*this);}
212 #undef CHECK_INTERFACE_IMPLEMENTATION
213 #undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
Include standard header files.
Definition: agrid.hh:58
Grid view abstract base class.
Definition: common/gridview.hh:63
Mapper interface.
Definition: mapper.hh:108
auto size() const
Return total number of entities in the entity set managed by the mapper.
Definition: mapper.hh:150
void update(GridView &&gridView)
Reinitialize mapper after grid has been modified.
Definition: mapper.hh:190
void update()
Reinitialize mapper after grid has been modified.
Definition: mapper.hh:198
Index index(const EntityType &e) const
Map entity to array index.
Definition: mapper.hh:120
IndexType Index
Number type used for indices.
Definition: mapper.hh:112
Index subIndex(const typename G::Traits::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
Map subentity i of codim cc of a codim 0 entity to array index.
Definition: mapper.hh:134
bool contains(const typename G::Traits::template Codim< 0 >::Entity &e, int i, int cc, IndexType &result) const
Returns true if the subentity is contained in the index set and at the same time the array index is r...
Definition: mapper.hh:181
bool contains(const EntityType &e, IndexType &result) const
Returns true if the entity is contained in the index set and at the same time the array index is retu...
Definition: mapper.hh:165