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

Public Member Functions | |
| virtual const DenseLinAlgPack::DMatrixSliceSym | get_sym_gms_view () const =0 |
Get a const view of the symmetric abstract matrix in the form DenseLinAlgPack::DMatrixSliceSym. | |
| virtual void | free_sym_gms_view (const DenseLinAlgPack::DMatrixSliceSym *sym_gms_view) const =0 |
Free a view of a symmetric dense matrix initialized from get_sym_gms_view()>/tt>. | |
Abstract interface that allows the extraction of a const DenseLinAlgPack::DMatrixSliceSym view of an abstract matrix.
This interface is ment to be used by MatrixSymOp objects that store all of their matrix elements in the local address space or can easily access all of the elements from this process.
Subclasses that store a BLAS compatible symmetric 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 MatrixDenseSymEncap.
Definition at line 67 of file AbstractLinAlgPack_MatrixSymOpGetGMSSym.hpp.
| virtual const DenseLinAlgPack::DMatrixSliceSym AbstractLinAlgPack::MatrixSymOpGetGMSSym::get_sym_gms_view | ( | ) | const [pure virtual] |
Get a const view of the symmetric abstract matrix in the form DenseLinAlgPack::DMatrixSliceSym.
return will be initialized to point to storage to the symmetric dense matrix elements. The output from this function sym_gms_view = this->get_sym_gms_view() must be passed to this->free_sym_gms_view(gms) to free any memory that may have been allocated. After this->free_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 free_sym_gms_view().
| virtual void AbstractLinAlgPack::MatrixSymOpGetGMSSym::free_sym_gms_view | ( | const DenseLinAlgPack::DMatrixSliceSym * | sym_gms_view | ) | const [pure virtual] |
Free a view of a symmetric dense matrix initialized from get_sym_gms_view()>/tt>.
| sym_gms_view | [in/out] On input, sym_gms_view must have been initialized from this->get_sym_gms_view(). On output, sym_gms_view will become invalid and must not be used. |
Preconditions:
sym_gms_view must have been initialized by this->get_sym_gms_view) Postconditions:
sym_gms_view becomes invalid and must not be used any longer!
1.7.6.1