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

Used to iterate over elements where solutions indexed by a given DofMap are evaluable for a given variable var_num. More...

#include <multi_predicates.h>

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

Public Member Functions

 Evaluable (processor_id_type my_pid, const DofMap &dof_map, unsigned int var_num=libMesh::invalid_uint)
 
virtual bool operator() (const T &it) const
 

Protected Member Functions

void deep_copy (const abstract_multi_predicate &rhs)
 

Protected Attributes

std::vector< predicate< T > * > _predicates
 

Detailed Description

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

Used to iterate over elements where solutions indexed by a given DofMap are evaluable for a given variable var_num.

Definition at line 704 of file multi_predicates.h.

Constructor & Destructor Documentation

template<typename T >
libMesh::Predicates::Evaluable< T >::Evaluable ( processor_id_type  my_pid,
const DofMap dof_map,
unsigned int  var_num = libMesh::invalid_uint 
)

Definition at line 706 of file multi_predicates.h.

709  {
710  this->_predicates.push_back(new not_null<T>);
711  this->_predicates.push_back(new active<T>);
712  this->_predicates.push_back(new pid<T>(my_pid));
713  this->_predicates.push_back(new evaluable<T>(dof_map, var_num));
714  }
std::vector< predicate< T > * > _predicates

Member Function Documentation

template<typename T >
void libMesh::Predicates::abstract_multi_predicate< T >::deep_copy ( const abstract_multi_predicate< T > &  rhs)
protectedinherited

Definition at line 107 of file multi_predicates.h.

References libMesh::Predicates::abstract_multi_predicate< T >::_predicates.

108  {
109  for (std::size_t i=0; i<rhs._predicates.size(); ++i)
110  _predicates.push_back(rhs._predicates[i]->clone());
111  }
std::vector< predicate< T > * > _predicates
template<typename T >
virtual bool libMesh::Predicates::abstract_multi_predicate< T >::operator() ( const T &  it) const
virtualinherited

Definition at line 79 of file multi_predicates.h.

References libMesh::libmesh_assert(), and pred.

80  {
81  for (std::size_t i=0; i<_predicates.size(); ++i)
82  {
83  const predicate<T> * pred = _predicates[i];
84 
85  libmesh_assert (pred);
86 
87  if (!(*pred)(it))
88  return false;
89  }
90 
91  return true;
92  }
libmesh_assert(j)
std::vector< predicate< T > * > _predicates
PredBase * pred
The predicate object.

Member Data Documentation

template<typename T >
std::vector<predicate<T> *> libMesh::Predicates::abstract_multi_predicate< T >::_predicates
protectedinherited

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