2 #ifndef DUNE_SELECTION_HH
3 #define DUNE_SELECTION_HH
24 template<
typename TS,
typename TG,
typename TL,
int N>
52 : iter_(iter), end_(end)
55 while(iter_!=end_ && !AttributeSet::contains(iter_->local().attribute()))
62 for(++iter_;iter_!=end_; ++iter_)
63 if(AttributeSet::contains(iter_->local().attribute()))
70 return iter_->local().local();
75 return iter_ == other.iter_;
80 return iter_ != other.iter_;
92 template<
typename TS,
typename TG,
typename TL,
int N>
139 : indexSet_(&indexset)
173 template<
typename TS,
typename TG,
typename TL,
int N>
220 : selected_(), size_(0), built_(false)
263 template<
typename TS,
typename TG,
typename TL,
int N>
271 const const_iterator end = indexset.
end();
274 for(const_iterator index = indexset.
begin(); index != end; ++index)
275 if(AttributeSet::contains(index->local().attribute()))
278 selected_ =
new uint32_t[entries];
282 for(const_iterator index = indexset.
begin(); index != end; ++index)
283 if(AttributeSet::contains(index->local().attribute()))
284 selected_[entries++]= index->local().local();
290 template<
typename TS,
typename TG,
typename TL,
int N>
296 template<
typename TS,
typename TG,
typename TL,
int N>
299 return selected_+size_;
302 template<
typename TS,
typename TG,
typename TL,
int N>
310 template<
typename TS,
typename TG,
typename TL,
int N>
317 template<
typename TS,
typename TG,
typename TL,
int N>
324 template<
typename TS,
typename TG,
typename TL,
int N>
330 template<
typename TS,
typename TG,
typename TL,
int N>
333 indexSet_ = &indexset;