4 #ifndef DUNE_SELECTION_HH
5 #define DUNE_SELECTION_HH
26 template<
typename TS,
typename TG,
typename TL,
int N>
54 : iter_(iter), end_(end)
57 while(iter_!=end_ && !AttributeSet::contains(iter_->local().attribute()))
64 for(++iter_; iter_!=end_; ++iter_)
65 if(AttributeSet::contains(iter_->local().attribute()))
72 return iter_->local().local();
77 return iter_ == other.iter_;
82 return iter_ != other.iter_;
94 template<
typename TS,
typename TG,
typename TL,
int N>
141 : indexSet_(&indexset)
175 template<
typename TS,
typename TG,
typename TL,
int N>
222 : selected_(), size_(0), built_(false)
265 template<
typename TS,
typename TG,
typename TL,
int N>
273 const const_iterator end = indexset.
end();
276 for(const_iterator index = indexset.
begin(); index != end; ++index)
277 if(AttributeSet::contains(index->local().attribute()))
280 selected_ =
new uint32_t[entries];
284 for(const_iterator index = indexset.
begin(); index != end; ++index)
285 if(AttributeSet::contains(index->local().attribute()))
286 selected_[entries++]= index->local().local();
292 template<
typename TS,
typename TG,
typename TL,
int N>
298 template<
typename TS,
typename TG,
typename TL,
int N>
301 return selected_+
size_;
304 template<
typename TS,
typename TG,
typename TL,
int N>
312 template<
typename TS,
typename TG,
typename TL,
int N>
319 template<
typename TS,
typename TG,
typename TL,
int N>
326 template<
typename TS,
typename TG,
typename TL,
int N>
332 template<
typename TS,
typename TG,
typename TL,
int N>
335 indexSet_ = &indexset;