ParGeMSLR
Public Member Functions | List of all members
pargemslr::VectorVirtualClass< T > Class Template Referenceabstract

The virtual class of all vector classes. More...

#include <vector.hpp>

Inheritance diagram for pargemslr::VectorVirtualClass< T >:
pargemslr::IntVectorClass< T > pargemslr::VectorClass< T >

Public Member Functions

 VectorVirtualClass ()
 The constructor of VectorVirtualClass. More...
 
 VectorVirtualClass (const VectorVirtualClass< T > &vec)
 The copy constructor of VectorVirtualClass. More...
 
 VectorVirtualClass (VectorVirtualClass< T > &&vec)
 The move constructor of VectorVirtualClass. More...
 
virtual int Clear ()
 Free the current vector. More...
 
virtual ~VectorVirtualClass ()
 The destructor of VectorVirtualClass. More...
 
virtual T & operator[] (int i)=0
 Get the reference of an index in the vector. More...
 
virtual T * GetData () const =0
 Get the data pointer of the vector. More...
 
virtual int GetDataLocation () const =0
 Get the data location of the vector. More...
 
virtual int GetLengthLocal () const =0
 Get the local length of the vector. More...
 
virtual int Fill (const T &v)=0
 Fill the vector with constant value. More...
 
virtual int MoveData (const int &location)=0
 Move the data to another memory location. More...
 
virtual bool IsParallel () const
 Tell if this is a prallel vector. More...
 
PrecisionEnum GetPrecision () const
 Get the data precision of the vector. More...
 

Detailed Description

template<typename T>
class pargemslr::VectorVirtualClass< T >

The virtual class of all vector classes.

Constructor & Destructor Documentation

◆ VectorVirtualClass() [1/3]

template<typename T >
template pargemslr::VectorVirtualClass< T >::VectorVirtualClass ( )

The constructor of VectorVirtualClass.

◆ VectorVirtualClass() [2/3]

template<typename T >
pargemslr::VectorVirtualClass< T >::VectorVirtualClass ( const VectorVirtualClass< T > &  vec)

The copy constructor of VectorVirtualClass.

◆ VectorVirtualClass() [3/3]

template<typename T >
pargemslr::VectorVirtualClass< T >::VectorVirtualClass ( VectorVirtualClass< T > &&  vec)

The move constructor of VectorVirtualClass.

◆ ~VectorVirtualClass()

template<typename T >
template pargemslr::VectorVirtualClass< T >::~VectorVirtualClass ( )
virtual

The destructor of VectorVirtualClass.

Member Function Documentation

◆ Clear()

template<typename T >
template int pargemslr::VectorVirtualClass< T >::Clear ( )
virtual

Free the current vector.

Returns
Return error message.

Reimplemented in pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, pargemslr::IntVectorClass< long int >, and pargemslr::VectorClass< T >.

◆ Fill()

template<typename T >
virtual int pargemslr::VectorVirtualClass< T >::Fill ( const T &  v)
pure virtual

Fill the vector with constant value.

Parameters
[in]vThe value to be filled.
Returns
Return error message.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< long int >, and pargemslr::IntVectorClass< int >.

◆ GetData()

template<typename T >
virtual T* pargemslr::VectorVirtualClass< T >::GetData ( ) const
pure virtual

Get the data pointer of the vector.

Returns
Return the data pointer.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, and pargemslr::IntVectorClass< long int >.

◆ GetDataLocation()

template<typename T >
virtual int pargemslr::VectorVirtualClass< T >::GetDataLocation ( ) const
pure virtual

Get the data location of the vector.

Returns
Return the data location of the vector.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, and pargemslr::IntVectorClass< long int >.

◆ GetLengthLocal()

template<typename T >
virtual int pargemslr::VectorVirtualClass< T >::GetLengthLocal ( ) const
pure virtual

Get the local length of the vector.

Returns
Return the length of the vector.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, and pargemslr::IntVectorClass< long int >.

◆ GetPrecision()

template<typename T >
template PrecisionEnum pargemslr::VectorVirtualClass< T >::GetPrecision ( ) const

Get the data precision of the vector.

Returns
Return the precision in PrecisionEnum.

◆ IsParallel()

template<typename T >
template bool pargemslr::VectorVirtualClass< T >::IsParallel ( ) const
virtual

Tell if this is a prallel vector.

Returns
Return true is this is a parallel vector.

◆ MoveData()

template<typename T >
virtual int pargemslr::VectorVirtualClass< T >::MoveData ( const int &  location)
pure virtual

Move the data to another memory location.

Parameters
[in]locationThe location move to.
Returns
Return error message.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, and pargemslr::IntVectorClass< long int >.

◆ operator[]()

template<typename T >
virtual T& pargemslr::VectorVirtualClass< T >::operator[] ( int  i)
pure virtual

Get the reference of an index in the vector.

Parameters
[in]iThe index.
Returns
The reference of the value on that index.

Implemented in pargemslr::VectorClass< T >, pargemslr::IntVectorClass< T >, pargemslr::IntVectorClass< int >, and pargemslr::IntVectorClass< long int >.


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