Chemical Data Processing Library C++ API - Version 1.2.0
Public Types | Public Member Functions | Friends | List of all members
CDPL::Math::MatrixReference< M > Class Template Reference

#include <Matrix.hpp>

+ Inheritance diagram for CDPL::Math::MatrixReference< M >:

Public Types

typedef M MatrixType
 
typedef M::ValueType ValueType
 
typedef std::conditional< std::is_const< M >::value, typename M::ConstReference, typename M::Reference >::type Reference
 
typedef M::ConstReference ConstReference
 
typedef M::SizeType SizeType
 
typedef M::DifferenceType DifferenceType
 
typedef SelfType ClosureType
 
typedef const SelfType ConstClosureType
 
- Public Types inherited from CDPL::Math::MatrixExpression< MatrixReference< M > >
typedef MatrixReference< M > ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 MatrixReference (MatrixType &m)
 
Reference operator() (SizeType i, SizeType j)
 
ConstReference operator() (SizeType i, SizeType j) const
 
SizeType getSize1 () const
 
SizeType getSize2 () const
 
SizeType getMaxSize () const
 
SizeType getMaxSize1 () const
 
SizeType getMaxSize2 () const
 
bool isEmpty () const
 
const MatrixTypegetData () const
 
MatrixTypegetData ()
 
MatrixReferenceoperator= (const MatrixReference &r)
 
template<typename E >
MatrixReferenceoperator= (const MatrixExpression< E > &e)
 
template<typename E >
MatrixReferenceoperator+= (const MatrixExpression< E > &e)
 
template<typename E >
MatrixReferenceoperator-= (const MatrixExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, MatrixReference >::type & operator*= (const T &t)
 
template<typename T >
std::enable_if< IsScalar< T >::value, MatrixReference >::type & operator/= (const T &t)
 
template<typename E >
MatrixReferenceassign (const MatrixExpression< E > &e)
 
template<typename E >
MatrixReferenceplusAssign (const MatrixExpression< E > &e)
 
template<typename E >
MatrixReferenceminusAssign (const MatrixExpression< E > &e)
 
void swap (MatrixReference &r)
 
- Public Member Functions inherited from CDPL::Math::MatrixExpression< MatrixReference< M > >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Friends

void swap (MatrixReference &r1, MatrixReference &r2)
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::MatrixExpression< MatrixReference< M > >
 MatrixExpression ()
 
 ~MatrixExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Member Typedef Documentation

◆ MatrixType

template<typename M >
typedef M CDPL::Math::MatrixReference< M >::MatrixType

◆ ValueType

template<typename M >
typedef M::ValueType CDPL::Math::MatrixReference< M >::ValueType

◆ Reference

template<typename M >
typedef std::conditional<std::is_const<M>::value, typename M::ConstReference, typename M::Reference>::type CDPL::Math::MatrixReference< M >::Reference

◆ ConstReference

template<typename M >
typedef M::ConstReference CDPL::Math::MatrixReference< M >::ConstReference

◆ SizeType

template<typename M >
typedef M::SizeType CDPL::Math::MatrixReference< M >::SizeType

◆ DifferenceType

template<typename M >
typedef M::DifferenceType CDPL::Math::MatrixReference< M >::DifferenceType

◆ ClosureType

template<typename M >
typedef SelfType CDPL::Math::MatrixReference< M >::ClosureType

◆ ConstClosureType

template<typename M >
typedef const SelfType CDPL::Math::MatrixReference< M >::ConstClosureType

Constructor & Destructor Documentation

◆ MatrixReference()

template<typename M >
CDPL::Math::MatrixReference< M >::MatrixReference ( MatrixType m)
inlineexplicit

Member Function Documentation

◆ operator()() [1/2]

template<typename M >
Reference CDPL::Math::MatrixReference< M >::operator() ( SizeType  i,
SizeType  j 
)
inline

◆ operator()() [2/2]

template<typename M >
ConstReference CDPL::Math::MatrixReference< M >::operator() ( SizeType  i,
SizeType  j 
) const
inline

◆ getSize1()

template<typename M >
SizeType CDPL::Math::MatrixReference< M >::getSize1 ( ) const
inline

◆ getSize2()

template<typename M >
SizeType CDPL::Math::MatrixReference< M >::getSize2 ( ) const
inline

◆ getMaxSize()

template<typename M >
SizeType CDPL::Math::MatrixReference< M >::getMaxSize ( ) const
inline

◆ getMaxSize1()

template<typename M >
SizeType CDPL::Math::MatrixReference< M >::getMaxSize1 ( ) const
inline

◆ getMaxSize2()

template<typename M >
SizeType CDPL::Math::MatrixReference< M >::getMaxSize2 ( ) const
inline

◆ isEmpty()

template<typename M >
bool CDPL::Math::MatrixReference< M >::isEmpty ( ) const
inline

◆ getData() [1/2]

template<typename M >
const MatrixType& CDPL::Math::MatrixReference< M >::getData ( ) const
inline

◆ getData() [2/2]

template<typename M >
MatrixType& CDPL::Math::MatrixReference< M >::getData ( )
inline

◆ operator=() [1/2]

template<typename M >
MatrixReference& CDPL::Math::MatrixReference< M >::operator= ( const MatrixReference< M > &  r)
inline

◆ operator=() [2/2]

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::operator= ( const MatrixExpression< E > &  e)
inline

◆ operator+=()

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::operator+= ( const MatrixExpression< E > &  e)
inline

◆ operator-=()

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::operator-= ( const MatrixExpression< E > &  e)
inline

◆ operator*=()

template<typename M >
template<typename T >
std::enable_if<IsScalar<T>::value, MatrixReference>::type& CDPL::Math::MatrixReference< M >::operator*= ( const T &  t)
inline

◆ operator/=()

template<typename M >
template<typename T >
std::enable_if<IsScalar<T>::value, MatrixReference>::type& CDPL::Math::MatrixReference< M >::operator/= ( const T &  t)
inline

◆ assign()

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::assign ( const MatrixExpression< E > &  e)
inline

◆ plusAssign()

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::plusAssign ( const MatrixExpression< E > &  e)
inline

◆ minusAssign()

template<typename M >
template<typename E >
MatrixReference& CDPL::Math::MatrixReference< M >::minusAssign ( const MatrixExpression< E > &  e)
inline

◆ swap()

template<typename M >
void CDPL::Math::MatrixReference< M >::swap ( MatrixReference< M > &  r)
inline

Friends And Related Function Documentation

◆ swap

template<typename M >
void swap ( MatrixReference< M > &  r1,
MatrixReference< M > &  r2 
)
friend

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