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

#include <MatrixProxy.hpp>

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

Public Types

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

Public Member Functions

 MatrixSlice (MatrixType &m, const SliceType &s1, const SliceType &s2)
 
Reference operator() (SizeType i, SizeType j)
 
ConstReference operator() (SizeType i, SizeType j) const
 
SizeType getStart1 () const
 
SizeType getStart2 () const
 
DifferenceType getStride1 () const
 
DifferenceType getStride2 () const
 
SizeType getSize1 () const
 
SizeType getSize2 () const
 
bool isEmpty () const
 
MatrixClosureTypegetData ()
 
const MatrixClosureTypegetData () const
 
MatrixSliceoperator= (const MatrixSlice &s)
 
template<typename E >
MatrixSliceoperator= (const MatrixExpression< E > &e)
 
template<typename E >
MatrixSliceoperator+= (const MatrixExpression< E > &e)
 
template<typename E >
MatrixSliceoperator-= (const MatrixExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, MatrixSlice >::type & operator*= (const T &t)
 
template<typename T >
std::enable_if< IsScalar< T >::value, MatrixSlice >::type & operator/= (const T &t)
 
template<typename E >
MatrixSliceassign (const MatrixExpression< E > &e)
 
template<typename E >
MatrixSliceplusAssign (const MatrixExpression< E > &e)
 
template<typename E >
MatrixSliceminusAssign (const MatrixExpression< E > &e)
 
void swap (MatrixSlice &s)
 
- Public Member Functions inherited from CDPL::Math::MatrixExpression< MatrixSlice< M > >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Friends

void swap (MatrixSlice &s1, MatrixSlice &s2)
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::MatrixExpression< MatrixSlice< 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::MatrixSlice< M >::MatrixType

◆ SizeType

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

◆ DifferenceType

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

◆ ValueType

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

◆ ConstReference

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

◆ Reference

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

◆ MatrixClosureType

template<typename M >
typedef std::conditional<std::is_const<M>::value, typename M::ConstClosureType, typename M::ClosureType>::type CDPL::Math::MatrixSlice< M >::MatrixClosureType

◆ ConstClosureType

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

◆ ClosureType

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

◆ SliceType

template<typename M >
typedef Slice<SizeType, DifferenceType> CDPL::Math::MatrixSlice< M >::SliceType

Constructor & Destructor Documentation

◆ MatrixSlice()

template<typename M >
CDPL::Math::MatrixSlice< M >::MatrixSlice ( MatrixType m,
const SliceType s1,
const SliceType s2 
)
inline

Member Function Documentation

◆ operator()() [1/2]

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

◆ operator()() [2/2]

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

◆ getStart1()

template<typename M >
SizeType CDPL::Math::MatrixSlice< M >::getStart1 ( ) const
inline

◆ getStart2()

template<typename M >
SizeType CDPL::Math::MatrixSlice< M >::getStart2 ( ) const
inline

◆ getStride1()

template<typename M >
DifferenceType CDPL::Math::MatrixSlice< M >::getStride1 ( ) const
inline

◆ getStride2()

template<typename M >
DifferenceType CDPL::Math::MatrixSlice< M >::getStride2 ( ) const
inline

◆ getSize1()

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

◆ getSize2()

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

◆ isEmpty()

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

◆ getData() [1/2]

template<typename M >
MatrixClosureType& CDPL::Math::MatrixSlice< M >::getData ( )
inline

◆ getData() [2/2]

template<typename M >
const MatrixClosureType& CDPL::Math::MatrixSlice< M >::getData ( ) const
inline

◆ operator=() [1/2]

template<typename M >
MatrixSlice& CDPL::Math::MatrixSlice< M >::operator= ( const MatrixSlice< M > &  s)
inline

◆ operator=() [2/2]

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

◆ operator+=()

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

◆ operator-=()

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

◆ operator*=()

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

◆ operator/=()

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

◆ assign()

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

◆ plusAssign()

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

◆ minusAssign()

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

◆ swap()

template<typename M >
void CDPL::Math::MatrixSlice< M >::swap ( MatrixSlice< M > &  s)
inline

Friends And Related Function Documentation

◆ swap

template<typename M >
void swap ( MatrixSlice< M > &  s1,
MatrixSlice< M > &  s2 
)
friend

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