|
AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Abstract interface that allows the extraction of a non-const DMatrixSlice view of an abstract matrix.
More...
#include <AbstractLinAlgPack_MatrixOpGetGMSMutable.hpp>

Public Member Functions | |
| virtual DMatrixSlice | get_gms_view ()=0 |
Get a representation of the abstract matrixr in the form DenseLinAlgPack::DMatrixSlice. | |
| virtual void | commit_gms_view (DMatrixSlice *gms_view)=0 |
Commit changes to a view of a dense matrix initialized from this->get_gms_view(). | |
Abstract interface that allows the extraction of a non-const DMatrixSlice view of an abstract matrix.
This interface is ment to be used by MatrixOp objects that store all of their matrix elements in the local address space or can easily access all of the elements from this process and can modify the elements in their data structures.
Subclasses that store a Fortran compatible dense dense matrix can implement these methods without any dynamic memory allocations. There is no default implementation for these methods so subclasses that derive from this interface must implement these methods.
These methods should never be called directly. Instead, use the helper class type MatrixDenseMutableEncap.
Definition at line 65 of file AbstractLinAlgPack_MatrixOpGetGMSMutable.hpp.
| virtual DMatrixSlice AbstractLinAlgPack::MatrixOpGetGMSMutable::get_gms_view | ( | ) | [pure virtual] |
Get a representation of the abstract matrixr in the form DenseLinAlgPack::DMatrixSlice.
return will be initialized to point to storage to the dense matrix elements. The output from this function gms_view = this->get_gms_view() must be passed to this->commit_gms_view(gms) to commit and free any memory that may have been allocated and to ensure the that underlying abstract matrix object has been updated. After this->commit_gms_view(gms_view) is called, gms_view must not be used any longer!Postconditions:
Warning! If a subclass overrides this method, it must also override commit_gms_view().
| virtual void AbstractLinAlgPack::MatrixOpGetGMSMutable::commit_gms_view | ( | DMatrixSlice * | gms_view | ) | [pure virtual] |
Commit changes to a view of a dense matrix initialized from this->get_gms_view().
| gms_view | [in/out] On input, gms_view must have been initialized from this->get_gms_view(). On output, gms_view will become invalid and must not be used. |
Preconditions:
gms_view must have been initialized by this->get_gms_view) Postconditions:
this is guaranteed to be updated. gms_view becomes invalid and must not be used any longer!
1.7.6.1