libMesh
Classes | Typedefs | Functions
libMesh::Predicates Namespace Reference

This namespace defines several multi_predicates which are used by the element and node iterators. More...

Classes

struct  abstract_multi_predicate
 
struct  active
 
struct  Active
 Used to iterate over non-nullptr, active entries in a container. More...
 
struct  ActiveLocal
 Used to iterate over non-nullptr, active, local elements owned by a given processor. More...
 
struct  ActiveLocalSubdomain
 Used to iterate over non-nullptr, active elements with a given PID on a given subdomain. More...
 
struct  ActiveLocalSubdomainSet
 Used to iterate over non-nullptr, active elements with a given PID whose subdomains are in a user-specified set. More...
 
struct  ActiveNotLocal
 Used to iterate over non-nullptr, active, non-local entries in a container. More...
 
struct  ActiveOnBoundary
 Used to iterate over non-nullptr, active elements which are on the boundary. More...
 
struct  ActivePID
 Used to iterate over non-nullptr, active elements owned by a given processor. More...
 
struct  ActiveSemiLocal
 Used to iterate over non-nullptr, semi-local entries (i.e. More...
 
struct  ActiveSubdomain
 Used to iterate over non-nullptr, active elements on a given subdomain. More...
 
struct  ActiveSubdomainSet
 Used to iterate over non-nullptr, active elements whose subdomains are in a user-specified set. More...
 
struct  ActiveType
 Used to iterate over non-nullptr, active elements of a given geometric type. More...
 
struct  Ancestor
 Used to iterate over non-nullptr, entries that have children (i.e. More...
 
struct  ancestor
 
struct  BID
 Used to iterate over non-nullptr elements on the boundary with a given ID. More...
 
struct  bid
 
struct  BND
 Used to iterate over non-nullptr elements on the boundary. More...
 
struct  bnd
 
struct  boundary_side
 
struct  BoundarySide
 Used to iterate over the sides of an element which are on the boundary of the Mesh. More...
 
struct  elem_type
 
struct  Evaluable
 Used to iterate over elements where solutions indexed by a given DofMap are evaluable for a given variable var_num. More...
 
struct  evaluable
 
struct  FaceLocal
 Used to iterate over non-nullptr, face-local entries (i.e. More...
 
struct  facelocal_pid
 
struct  Flagged
 Used to iterate over non-nullptr, elements with a given refinement flag. More...
 
struct  flagged
 
struct  FlaggedPID
 Used to iterate over non-nullptr, elements with a given refinement flag belonging to a given processor. More...
 
struct  Ghost
 Used to iterate over non-nullptr elements not owned by a given processor but semi-local to that processor, i.e. More...
 
struct  is_null
 
struct  IsNull
 Used to iterate over nullptr entries in a container. More...
 
struct  Level
 Used to iterate over non-nullptr elements of a specified (refinement) level. More...
 
struct  level
 
struct  Local
 Used to iterate over non-nullptr, local entries (i.e. More...
 
struct  LocalLevel
 Used to iterate over non-nullptr local elements with a specified (refinement) level. More...
 
struct  LocalNotLevel
 Used to iterate over non-nullptr local elements not of a specified (refinement) level. More...
 
struct  movable_il
 Helper object for creating a std::vector from a std::initializer_list https://stackoverflow.com/questions/46737054/vectorunique-ptra-using-initialization-list. More...
 
struct  multi_evaluable
 
struct  multi_predicate
 
struct  MultiEvaluable
 Used to iterate over elements where solutions indexed by a given vector of DofMaps are evaluable for all variables. More...
 
struct  not_active
 
struct  not_ancestor
 
struct  not_level
 
struct  not_null
 
struct  not_pid
 
struct  not_subactive
 
struct  NotActive
 Used to iterate over non-nullptr, inactive entries in a container. More...
 
struct  NotAncestor
 Used to iterate over non-nullptr, entries that have no children (i.e. More...
 
struct  NotLevel
 Used to iterate over non-nullptr elements not of a specified (refinement) level. More...
 
struct  NotLocal
 Used to iterate over non-nullptr, non-local entries in a container. More...
 
struct  NotNull
 Used to iterate over non-nullptr entries in a container. More...
 
struct  NotPID
 Used to iterate over non-nullptr elements not owned by a given processor. More...
 
struct  NotSubActive
 Used to iterate over non-nullptr, non-subactive entries (i.e. More...
 
struct  null_neighbor
 
struct  pid
 
struct  PID
 Used to iterate over non-nullptr elements owned by a given processor. More...
 
struct  predicate
 
struct  semilocal_pid
 
struct  SubActive
 Used to iterate over non-nullptr, subactive entries (i.e. More...
 
struct  subactive
 
struct  subdomain
 
struct  subdomain_set
 
struct  Type
 Used to iterate over non-nullptr, elements of a given geometric type. More...
 

Typedefs

template<typename T >
using pred_ptr = std::unique_ptr< predicate< T > >
 

Functions

template<class T >
std::vector< T > make_vec (std::initializer_list< movable_il< T > > il)
 Helper function that creates a std::vector from an initializer_list of movable_il objects. More...
 
 INSTANTIATE_ELEM_PREDICATES (std::vector< Elem *>::iterator)
 
 INSTANTIATE_ELEM_PREDICATES (std::vector< Elem *>::const_iterator)
 
 INSTANTIATE_NODAL_PREDICATES (std::vector< Node *>::iterator)
 
 INSTANTIATE_NODAL_PREDICATES (std::vector< Node *>::const_iterator)
 
 INSTANTIATE_ELEM_PREDICATES (DistributedMesh::dofobject_container< Elem >::veclike_iterator)
 
 INSTANTIATE_ELEM_PREDICATES (DistributedMesh::dofobject_container< Elem >::const_veclike_iterator)
 
 INSTANTIATE_NODAL_PREDICATES (DistributedMesh::dofobject_container< Node >::veclike_iterator)
 
 INSTANTIATE_NODAL_PREDICATES (DistributedMesh::dofobject_container< Node >::const_veclike_iterator)
 

Detailed Description

This namespace defines several multi_predicates which are used by the element and node iterators.

This file declares several predicates in the Predicates namespace.

These classes are not in general used by the user, although they could be.

Author
John W. Peterson
Date
2004

They are called "single predicates" since the purpose of each one is to act as a single functor which returns true or false depending on the result of the operator() function. The single predicates are used together as building blocks to create the "multi predicates" which can be found in the multi_predicates.h header file.

Author
John W. Peterson
Date
2004

Typedef Documentation

◆ pred_ptr

template<typename T >
using libMesh::Predicates::pred_ptr = typedef std::unique_ptr<predicate<T> >

Definition at line 57 of file multi_predicates.h.

Function Documentation

◆ INSTANTIATE_ELEM_PREDICATES() [1/4]

libMesh::Predicates::INSTANTIATE_ELEM_PREDICATES ( std::vector< Elem *>::iterator  )

◆ INSTANTIATE_ELEM_PREDICATES() [2/4]

libMesh::Predicates::INSTANTIATE_ELEM_PREDICATES ( std::vector< Elem *>::const_iterator  )

◆ INSTANTIATE_ELEM_PREDICATES() [3/4]

libMesh::Predicates::INSTANTIATE_ELEM_PREDICATES ( DistributedMesh::dofobject_container< Elem >::veclike_iterator  )

◆ INSTANTIATE_ELEM_PREDICATES() [4/4]

libMesh::Predicates::INSTANTIATE_ELEM_PREDICATES ( DistributedMesh::dofobject_container< Elem >::const_veclike_iterator  )

◆ INSTANTIATE_NODAL_PREDICATES() [1/4]

libMesh::Predicates::INSTANTIATE_NODAL_PREDICATES ( std::vector< Node *>::iterator  )

◆ INSTANTIATE_NODAL_PREDICATES() [2/4]

libMesh::Predicates::INSTANTIATE_NODAL_PREDICATES ( std::vector< Node *>::const_iterator  )

◆ INSTANTIATE_NODAL_PREDICATES() [3/4]

libMesh::Predicates::INSTANTIATE_NODAL_PREDICATES ( DistributedMesh::dofobject_container< Node >::veclike_iterator  )

◆ INSTANTIATE_NODAL_PREDICATES() [4/4]

libMesh::Predicates::INSTANTIATE_NODAL_PREDICATES ( DistributedMesh::dofobject_container< Node >::const_veclike_iterator  )

◆ make_vec()

template<class T >
std::vector<T> libMesh::Predicates::make_vec ( std::initializer_list< movable_il< T > >  il)

Helper function that creates a std::vector from an initializer_list of movable_il objects.

Definition at line 151 of file multi_predicates.h.

152 {
153  std::vector<T> r( std::make_move_iterator(il.begin()), std::make_move_iterator(il.end()) );
154  return r;
155 }