|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_filtered_iterator_h
17 # define dealii_filtered_iterator_h
65 template <
class Iterator>
85 template <
class Iterator>
105 template <
class Iterator>
132 template <
class Iterator>
167 template <
class Iterator>
197 template <
class Iterator>
217 template <
class Iterator>
255 template <
class Iterator>
302 template <
class Iterator>
331 template <
class Iterator>
528 template <
typename BaseIterator>
541 template <
typename Predicate>
561 template <
typename Predicate>
697 <<
"The element " << arg1
698 <<
" with which you want to compare or which you want to"
699 <<
" assign from is invalid since it does not satisfy the predicate.");
731 virtual std::unique_ptr<PredicateBase>
744 template <
typename Predicate>
763 virtual std::unique_ptr<PredicateBase>
764 clone()
const override;
792 template <
typename BaseIterator,
typename Predicate>
805 namespace FilteredIteratorImplementation
811 template <
typename BaseIterator,
typename TypeList>
814 template <
typename BaseIterator,
typename Predicate>
820 template <
typename BaseIterator,
typename Predicate,
typename... Targs>
865 template <
typename BaseIterator,
typename Predicate>
914 template <
typename BaseIterator,
typename Predicate,
typename... Targs>
916 typename internal::FilteredIteratorImplementation::
917 NestFilteredIterators<
BaseIterator, std::tuple<Predicate, Targs...>>::type>
931 template <
typename BaseIterator>
932 template <
typename Predicate>
939 template <
typename BaseIterator>
940 template <
typename Predicate>
952 template <
typename BaseIterator>
960 , predicate(fi.predicate->clone())
965 template <
typename BaseIterator>
975 return operator=(bi);
980 template <
typename BaseIterator>
985 ExcInvalidElement(bi));
986 BaseIterator::operator=(bi);
992 template <
typename BaseIterator>
996 BaseIterator::operator=(bi);
1005 template <
typename BaseIterator>
1009 BaseIterator::operator=(bi);
1011 BaseIterator::operator--();
1018 template <
typename BaseIterator>
1028 template <
typename BaseIterator>
1038 template <
typename BaseIterator>
1048 template <
typename BaseIterator>
1052 return (
static_cast<const BaseIterator &
>(*
this) == bi);
1057 template <
typename BaseIterator>
1061 return (
static_cast<const BaseIterator &
>(*
this) != bi);
1066 template <
typename BaseIterator>
1070 return (
static_cast<const BaseIterator &
>(*
this) < bi);
1074 template <
typename BaseIterator>
1087 template <
typename BaseIterator>
1102 template <
typename BaseIterator>
1108 BaseIterator::operator--();
1115 template <
typename BaseIterator>
1123 BaseIterator::operator--();
1130 template <
typename BaseIterator>
1131 template <
typename Predicate>
1134 : predicate(predicate)
1139 template <
typename BaseIterator>
1140 template <
typename Predicate>
1150 template <
typename BaseIterator>
1151 template <
typename Predicate>
1152 std::unique_ptr<typename FilteredIterator<BaseIterator>::PredicateBase>
1155 return std_cxx14::make_unique<PredicateTemplate>(
predicate);
1164 template <
class Iterator>
1168 return i->is_active();
1174 template <
class Iterator>
1178 return (i->user_flag_set());
1184 template <
class Iterator>
1188 return (!i->user_flag_set());
1193 inline LevelEqualTo::LevelEqualTo(
const unsigned int level)
1199 template <
class Iterator>
1203 return (
static_cast<unsigned int>(i->level()) ==
level);
1216 template <
class Iterator>
1227 template <
class Iterator>
1231 return (i->is_locally_owned());
1237 template <
class Iterator>
1241 return (i->is_locally_owned_on_level());
1249 const bool only_locally_owned)
1251 , only_locally_owned(only_locally_owned)
1257 const std::set<types::material_id> &material_ids,
1258 const bool only_locally_owned)
1259 : material_ids(material_ids)
1260 , only_locally_owned(only_locally_owned)
1265 template <
class Iterator>
1271 i->is_locally_owned()) :
1279 const unsigned int active_fe_index,
1280 const bool only_locally_owned)
1281 : active_fe_indices{active_fe_index}
1282 , only_locally_owned(only_locally_owned)
1288 const std::set<unsigned int> &active_fe_indices,
1289 const bool only_locally_owned)
1290 : active_fe_indices(active_fe_indices)
1291 , only_locally_owned(only_locally_owned)
1296 template <
class Iterator>
1303 i->is_locally_owned()) :
1312 template <
class Iterator>
1316 return (i->at_boundary());
LevelEqualTo(const unsigned int level)
SynchronousIterators< Iterators > operator++(SynchronousIterators< Iterators > &a)
FilteredIterator & set_to_previous_positive(const BaseIterator &bi)
bool operator()(const Iterator &i) const
bool operator()(const Iterator &i) const
virtual ~PredicateBase()=default
bool operator()(const Iterator &i) const
virtual bool operator()(const BaseIterator &bi) const override
FilteredIterator & operator=(const FilteredIterator &fi)
std::unique_ptr< const PredicateBase > predicate
FilteredIterator & set_to_next_positive(const BaseIterator &bi)
bool operator()(const Iterator &i) const
@ valid
Iterator points to a valid object.
bool operator<(const FilteredIterator &fi) const
ActiveFEIndexEqualTo(const unsigned int active_fe_index, const bool only_locally_owned=false)
bool operator!=(const FilteredIterator &fi) const
bool operator()(const Iterator &i) const
const std::set< unsigned int > active_fe_indices
const Predicate predicate
bool operator()(const Iterator &i) const
const types::subdomain_id subdomain_id
const bool only_locally_owned
bool operator()(const Iterator &i) const
MatrixTableIterators::Iterator< TransposeTable< T >, Constness, MatrixTableIterators::Storage::column_major > Iterator
typename BaseIterator::AccessorType AccessorType
const bool only_locally_owned
IteratorRange< FilteredIterator< BaseIterator > > filter_iterators(IteratorRange< BaseIterator > i, const Predicate &p)
virtual bool operator()(const BaseIterator &bi) const =0
bool operator()(const Iterator &i) const
#define DEAL_II_NAMESPACE_OPEN
const std::set< types::material_id > material_ids
virtual std::unique_ptr< PredicateBase > clone() const override
MaterialIdEqualTo(const types::material_id material_id, const bool only_locally_owned=false)
PredicateTemplate(const Predicate &predicate)
#define DeclException1(Exception1, type1, outsequence)
unsigned int subdomain_id
FilteredIterator< BaseIterator > make_filtered_iterator(const BaseIterator &i, const Predicate &p)
bool operator==(const FilteredIterator &fi) const
bool operator()(const Iterator &i) const
FilteredIterator & operator++()
#define Assert(cond, exc)
bool operator()(const Iterator &i) const
static ::ExceptionBase & ExcInvalidElement(BaseIterator arg1)
IteratorOverIterators begin()
FilteredIterator(Predicate p)
#define DEAL_II_NAMESPACE_CLOSE
FilteredIterator & operator--()
SubdomainEqualTo(const types::subdomain_id subdomain_id)
virtual std::unique_ptr< PredicateBase > clone() const =0
IteratorOverIterators end() const