VectorExpression.h File Reference
#include <Core/Utils/Functors.h>
#include <functional>
#include <Core/Vector/VectorExpression-Impl.h>

Go to the source code of this file.

Classes

class  CubbyFlow::VectorExpression< T, E >
 Base class for vector expression. More...
 
class  CubbyFlow::VectorUnaryOp< T, E, Op >
 Vector expression for unary operation. More...
 
class  CubbyFlow::VectorBinaryOp< T, E1, E2, Op >
 Vector expression for binary operation. More...
 
class  CubbyFlow::VectorScalarBinaryOp< T, E, Op >
 Vector expression for matrix-scalar binary operation. More...
 

Namespaces

 CubbyFlow
 

Typedefs

template<typename T , typename E , typename U >
using CubbyFlow::VectorTypeCast = VectorUnaryOp< T, E, TypeCast< U, T > >
 Matrix expression for type casting. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::VectorAdd = VectorBinaryOp< T, E1, E2, std::plus< T > >
 Vector-vector addition expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarAdd = VectorScalarBinaryOp< T, E, std::plus< T > >
 Vector-scalar addition expression. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::VectorSub = VectorBinaryOp< T, E1, E2, std::minus< T > >
 Vector-vector addition expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarSub = VectorScalarBinaryOp< T, E, std::minus< T > >
 Vector-scalar subtraction expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarRSub = VectorScalarBinaryOp< T, E, RMinus< T > >
 Scalar-vector subtraction expression. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::VectorMul = VectorBinaryOp< T, E1, E2, std::multiplies< T > >
 Element-wise vector-vector multiplication expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarMul = VectorScalarBinaryOp< T, E, std::multiplies< T > >
 Vector-scalar multiplication expression. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::VectorDiv = VectorBinaryOp< T, E1, E2, std::divides< T > >
 Element-wise vector-vector division expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarDiv = VectorScalarBinaryOp< T, E, std::divides< T > >
 Vector-scalar division expression. More...
 
template<typename T , typename E >
using CubbyFlow::VectorScalarRDiv = VectorScalarBinaryOp< T, E, RDivides< T > >
 Scalar-vector division expression. More...
 

Functions

template<typename T , typename E >
VectorScalarAdd< T, E > CubbyFlow::operator+ (const T &a, const VectorExpression< T, E > &b)
 Scalar-vector addition operation. More...
 
template<typename T , typename E >
VectorScalarAdd< T, E > CubbyFlow::operator+ (const VectorExpression< T, E > &a, const T &b)
 Vector-scalar addition operation. More...
 
template<typename T , typename E1 , typename E2 >
VectorAdd< T, E1, E2 > CubbyFlow::operator+ (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b)
 Vector-vector addition operation. More...
 
template<typename T , typename E >
VectorScalarRSub< T, E > CubbyFlow::operator- (const T &a, const VectorExpression< T, E > &b)
 Scalar-vector subtraction operation. More...
 
template<typename T , typename E >
VectorScalarSub< T, E > CubbyFlow::operator- (const VectorExpression< T, E > &a, const T &b)
 Scalar-vector addition operation. More...
 
template<typename T , typename E1 , typename E2 >
VectorSub< T, E1, E2 > CubbyFlow::operator- (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b)
 Vector-vector addition operation. More...
 
template<typename T , typename E >
VectorScalarMul< T, E > CubbyFlow::operator* (const T &a, const VectorExpression< T, E > &b)
 Scalar-vector multiplication operation. More...
 
template<typename T , typename E >
VectorScalarMul< T, E > CubbyFlow::operator* (const VectorExpression< T, E > &a, const T &b)
 Vector-scalar multiplication operation. More...
 
template<typename T , typename E1 , typename E2 >
VectorMul< T, E1, E2 > CubbyFlow::operator* (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b)
 Element-wise vector-vector multiplication operation. More...
 
template<typename T , typename E >
VectorScalarRDiv< T, E > CubbyFlow::operator/ (const T &a, const VectorExpression< T, E > &b)
 Scalar-vector division operation. More...
 
template<typename T , typename E >
VectorScalarDiv< T, E > CubbyFlow::operator/ (const VectorExpression< T, E > &a, const T &b)
 Vector-scalar division operation. More...
 
template<typename T , typename E1 , typename E2 >
VectorDiv< T, E1, E2 > CubbyFlow::operator/ (const VectorExpression< T, E1 > &a, const VectorExpression< T, E2 > &b)
 Element-wise vector-vector division operation. More...