EpetraExt
Development
|
Base Class for all Epetra Transform Operators. More...
#include <EpetraExt_Transform.h>
Public Member Functions | |
virtual | ~Transform () |
Protected Member Functions | |
Transform () | |
Default constructor, protected to allow only derived classes to use. More... | |
Protected Attributes | |
OriginalTypePtr | origObj_ |
NewTypePtr | newObj_ |
Typedefs for templated classes | |
typedef T | OriginalType |
typedef T * | OriginalTypePtr |
typedef Teuchos::RCP< T > | OriginalTypeRCP |
typedef T & | OriginalTypeRef |
typedef U | NewType |
typedef U * | NewTypePtr |
typedef Teuchos::RCP< U > | NewTypeRCP |
typedef U & | NewTypeRef |
Pure Virtual Methods which must be implemented by subclasses | |
virtual NewTypeRef | operator() (OriginalTypeRef orig)=0 |
Analysis of transform operation on original object and construction of new object. More... | |
virtual bool | fwd ()=0 |
Forward transfer of data from orig object input in the operator() method call to the new object created in this same call. More... | |
virtual bool | rvs ()=0 |
Reverse transfer of data from new object created in the operator() method call to the orig object input to this same method. More... | |
Virtual functions with default implements allowing for optional | |
implementation by the Transform developer | |
virtual bool | analyze (OriginalTypeRef orig) |
Initial analysis phase of transform. More... | |
virtual NewTypeRef | construct () |
Construction of new object as a result of the transform. More... | |
virtual bool | isConstructed () |
Check for whether transformed object has been constructed. More... | |
Base Class for all Epetra Transform Operators.
This is the abstract definition for all Epetra Transform Operators. Depending on the type of Transform, several specializations are available: Structural, SameType, InPlace, View.
Definition at line 70 of file EpetraExt_Transform.h.
typedef T EpetraExt::Transform< T, U >::OriginalType |
Definition at line 77 of file EpetraExt_Transform.h.
typedef T* EpetraExt::Transform< T, U >::OriginalTypePtr |
Definition at line 78 of file EpetraExt_Transform.h.
typedef Teuchos::RCP<T> EpetraExt::Transform< T, U >::OriginalTypeRCP |
Definition at line 79 of file EpetraExt_Transform.h.
typedef T& EpetraExt::Transform< T, U >::OriginalTypeRef |
Definition at line 80 of file EpetraExt_Transform.h.
typedef U EpetraExt::Transform< T, U >::NewType |
Definition at line 82 of file EpetraExt_Transform.h.
typedef U* EpetraExt::Transform< T, U >::NewTypePtr |
Definition at line 83 of file EpetraExt_Transform.h.
typedef Teuchos::RCP<U> EpetraExt::Transform< T, U >::NewTypeRCP |
Definition at line 84 of file EpetraExt_Transform.h.
typedef U& EpetraExt::Transform< T, U >::NewTypeRef |
Definition at line 85 of file EpetraExt_Transform.h.
|
inlinevirtual |
Definition at line 90 of file EpetraExt_Transform.h.
|
inlineprotected |
Default constructor, protected to allow only derived classes to use.
Initializes attributes origObj_
and newObj_
to 0.
Definition at line 217 of file EpetraExt_Transform.h.
|
pure virtual |
Analysis of transform operation on original object and construction of new object.
Preconditions:
Invariants:
Postconditions:
Implemented in EpetraExt::TPermutation< T, int_type >, EpetraExt::TPermutation< T, int >, EpetraExt::TPermutation< T, long long >, EpetraExt::LinearProblem_StaticCondensation, EpetraExt::LinearProblem_CrsSingletonFilter, EpetraExt::LinearProblem_GraphTrans, EpetraExt::LinearProblem_MatrixTrans, EpetraExt::LinearProblem_Reindex, EpetraExt::LinearProblem_Reindex2, EpetraExt::CrsGraph_BTF, EpetraExt::TCrsGraph_MapColoringIndex< int_type >, EpetraExt::TCrsGraph_MapColoringIndex< int >, EpetraExt::TCrsGraph_MapColoringIndex< long long >, EpetraExt::LinearProblem_BTF, EpetraExt::CrsGraph_MapColoring, EpetraExt::CrsMatrix_SubCopy, EpetraExt::RowMatrix_Transpose, EpetraExt::CrsGraph_Overlap, EpetraExt::CrsMatrix_SolverMap, EpetraExt::CrsMatrix_Reindex, EpetraExt::LinearProblem_BlockJacobi, EpetraExt::CrsGraph_AMD, EpetraExt::MultiVector_Reindex, EpetraExt::LinearProblem_SolverMap, EpetraExt::MultiVector_View, EpetraExt::CrsMatrix_BTF, EpetraExt::CrsGraph_SymmRCM, EpetraExt::CrsGraph_Transpose, EpetraExt::CrsGraph_View, and EpetraExt::CrsMatrix_View.
|
pure virtual |
Forward transfer of data from orig
object input in the operator()
method call to the new object created in this same call.
Returns true
is operation is successful.
Preconditions:
Invariants:
Postconditions:
Implemented in EpetraExt::ViewTransform< T >, EpetraExt::ViewTransform< Epetra_LinearProblem >, EpetraExt::ViewTransform< Epetra_CrsMatrix >, EpetraExt::ViewTransform< Epetra_CrsGraph >, EpetraExt::ViewTransform< Epetra_MultiVector >, EpetraExt::StructuralSameTypeTransform< T >, EpetraExt::StructuralSameTypeTransform< Epetra_LinearProblem >, EpetraExt::StructuralSameTypeTransform< Epetra_CrsMatrix >, EpetraExt::StructuralSameTypeTransform< Epetra_CrsGraph >, EpetraExt::StructuralTransform< T, U >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< int_type >::impl > >, EpetraExt::StructuralTransform< Epetra_CrsGraph, Epetra_MapColoring >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< int >::impl > >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< long long >::impl > >, EpetraExt::LinearProblem_StaticCondensation, EpetraExt::LinearProblem_CrsSingletonFilter, EpetraExt::LinearProblem_GraphTrans, EpetraExt::LinearProblem_MatrixTrans, EpetraExt::Transform_Composite< T >, EpetraExt::LinearProblem_Reindex2, EpetraExt::LinearProblem_BTF, EpetraExt::CrsMatrix_SubCopy, EpetraExt::RowMatrix_Transpose, EpetraExt::LinearProblem_Scale, EpetraExt::CrsMatrix_Dirichlet, EpetraExt::LinearProblem_BlockJacobi, EpetraExt::Vector_Dirichlet, and EpetraExt::CrsMatrix_BTF.
|
pure virtual |
Reverse transfer of data from new object created in the operator()
method call to the orig
object input to this same method.
Returns true
if operation is successful.
Preconditions:
Invariants:
Postconditions:
Implemented in EpetraExt::ViewTransform< T >, EpetraExt::ViewTransform< Epetra_LinearProblem >, EpetraExt::ViewTransform< Epetra_CrsMatrix >, EpetraExt::ViewTransform< Epetra_CrsGraph >, EpetraExt::ViewTransform< Epetra_MultiVector >, EpetraExt::StructuralSameTypeTransform< T >, EpetraExt::StructuralSameTypeTransform< Epetra_LinearProblem >, EpetraExt::StructuralSameTypeTransform< Epetra_CrsMatrix >, EpetraExt::StructuralSameTypeTransform< Epetra_CrsGraph >, EpetraExt::StructuralTransform< T, U >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< int_type >::impl > >, EpetraExt::StructuralTransform< Epetra_CrsGraph, Epetra_MapColoring >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< int >::impl > >, EpetraExt::StructuralTransform< Epetra_CrsGraph, std::vector< Epetra_GIDTypeVector< long long >::impl > >, EpetraExt::LinearProblem_StaticCondensation, EpetraExt::LinearProblem_CrsSingletonFilter, EpetraExt::LinearProblem_GraphTrans, EpetraExt::LinearProblem_MatrixTrans, EpetraExt::Transform_Composite< T >, EpetraExt::CrsMatrix_SubCopy, EpetraExt::LinearProblem_BTF, EpetraExt::LinearProblem_Scale, EpetraExt::RowMatrix_Transpose, EpetraExt::CrsMatrix_Dirichlet, EpetraExt::Vector_Dirichlet, EpetraExt::LinearProblem_BlockJacobi, and EpetraExt::CrsMatrix_BTF.
|
virtual |
Initial analysis phase of transform.
Returns true
if the transform is possible allowing methods construct()
, fwd()
and rvs()
to be successfully utilized.
Preconditions:
Invariants:
Postconditions:
The default implementation calls method operator()
and stores the resulting object in an internal attribute newObj_
.
Reimplemented in EpetraExt::LinearProblem_CrsSingletonFilter.
Definition at line 242 of file EpetraExt_Transform.h.
|
virtual |
Construction of new object as a result of the transform.
Preconditions:
Invariants:
Postconditions:
The default implementation returns internal attribute newObj_
.
Reimplemented in EpetraExt::LinearProblem_CrsSingletonFilter.
Definition at line 252 of file EpetraExt_Transform.h.
|
virtual |
Check for whether transformed object has been constructed.
Preconditions:
Invariants:
Postconditions:
The default implementation returns true
if newObj_
!= 0.
Definition at line 260 of file EpetraExt_Transform.h.
|
protected |
Definition at line 222 of file EpetraExt_Transform.h.
|
protected |
Definition at line 224 of file EpetraExt_Transform.h.