MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AbstractLinAlgPack::MatrixDenseTriEncap Class Reference

Helper class type that simplifies the usage of the MatrixOpGetGMSTri interface for clients. More...

#include <AbstractLinAlgPack_MatrixOpGetGMSTri.hpp>

Public Member Functions

 MatrixDenseTriEncap (const MatrixOpGetGMSTri &mat_get)
 Construct a DenseLinAlgPack::DMatrixSliceTri view from a MatrixOpGetGMSTri object. More...
 
 MatrixDenseTriEncap (const MatrixOp &mat)
 Construct a DenseLinAlgPack::DMatrixSliceTri view from a MatrixOp object. More...
 
 ~MatrixDenseTriEncap ()
 Frees the DenseLinAlgPack::DMatrixSliceTri view. More...
 
const
DenseLinAlgPack::DMatrixSliceTri 
operator() () const
 Returns a constant view of the DenseLinAlgPack::DMatrixSliceTri view. More...
 

Private Member Functions

 MatrixDenseTriEncap ()
 
 MatrixDenseTriEncap (const MatrixDenseTriEncap &)
 
MatrixDenseTriEncapoperator= (const MatrixDenseTriEncap &)
 

Private Attributes

const MatrixOpGetGMSTrimat_get_
 
const
DenseLinAlgPack::DMatrixSliceTri 
tri_gms_view_
 

Detailed Description

Helper class type that simplifies the usage of the MatrixOpGetGMSTri interface for clients.

This takes care of worrying about if the MatrixOpGetGMSTri interface is supported or not and remembering to free the DenseLinAlgPack::DMatrixSliceTri view properly.

This class is only to be used on the stack as an automatic variable. For example, to extract a DenseLinAlgPack::DMatrixSliceTri view of an abstract vector and use it to call another function one could write a function like:

void call_func(const MatrixOpGetGMSTri& mat_in ) {
func( MatrixDenseTriEncap(mat_in)() );
}

In the above code, if the underlying MatrixOpGetGMSTri object does not have to perform any dynamic memory allocations and copy in the method MatrixOpGetGMSTri::get_tri_gms_view() then the above code will only have a constant time overhead.

Definition at line 125 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.

Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixDenseTriEncap::MatrixDenseTriEncap ( const MatrixOpGetGMSTri mat_get)
inline

Construct a DenseLinAlgPack::DMatrixSliceTri view from a MatrixOpGetGMSTri object.

Definition at line 158 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.

AbstractLinAlgPack::MatrixDenseTriEncap::MatrixDenseTriEncap ( const MatrixOp mat)
inline

Construct a DenseLinAlgPack::DMatrixSliceTri view from a MatrixOp object.

If dynamic_cast<const MatrixOpGetGMSTri*>(&mat) == NULL then a ??? exception is thrown.

Definition at line 164 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.

AbstractLinAlgPack::MatrixDenseTriEncap::~MatrixDenseTriEncap ( )
inline
AbstractLinAlgPack::MatrixDenseTriEncap::MatrixDenseTriEncap ( )
private
AbstractLinAlgPack::MatrixDenseTriEncap::MatrixDenseTriEncap ( const MatrixDenseTriEncap )
private

Member Function Documentation

const DenseLinAlgPack::DMatrixSliceTri AbstractLinAlgPack::MatrixDenseTriEncap::operator() ( ) const
inline

Returns a constant view of the DenseLinAlgPack::DMatrixSliceTri view.

Definition at line 176 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.

MatrixDenseTriEncap& AbstractLinAlgPack::MatrixDenseTriEncap::operator= ( const MatrixDenseTriEncap )
private

Member Data Documentation

const MatrixOpGetGMSTri& AbstractLinAlgPack::MatrixDenseTriEncap::mat_get_
private

Definition at line 144 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.

const DenseLinAlgPack::DMatrixSliceTri AbstractLinAlgPack::MatrixDenseTriEncap::tri_gms_view_
private

Definition at line 145 of file AbstractLinAlgPack_MatrixOpGetGMSTri.hpp.


The documentation for this class was generated from the following file: