36 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP 
   37 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP 
   48 #include <boost/lexical_cast.hpp> 
   56     template<
typename DataType>
 
   84                 unsigned int row, 
unsigned int col, 
 
   85                 unsigned int numRows, 
unsigned int numColumns, 
const char transpose =  
'N',
 
   86                 unsigned int numSubDiags = 0, 
unsigned int numSuperDiags = 0) ;
 
   89                 unsigned int columns, 
unsigned int subDiags = 0, 
unsigned int superDiags = 0);
 
  110             virtual typename boost::call_traits<DataType>::value_type 
v_GetValue(
unsigned int row, 
unsigned int column) 
const = 0;            
 
  119     template<
typename DataType>
 
  139             LIB_UTILITIES_EXPORT virtual void v_SetValue(
unsigned int row, 
unsigned int column, 
typename boost::call_traits<DataType>::const_reference d) = 0;
 
  145 #endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP 
virtual boost::call_traits< DataType >::value_type v_GetValue(unsigned int row, unsigned int column) const =0
 
void Resize(unsigned int rows, unsigned int columns)
Resets the rows and columns in the array. This method does not update the data storage to match the n...
 
const unsigned int * GetSize() const 
 
virtual MatrixStorage v_GetStorageType() const =0
 
virtual unsigned int v_GetStorageSize() const =0
 
char GetTransposeFlag() const 
 
virtual void v_Transpose()
 
virtual void v_SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)=0
 
unsigned int GetColumns() const 
 
unsigned int GetStorageSize() const 
 
Matrix< DataType > & operator=(const Matrix< DataType > &rhs)
 
static unsigned int CalculateIndex(MatrixStorage type, unsigned int row, unsigned int col, unsigned int numRows, unsigned int numColumns, const char transpose= 'N', unsigned int numSubDiags=0, unsigned int numSuperDiags=0)
 
#define LIB_UTILITIES_EXPORT
 
virtual char v_GetTransposeFlag() const 
 
MatrixStorage GetStorageType() const 
 
char GetRawTransposeFlag() const 
 
unsigned int GetTransposedColumns(char transpose) const 
 
ConstMatrix(unsigned int rows, unsigned int columns)
 
void SetTransposeFlag(char newValue)
 
Matrix(unsigned int rows, unsigned int columns)
 
unsigned int GetRows() const 
 
ConstMatrix< DataType > & operator=(const ConstMatrix< DataType > &rhs)
 
static unsigned int GetRequiredStorageSize(MatrixStorage type, unsigned int rows, unsigned int columns, unsigned int subDiags=0, unsigned int superDiags=0)
 
void SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)
 
boost::call_traits< DataType >::value_type operator()(unsigned int row, unsigned int column) const 
 
unsigned int GetTransposedRows(char transpose) const