libMesh
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
libMesh::Predicates::multi_evaluable< T > Struct Template Reference

#include <single_predicates.h>

Inheritance diagram for libMesh::Predicates::multi_evaluable< T >:
[legend]

Public Member Functions

 multi_evaluable (std::vector< const DofMap *> dof_maps)
 
virtual ~multi_evaluable ()=default
 
virtual bool operator() (const T &it) const override
 

Protected Member Functions

virtual std::unique_ptr< predicate< T > > clone () const override
 

Protected Attributes

std::vector< const DofMap * > _dof_maps
 

Detailed Description

template<typename T>
struct libMesh::Predicates::multi_evaluable< T >

Returns
true if the pointer (which must be a non-null dof object) has degrees of freedom which can be evaluated for all variables in all the provided DofMaps

Definition at line 488 of file single_predicates.h.

Constructor & Destructor Documentation

◆ multi_evaluable()

template<typename T >
libMesh::Predicates::multi_evaluable< T >::multi_evaluable ( std::vector< const DofMap *>  dof_maps)
inline

Definition at line 490 of file single_predicates.h.

490  :
491  _dof_maps(dof_maps) {}
std::vector< const DofMap * > _dof_maps

◆ ~multi_evaluable()

template<typename T >
virtual libMesh::Predicates::multi_evaluable< T >::~multi_evaluable ( )
virtualdefault

Member Function Documentation

◆ clone()

template<typename T >
virtual std::unique_ptr<predicate<T> > libMesh::Predicates::multi_evaluable< T >::clone ( ) const
inlineoverrideprotectedvirtual

Implements libMesh::Predicates::predicate< T >.

Definition at line 498 of file single_predicates.h.

498 { return std::make_unique<multi_evaluable<T>>(*this); }

◆ operator()()

template<typename T >
bool libMesh::Predicates::multi_evaluable< T >::operator() ( const T &  it) const
overridevirtual

Implements libMesh::Predicates::predicate< T >.

Definition at line 57 of file single_predicates.C.

References libMesh::libmesh_assert().

58 {
59  for (const auto * const dof_map : _dof_maps)
60  {
61  libmesh_assert(dof_map);
62  if (!dof_map->is_evaluable(**it))
63  return false;
64  }
65 
66  return true;
67 }
std::vector< const DofMap * > _dof_maps
libmesh_assert(ctx)

Member Data Documentation

◆ _dof_maps

template<typename T >
std::vector<const DofMap *> libMesh::Predicates::multi_evaluable< T >::_dof_maps
protected

Definition at line 499 of file single_predicates.h.


The documentation for this struct was generated from the following files: