AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
AbstractLinAlgPack::MatrixDenseEncap Class Reference

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

#include <AbstractLinAlgPack_MatrixOpGetGMS.hpp>

Public Member Functions

 MatrixDenseEncap (const MatrixOpGetGMS &mat_get)
 Construct a DMatrixSlice view from a MatrixOpGetGMS object. More...
 
 MatrixDenseEncap (const MatrixOp &mat)
 Construct a DMatrixSlice view from a MatrixOp object. More...
 
 ~MatrixDenseEncap ()
 Frees the DMatrixSlice view. More...
 
const DMatrixSlice operator() () const
 Returns a constant view of the DMatrixSlice view. More...
 

Detailed Description

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

This takes care of worrying about if the MatrixOpGetGMS interface is supported or not and remembering to free the DMatrixSlice view properly.

This class is only to be used on the stack as an automatic variable. For example, to extract a DMatrixSlice view of an abstract vector and use it to copy to a DMatrix object you could write a function like:

void copy(const MatrixOpGetGMS& mat_in, GenMatrixClass* gms_out ) {
MatrixDenseEncap gms_in(mat_in);
gms_out = gms_in();
}

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

Definition at line 125 of file AbstractLinAlgPack_MatrixOpGetGMS.hpp.

Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixDenseEncap::MatrixDenseEncap ( const MatrixOpGetGMS mat_get)
inline

Construct a DMatrixSlice view from a MatrixOpGetGMS object.

Definition at line 158 of file AbstractLinAlgPack_MatrixOpGetGMS.hpp.

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

Construct a DMatrixSlice view from a MatrixOp object.

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

Definition at line 164 of file AbstractLinAlgPack_MatrixOpGetGMS.hpp.

AbstractLinAlgPack::MatrixDenseEncap::~MatrixDenseEncap ( )
inline

Frees the DMatrixSlice view.

Definition at line 170 of file AbstractLinAlgPack_MatrixOpGetGMS.hpp.

Member Function Documentation

const DMatrixSlice AbstractLinAlgPack::MatrixDenseEncap::operator() ( ) const
inline

Returns a constant view of the DMatrixSlice view.

Definition at line 176 of file AbstractLinAlgPack_MatrixOpGetGMS.hpp.


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