DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Classes | Namespaces | Macros | Typedefs | Functions
utlExpression.h File Reference
#include "utlTypeinfo.h"
#include "utlCoreMacro.h"
#include "utlSmartAssert.h"
#include "utlSTDHeaders.h"
+ Include dependency graph for utlExpression.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  utl::BinaryOpExpr< OP, TLeft, TRight >
 
class  utl::BinaryOpExpr< OP, ScalarExprBase< ValueT >, TRight >
 
class  utl::BinaryOpExpr< OP, ScalarExprBase< ValueT1 >, ScalarExprBase< ValueT2 > >
 
class  utl::BinaryOpExpr< OP, TLeft, ScalarExprBase< ValueT > >
 
class  utl::Expr< SubType, ValueT >
 
class  utl::Expr< SubType, ValueT >
 
class  utl::ScalarExprBase< ValueT >
 
class  utl::ScalarExprBase< ValueT >
 
class  utl::UnaryOpExpr< OP, EType >
 

Namespaces

 utl
 

Macros

#define __BinaryOpExpr_Op(name, op)
 
#define __UnaryOpExpr_Op(name, op)
 

Typedefs

template<class TExpr >
using utl::Expr1ValueType = typename TExpr::ValueType
 
template<class TLeft , class TRight >
using utl::Expr2ValueType = typename SuperFloatType< typename TLeft::ValueType, typename TRight::ValueType >::type
 
typedef ScalarExprBase< std::complex< double > > utl::ScalarComplexExpr
 
typedef ScalarExprBase< double > utl::ScalarExpr
 
template<class T1 , class T2 >
using utl::SuperType = typename SuperFloatType< T1, T2 >::type
 

Functions

template<typename OP , typename TLeft , typename TRight >
BinaryOpExpr< OP, TLeft, TRight > utl::F (const Expr< TLeft, typename TLeft::ValueType > &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename OP , typename TA >
BinaryOpExpr< OP, TA, ScalarExpr > utl::F (const Expr< TA, typename TA::ValueType > &lhs, const ScalarExpr &rhs)
 
template<typename OP , typename TB >
BinaryOpExpr< OP, ScalarExpr, TB > utl::F (const ScalarExpr &lhs, const Expr< TB, typename TB::ValueType > &rhs)
 
template<typename OP , typename TA >
BinaryOpExpr< OP, TA, ScalarComplexExpr > utl::F (const Expr< TA, typename TA::ValueType > &lhs, const ScalarComplexExpr &rhs)
 
template<typename OP , typename TB >
BinaryOpExpr< OP, ScalarComplexExpr, TB > utl::F (const ScalarComplexExpr &lhs, const Expr< TB, typename TB::ValueType > &rhs)
 
template<typename OP , typename EType >
UnaryOpExpr< OP, EType > utl::F (const Expr< EType, typename EType::ValueType > &expr)
 
template<typename OP , typename TA , typename TB >
BinaryOpExpr< OP, TA, TB > utl::MakeExpr (const Expr< TA, typename TA::ValueType > &lhs, const Expr< TB, typename TB::ValueType > &rhs)
 
template<typename OP , typename EType >
UnaryOpExpr< OP, EType > utl::MakeExpr (const Expr< EType, typename EType::ValueType > &expr)
 
template<typename TLeft , typename TRight >
BinaryOpExpr< std::multiplies< Expr2ValueType< TLeft, TRight > >, TLeft, TRight > utl::operator% (const Expr< TLeft, typename TLeft::ValueType > &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TRight >
BinaryOpExpr< std::multiplies< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator% (const ScalarExpr &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::multiplies< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator% (const Expr< TLeft, typename TLeft::ValueType > &lhs, const ScalarExpr &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::multiplies< Expr2ValueType< TLeft, ScalarComplexExpr > >, TLeft, ScalarComplexExpr > utl::operator% (const Expr< TLeft, typename TLeft::ValueType > &lhs, const std::complex< double > rhs)
 
template<typename TRight >
BinaryOpExpr< std::multiplies< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator% (const double lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::multiplies< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator% (const Expr< TLeft, typename TLeft::ValueType > &lhs, const double rhs)
 
template<typename TRight >
BinaryOpExpr< std::multiplies< Expr2ValueType< ScalarComplexExpr, TRight > >, ScalarComplexExpr, TRight > utl::operator% (const std::complex< double > lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TRight >
BinaryOpExpr< std::plus< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator+ (const ScalarExpr &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::plus< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator+ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const ScalarExpr &rhs)
 
template<typename TRight >
BinaryOpExpr< std::plus< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator+ (const double lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::plus< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator+ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const double rhs)
 
template<typename TRight >
BinaryOpExpr< std::plus< Expr2ValueType< ScalarComplexExpr, TRight > >, ScalarComplexExpr, TRight > utl::operator+ (const std::complex< double > lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::plus< Expr2ValueType< TLeft, ScalarComplexExpr > >, TLeft, ScalarComplexExpr > utl::operator+ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const std::complex< double > rhs)
 
template<typename TLeft , typename TRight >
BinaryOpExpr< std::plus< Expr2ValueType< TLeft, TRight > >, TLeft, TRight > utl::operator+ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::minus< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator- (const Expr< TLeft, typename TLeft::ValueType > &lhs, const ScalarExpr &rhs)
 
template<typename TRight >
BinaryOpExpr< std::minus< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator- (const double lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TRight >
BinaryOpExpr< std::minus< Expr2ValueType< ScalarComplexExpr, TRight > >, ScalarComplexExpr, TRight > utl::operator- (const std::complex< double > lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::minus< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator- (const Expr< TLeft, typename TLeft::ValueType > &lhs, const double rhs)
 
template<typename TLeft >
BinaryOpExpr< std::minus< Expr2ValueType< TLeft, ScalarComplexExpr > >, TLeft, ScalarComplexExpr > utl::operator- (const Expr< TLeft, typename TLeft::ValueType > &lhs, const std::complex< double > rhs)
 
template<typename TLeft , typename TRight >
BinaryOpExpr< std::minus< Expr2ValueType< TLeft, TRight > >, TLeft, TRight > utl::operator- (const Expr< TLeft, typename TLeft::ValueType > &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TRight >
BinaryOpExpr< std::minus< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator- (const ScalarExpr &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TExpr >
UnaryOpExpr< std::negate< typename TExpr::ValueType >, TExpr > utl::operator- (const Expr< TExpr, typename TExpr::ValueType > &lhs)
 
template<typename TRight >
BinaryOpExpr< std::divides< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator/ (const double lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::divides< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator/ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const ScalarExpr &rhs)
 
template<typename TLeft , typename TRight >
BinaryOpExpr< std::divides< Expr2ValueType< TLeft, TRight > >, TLeft, TRight > utl::operator/ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::divides< Expr2ValueType< TLeft, ScalarComplexExpr > >, TLeft, ScalarComplexExpr > utl::operator/ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const std::complex< double > rhs)
 
template<typename TRight >
BinaryOpExpr< std::divides< Expr2ValueType< ScalarComplexExpr, TRight > >, ScalarComplexExpr, TRight > utl::operator/ (const std::complex< double > lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 
template<typename TLeft >
BinaryOpExpr< std::divides< Expr2ValueType< TLeft, ScalarExpr > >, TLeft, ScalarExpr > utl::operator/ (const Expr< TLeft, typename TLeft::ValueType > &lhs, const double rhs)
 
template<typename TRight >
BinaryOpExpr< std::divides< Expr2ValueType< ScalarExpr, TRight > >, ScalarExpr, TRight > utl::operator/ (const ScalarExpr &lhs, const Expr< TRight, typename TRight::ValueType > &rhs)
 

Detailed Description

Author
Dr. Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om

Definition in file utlExpression.h.