Predicates::abstract_multi_predicate< T > Struct Template Reference
#include <multi_predicates.h>

Public Member Functions | |
| virtual | ~abstract_multi_predicate () |
| abstract_multi_predicate & | operator= (const abstract_multi_predicate &rhs) |
| virtual bool | operator() (const T &it) const |
Protected Member Functions | |
| abstract_multi_predicate () | |
| abstract_multi_predicate (const abstract_multi_predicate &rhs) | |
| void | deep_copy (const abstract_multi_predicate &rhs) |
Protected Attributes | |
| std::vector< predicate< T > * > | _predicates |
Detailed Description
template<typename T>
struct Predicates::abstract_multi_predicate< T >
Definition at line 44 of file multi_predicates.h.
Constructor & Destructor Documentation
| virtual Predicates::abstract_multi_predicate< T >::~abstract_multi_predicate | ( | ) | [inline, virtual] |
Definition at line 47 of file multi_predicates.h.
References Predicates::abstract_multi_predicate< T >::_predicates.
00048 { 00049 // Clean-up vector 00050 for (unsigned int i=0; i<_predicates.size(); ++i) 00051 delete _predicates[i]; 00052 }
| Predicates::abstract_multi_predicate< T >::abstract_multi_predicate | ( | ) | [inline, protected] |
| Predicates::abstract_multi_predicate< T >::abstract_multi_predicate | ( | const abstract_multi_predicate< T > & | rhs | ) | [inline, protected] |
Definition at line 88 of file multi_predicates.h.
References Predicates::abstract_multi_predicate< T >::deep_copy().
00089 { 00090 this->deep_copy(rhs); 00091 }
Member Function Documentation
| void Predicates::abstract_multi_predicate< T >::deep_copy | ( | const abstract_multi_predicate< T > & | rhs | ) | [inline, protected] |
Definition at line 96 of file multi_predicates.h.
References Predicates::abstract_multi_predicate< T >::_predicates.
Referenced by Predicates::abstract_multi_predicate< T >::abstract_multi_predicate(), and Predicates::abstract_multi_predicate< T >::operator=().
00097 { 00098 for (unsigned int i=0; i<rhs._predicates.size(); ++i) 00099 _predicates.push_back(rhs._predicates[i]->clone()); 00100 }
| virtual bool Predicates::abstract_multi_predicate< T >::operator() | ( | const T & | it | ) | const [inline, virtual] |
Definition at line 68 of file multi_predicates.h.
References Predicates::abstract_multi_predicate< T >::_predicates.
00069 { 00070 for (unsigned int i=0; i<_predicates.size(); ++i) 00071 { 00072 const predicate<T>* pred = _predicates[i]; 00073 00074 libmesh_assert (pred != NULL); 00075 00076 if ( ! (*pred)(it) ) 00077 return false; 00078 } 00079 00080 return true; 00081 }
| abstract_multi_predicate& Predicates::abstract_multi_predicate< T >::operator= | ( | const abstract_multi_predicate< T > & | rhs | ) | [inline] |
Definition at line 55 of file multi_predicates.h.
References Predicates::abstract_multi_predicate< T >::_predicates, and Predicates::abstract_multi_predicate< T >::deep_copy().
00056 { 00057 // First clear out the predicates vector 00058 for (unsigned int i=0; i<_predicates.size(); ++i) 00059 delete _predicates[i]; 00060 00061 // Now copy over the information from the rhs. 00062 this->deep_copy(rhs); 00063 00064 return *this; 00065 }
Member Data Documentation
std::vector<predicate<T>*> Predicates::abstract_multi_predicate< T >::_predicates [protected] |
Definition at line 103 of file multi_predicates.h.
Referenced by Predicates::Active< T >::Active(), Predicates::ActiveLocal< T >::ActiveLocal(), Predicates::ActiveLocalSubdomain< T >::ActiveLocalSubdomain(), Predicates::ActiveNotLocal< T >::ActiveNotLocal(), Predicates::ActiveOnBoundary< T >::ActiveOnBoundary(), Predicates::ActivePID< T >::ActivePID(), Predicates::ActiveType< T >::ActiveType(), Predicates::Ancestor< T >::Ancestor(), Predicates::BoundarySide< T >::BoundarySide(), Predicates::abstract_multi_predicate< T >::deep_copy(), Predicates::IsNull< T >::IsNull(), Predicates::Level< T >::Level(), Predicates::Local< T >::Local(), Predicates::LocalLevel< T >::LocalLevel(), Predicates::LocalNotLevel< T >::LocalNotLevel(), Predicates::NotActive< T >::NotActive(), Predicates::NotAncestor< T >::NotAncestor(), Predicates::NotLevel< T >::NotLevel(), Predicates::NotLocal< T >::NotLocal(), Predicates::NotNull< T >::NotNull(), Predicates::NotPID< T >::NotPID(), Predicates::NotSubActive< T >::NotSubActive(), Predicates::abstract_multi_predicate< T >::operator()(), Predicates::abstract_multi_predicate< T >::operator=(), Predicates::PID< T >::PID(), Predicates::SubActive< T >::SubActive(), Predicates::Type< T >::Type(), and Predicates::abstract_multi_predicate< T >::~abstract_multi_predicate().
The documentation for this struct was generated from the following file: