1#ifndef DUNE_MULTIDOMAINGRID_IDSETS_HH
2#define DUNE_MULTIDOMAINGRID_IDSETS_HH
6#include <dune/grid/common/indexidset.hh>
12template<
typename HostGr
id,
typename MDGr
idTraits>
15template<
typename Gr
idImp,
typename WrappedIdSet>
17 public Dune::IdSet<GridImp,IdSetWrapper<GridImp,WrappedIdSet>,
18 typename WrappedIdSet::IdType>
21 template<
typename,
typename>
24 using HostGrid =
typename std::remove_const_t<GridImp>::HostGrid;
25 using Codim0Entity =
typename std::remove_const_t<GridImp>::Traits::template Codim<0>::Entity;
29 typedef typename WrappedIdSet::IdType
IdType;
32 IdType id(
const typename std::remove_const_t<GridImp>::Traits::template Codim<codim>::Entity& e)
const {
33 return _wrappedIdSet->id(_grid.hostEntity(e));
36 template<
typename Entity>
38 return _wrappedIdSet->id(_grid.hostEntity(e));
43 return _wrappedIdSet->subId(_grid.hostEntity(e),i,codim);
46 IdType subId(
const Codim0Entity& e,
int i,
unsigned int codim)
const {
47 return _wrappedIdSet->subId(_grid.hostEntity(e),i,codim);
53 const WrappedIdSet* _wrappedIdSet;
60 void update(
const WrappedIdSet& idSet) {
61 _wrappedIdSet = &idSet;
Definition: multidomaingrid.hh:8
A meta grid for dividing an existing DUNE grid into subdomains that can be accessed as a grid in thei...
Definition: multidomaingrid/multidomaingrid.hh:241
IdType subId(const Codim0Entity &e, int i) const
Definition: idsets.hh:42
IdType id(const Entity &e) const
Definition: idsets.hh:37
IdType subId(const Codim0Entity &e, int i, unsigned int codim) const
Definition: idsets.hh:46
IdType id(const typename std::remove_const_t< GridImp >::Traits::template Codim< codim >::Entity &e) const
Definition: idsets.hh:32
WrappedIdSet::IdType IdType
Definition: idsets.hh:29