1#ifndef DUNE_MULTIDOMAINGRID_SINGLEVALUESET_HH
2#define DUNE_MULTIDOMAINGRID_SINGLEVALUESET_HH
7#include <dune/common/typetraits.hh>
8#include <dune/common/exceptions.hh>
23 const SingleValueSet<SI>& b);
27void setAdd(SingleValueSet<SI>& a,
28 const SingleValueSet<SI>& b);
65 template<
typename MessageBufferImp>
71 template<
typename MessageBufferImp>
76 assert(sds._set ==
emptyTag || sds._set == i);
87 return &_set + (_set !=
emptyTag ? 1 : 0);
91 return _set == domain;
94 template<
typename Set>
120 assert(_set ==
emptyTag || _set == domain);
125 assert(_set == domain);
133 template<
typename Set>
139 assert(_set == domain);
156 return a._set == b._set;
Definition: multidomaingrid.hh:8
bool setContains(const ArrayBasedSet< SI, capacity > &a, const ArrayBasedSet< SI, capacity > &b)
void setAdd(ArrayBasedSet< SI, capacity > &a, const ArrayBasedSet< SI, capacity > &b)
Definition: singlevalueset.hh:32
SingleValueSet< SubDomainIndex > This
Definition: singlevalueset.hh:47
std::size_t size() const
Definition: singlevalueset.hh:111
friend bool setContains(const SingleValueSet< SI > &a, const SingleValueSet< SI > &b)
Definition: singlevalueset.hh:154
SetState state() const
Definition: singlevalueset.hh:107
SI SubDomainIndex
Definition: singlevalueset.hh:42
bool simple() const
Definition: singlevalueset.hh:99
const SubDomainIndex * Iterator
Definition: singlevalueset.hh:46
void addAll(const Set &set)
Definition: singlevalueset.hh:134
bool containsAll(const Set &set) const
Definition: singlevalueset.hh:95
int domainOffset(SubDomainIndex domain) const
Definition: singlevalueset.hh:138
Iterator end() const
Definition: singlevalueset.hh:86
static const SubDomainIndex emptyTag
Definition: singlevalueset.hh:45
SingleValueSet()
Definition: singlevalueset.hh:143
void remove(SubDomainIndex domain)
Definition: singlevalueset.hh:124
bool contains(SubDomainIndex domain) const
Definition: singlevalueset.hh:90
bool empty() const
Definition: singlevalueset.hh:103
Iterator begin() const
Definition: singlevalueset.hh:82
SetState
Definition: singlevalueset.hh:49
@ multipleSet
Definition: singlevalueset.hh:49
@ simpleSet
Definition: singlevalueset.hh:49
@ emptySet
Definition: singlevalueset.hh:49
void clear()
Definition: singlevalueset.hh:115
void set(SubDomainIndex domain)
Definition: singlevalueset.hh:129
static const std::size_t maxSize
Definition: singlevalueset.hh:44
void add(SubDomainIndex domain)
Definition: singlevalueset.hh:119
friend void setAdd(SingleValueSet< SI > &a, const SingleValueSet< SI > &b)
Definition: singlevalueset.hh:160
Definition: singlevalueset.hh:52
static void gather(MessageBufferImp &buf, const SingleValueSet &sds)
Definition: singlevalueset.hh:66
static void scatter(MessageBufferImp &buf, SingleValueSet &sds, std::size_t n)
Definition: singlevalueset.hh:72
static bool fixedSize(int dim, int codim)
Definition: singlevalueset.hh:55
static std::size_t size(const SingleValueSet &sds)
Definition: singlevalueset.hh:60
SubDomainIndex DataType
Definition: singlevalueset.hh:53