AbstractLinAlgPack::MatrixOpGetGMSTri Class Reference

Mix-in interface that allows the extraction of a const DenseLinAlgPack::DMatrixSliceTri view of an non-singular abstract matrix. More...

#include <AbstractLinAlgPack_MatrixOpGetGMSTri.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixOpGetGMSTri:

[legend]
List of all members.

Public Member Functions

virtual const DenseLinAlgPack::DMatrixSliceTri get_tri_gms_view () const =0
 Get a const view of the symmetric abstract matrix in the form DenseLinAlgPack::DMatrixSliceTri.
virtual void free_tri_gms_view (const DenseLinAlgPack::DMatrixSliceTri *tri_gms_view) const =0
 Free a view of a symmetric dense matrix initialized from get_tri_gms_view()>/tt>.

Detailed Description

Mix-in interface that allows the extraction of a const DenseLinAlgPack::DMatrixSliceTri view of an non-singular 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.

Subclasses that store a BLAS compatible triangular 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 MatrixDenseTriEncap.

Definition at line 54 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.


Member Function Documentation

virtual const DenseLinAlgPack::DMatrixSliceTri AbstractLinAlgPack::MatrixOpGetGMSTri::get_tri_gms_view (  )  const [pure virtual]

Get a const view of the symmetric abstract matrix in the form DenseLinAlgPack::DMatrixSliceTri.

Returns:
On ouput, return will be initialized to point to storage to the symmetric dense matrix elements. The output from this function tri_gms_view = this->get_tri_gms_view() must be passed to this->free_tri_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_tri_gms_view().

virtual void AbstractLinAlgPack::MatrixOpGetGMSTri::free_tri_gms_view ( const DenseLinAlgPack::DMatrixSliceTri tri_gms_view  )  const [pure virtual]

Free a view of a symmetric dense matrix initialized from get_tri_gms_view()>/tt>.

Parameters:
tri_gms_view [in/out] On input, tri_gms_view must have been initialized from this->get_tri_gms_view(). On output, tri_gms_view will become invalid and must not be used.
Preconditions:

Postconditions:


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:54:07 2009 for MOOCHO (Single Doxygen Collection) by doxygen 1.4.7