Eigen::symbolic::BaseExpr< Derived > Class Template Reference

Public Member Functions

const Derived & derived () const
 
template<typename T >
Index eval (const T &values) const
 
template<typename... Types>
Index eval (Types &&... values) const
 
template<typename OtherDerived >
ProductExpr< Derived, OtherDerived > operator* (const BaseExpr< OtherDerived > &b) const
 
ProductExpr< Derived, ValueExpr<> > operator* (Index a) const
 
template<int N>
ProductExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator* (internal::FixedInt< N >) const
 
template<typename OtherDerived >
AddExpr< Derived, OtherDerived > operator+ (const BaseExpr< OtherDerived > &b) const
 
AddExpr< Derived, ValueExpr<> > operator+ (Index b) const
 
template<int N>
AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+ (internal::FixedInt< N >) const
 
NegateExpr< Derived > operator- () const
 
template<typename OtherDerived >
AddExpr< Derived, NegateExpr< OtherDerived > > operator- (const BaseExpr< OtherDerived > &b) const
 
AddExpr< Derived, ValueExpr<> > operator- (Index a) const
 
template<int N>
AddExpr< Derived, ValueExpr< internal::FixedInt<-N > > > operator- (internal::FixedInt< N >) const
 
template<typename OtherDerived >
QuotientExpr< Derived, OtherDerived > operator/ (const BaseExpr< OtherDerived > &b) const
 
QuotientExpr< Derived, ValueExpr<> > operator/ (Index a) const
 
template<int N>
QuotientExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator/ (internal::FixedInt< N >) const
 

Detailed Description

template<typename Derived>
class Eigen::symbolic::BaseExpr< Derived >

Common base class of any symbolic expressions

Definition at line 78 of file SymbolicIndex.h.

Member Function Documentation

◆ derived()

template<typename Derived >
const Derived& Eigen::symbolic::BaseExpr< Derived >::derived ( ) const
inline

Definition at line 81 of file SymbolicIndex.h.

81 { return *static_cast<const Derived*>(this); }

◆ eval() [1/2]

template<typename Derived >
template<typename T >
Index Eigen::symbolic::BaseExpr< Derived >::eval ( const T values) const
inline

Evaluate the expression given the values of the symbols.

Parameters
valuesdefines the values of the symbols, it can either be a SymbolValue or a std::tuple of SymbolValue as constructed by SymbolExpr::operator= operator.

Definition at line 90 of file SymbolicIndex.h.

90 { return derived().eval_impl(values); }
const Derived & derived() const
Definition: SymbolicIndex.h:81

◆ eval() [2/2]

template<typename Derived >
template<typename... Types>
Index Eigen::symbolic::BaseExpr< Derived >::eval ( Types &&...  values) const
inline

Definition at line 93 of file SymbolicIndex.h.

93 { return derived().eval_impl(std::make_tuple(values...)); }

◆ operator*() [1/3]

template<typename Derived >
template<typename OtherDerived >
ProductExpr<Derived,OtherDerived> Eigen::symbolic::BaseExpr< Derived >::operator* ( const BaseExpr< OtherDerived > &  b) const
inline

Definition at line 151 of file SymbolicIndex.h.

152  { return ProductExpr<Derived,OtherDerived>(derived(), b.derived()); }
Array< int, 3, 1 > b

◆ operator*() [2/3]

template<typename Derived >
ProductExpr<Derived,ValueExpr<> > Eigen::symbolic::BaseExpr< Derived >::operator* ( Index  a) const
inline

Definition at line 101 of file SymbolicIndex.h.

102  { return ProductExpr<Derived,ValueExpr<> >(derived(),a); }

◆ operator*() [3/3]

template<typename Derived >
template<int N>
ProductExpr<Derived,ValueExpr<internal::FixedInt<N> > > Eigen::symbolic::BaseExpr< Derived >::operator* ( internal::FixedInt< N >  ) const
inline

Definition at line 122 of file SymbolicIndex.h.

123  { return ProductExpr<Derived,ValueExpr<internal::FixedInt<N> > >(derived(),ValueExpr<internal::FixedInt<N> >()); }

◆ operator+() [1/3]

template<typename Derived >
template<typename OtherDerived >
AddExpr<Derived,OtherDerived> Eigen::symbolic::BaseExpr< Derived >::operator+ ( const BaseExpr< OtherDerived > &  b) const
inline

Definition at line 143 of file SymbolicIndex.h.

144  { return AddExpr<Derived,OtherDerived>(derived(), b.derived()); }

◆ operator+() [2/3]

template<typename Derived >
AddExpr<Derived,ValueExpr<> > Eigen::symbolic::BaseExpr< Derived >::operator+ ( Index  b) const
inline

Definition at line 97 of file SymbolicIndex.h.

98  { return AddExpr<Derived,ValueExpr<> >(derived(), b); }

◆ operator+() [3/3]

template<typename Derived >
template<int N>
AddExpr<Derived,ValueExpr<internal::FixedInt<N> > > Eigen::symbolic::BaseExpr< Derived >::operator+ ( internal::FixedInt< N >  ) const
inline

Definition at line 116 of file SymbolicIndex.h.

117  { return AddExpr<Derived,ValueExpr<internal::FixedInt<N> > >(derived(), ValueExpr<internal::FixedInt<N> >()); }

◆ operator-() [1/4]

template<typename Derived >
NegateExpr<Derived> Eigen::symbolic::BaseExpr< Derived >::operator- ( void  ) const
inline

Definition at line 95 of file SymbolicIndex.h.

95 { return NegateExpr<Derived>(derived()); }

◆ operator-() [2/4]

template<typename Derived >
template<typename OtherDerived >
AddExpr<Derived,NegateExpr<OtherDerived> > Eigen::symbolic::BaseExpr< Derived >::operator- ( const BaseExpr< OtherDerived > &  b) const
inline

Definition at line 147 of file SymbolicIndex.h.

148  { return AddExpr<Derived,NegateExpr<OtherDerived> >(derived(), -b.derived()); }

◆ operator-() [3/4]

template<typename Derived >
AddExpr<Derived,ValueExpr<> > Eigen::symbolic::BaseExpr< Derived >::operator- ( Index  a) const
inline

Definition at line 99 of file SymbolicIndex.h.

100  { return AddExpr<Derived,ValueExpr<> >(derived(), -a); }

◆ operator-() [4/4]

template<typename Derived >
template<int N>
AddExpr<Derived,ValueExpr<internal::FixedInt<-N> > > Eigen::symbolic::BaseExpr< Derived >::operator- ( internal::FixedInt< N >  ) const
inline

Definition at line 119 of file SymbolicIndex.h.

120  { return AddExpr<Derived,ValueExpr<internal::FixedInt<-N> > >(derived(), ValueExpr<internal::FixedInt<-N> >()); }

◆ operator/() [1/3]

template<typename Derived >
template<typename OtherDerived >
QuotientExpr<Derived,OtherDerived> Eigen::symbolic::BaseExpr< Derived >::operator/ ( const BaseExpr< OtherDerived > &  b) const
inline

Definition at line 155 of file SymbolicIndex.h.

156  { return QuotientExpr<Derived,OtherDerived>(derived(), b.derived()); }

◆ operator/() [2/3]

template<typename Derived >
QuotientExpr<Derived,ValueExpr<> > Eigen::symbolic::BaseExpr< Derived >::operator/ ( Index  a) const
inline

Definition at line 103 of file SymbolicIndex.h.

104  { return QuotientExpr<Derived,ValueExpr<> >(derived(),a); }

◆ operator/() [3/3]

template<typename Derived >
template<int N>
QuotientExpr<Derived,ValueExpr<internal::FixedInt<N> > > Eigen::symbolic::BaseExpr< Derived >::operator/ ( internal::FixedInt< N >  ) const
inline

Definition at line 125 of file SymbolicIndex.h.

126  { return QuotientExpr<Derived,ValueExpr<internal::FixedInt<N> > >(derived(),ValueExpr<internal::FixedInt<N> >()); }

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