ug4
|
a chain of pre- or postprocess operations More...
#include <pprocess.h>
Public Types | |
typedef IPProcessVector< TVector > | p_process_type |
typedef TVector | vector_type |
the vector type More... | |
Public Member Functions | |
void | add (SmartPtr< p_process_type > p) |
adds an operation at the end of the chain More... | |
void | apply (vector_type &v) |
performs all the operations More... | |
SmartPtr< p_process_type > | operator[] (size_t i) |
returns the operation #i More... | |
void | remove (SmartPtr< p_process_type > p) |
removes an operation from the chain More... | |
size_t | size () |
returns the number of the operations More... | |
Private Attributes | |
std::vector< SmartPtr< p_process_type > > | m_pp_chain |
a chain of pre- or postprocess operations
A class for storing a chain of pre- or postprocess operations
TVector | the vector type in the algebra |
typedef IPProcessVector<TVector> ug::PProcessChain< TVector >::p_process_type |
typedef TVector ug::PProcessChain< TVector >::vector_type |
the vector type
|
inline |
adds an operation at the end of the chain
References ug::PProcessChain< TVector >::m_pp_chain, and p.
Referenced by ug::BiCGStab< TVector >::add_postprocess_corr(), ug::CG< TVector >::add_postprocess_corr(), ug::GMRES< TVector >::add_postprocess_corr(), and ug::LinearSolver< TVector >::add_postprocess_corr().
|
inline |
performs all the operations
References ug::PProcessChain< TVector >::m_pp_chain, and SmartPtr< T, FreePolicy >::valid().
Referenced by ug::BiCGStab< TVector >::apply_return_defect(), ug::CG< TVector >::apply_return_defect(), ug::GMRES< TVector >::apply_return_defect(), and ug::LinearSolver< TVector >::apply_return_defect().
|
inline |
returns the operation #i
References ug::PProcessChain< TVector >::m_pp_chain.
|
inline |
removes an operation from the chain
References boost::get(), ug::PProcessChain< TVector >::m_pp_chain, and p.
Referenced by ug::BiCGStab< TVector >::remove_postprocess_corr(), ug::CG< TVector >::remove_postprocess_corr(), ug::GMRES< TVector >::remove_postprocess_corr(), and ug::LinearSolver< TVector >::remove_postprocess_corr().
|
inline |
returns the number of the operations
References ug::PProcessChain< TVector >::m_pp_chain.
|
private |