VCCC  2024.05
VisualCamp Common C++ library
matrix

Matrix implemented with expression template More...

Detailed Description

Classes

class  Matrix< T, m, n >
 A class that represents 2D matrix. More...
 
class  MatrixBase< Derived >
 
class  MatrixDivScalar< LhsType, RhsType >
 
class  MatrixMinus< E >
 
class  MatrixMulMatrix< LhsType, RhsType >
 
class  MatrixMulScalar< LhsType, RhsType >
 
class  MatrixSub< LhsType, RhsType >
 
class  MatrixSum< LhsType, RhsType >
 

Functions

template<typename LhsType , typename RhsType , std::enable_if_t<!is_matrix< RhsType >::value, int > = 0>
constexpr MatrixDivScalar< LhsType, RhsType > operator/ (const MatrixBase< LhsType > &lhs, const RhsType &value)
 
template<typename E >
constexpr MatrixMinus< E > operator- (const MatrixBase< E > &lhs)
 
template<typename E1 , typename E2 , std::enable_if_t<(internal::math::traits< E1 >::cols==internal::math::traits< E2 >::rows), int > = 0>
constexpr MatrixMulMatrix< E1, E2 > operator* (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs)
 
template<typename LhsType , typename RhsType , std::enable_if_t<!is_matrix< RhsType >::value, int > = 0>
constexpr MatrixMulScalar< LhsType, RhsType > operator* (const MatrixBase< LhsType > &lhs, const RhsType &value)
 
template<typename E >
std::ostream & operator<< (std::ostream &os, const MatrixBase< E > &mat_expr)
 
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0>
MatrixSub< E1, E2 > operator- (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) noexcept
 
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0>
constexpr MatrixSum< E1, E2 > operator+ (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs)
 

Function Documentation

◆ operator*() [1/2]

constexpr MatrixMulMatrix<E1, E2> vccc::operator* ( const MatrixBase< E1 > &  lhs,
const MatrixBase< E2 > &  rhs 
)
inlineconstexpr

◆ operator*() [2/2]

constexpr MatrixMulScalar<LhsType, RhsType> vccc::operator* ( const MatrixBase< LhsType > &  lhs,
const RhsType &  value 
)
inlineconstexpr

◆ operator+()

constexpr MatrixSum<E1, E2> vccc::operator+ ( const MatrixBase< E1 > &  lhs,
const MatrixBase< E2 > &  rhs 
)
inlineconstexpr

◆ operator-() [1/2]

constexpr MatrixMinus<E> vccc::operator- ( const MatrixBase< E > &  lhs)
inlineconstexpr

◆ operator-() [2/2]

MatrixSub<E1, E2> vccc::operator- ( const MatrixBase< E1 > &  lhs,
const MatrixBase< E2 > &  rhs 
)
noexcept

◆ operator/()

constexpr MatrixDivScalar<LhsType, RhsType> vccc::operator/ ( const MatrixBase< LhsType > &  lhs,
const RhsType &  value 
)
inlineconstexpr

◆ operator<<()

std::ostream& vccc::operator<< ( std::ostream &  os,
const MatrixBase< E > &  mat_expr 
)