SymEngine::Expression Class Reference
+ Collaboration diagram for SymEngine::Expression:

Public Member Functions

 Expression ()
 Plain constructor of Expression.
 
template<class T >
 Expression (T n, typename std::enable_if< std::is_integral< T >::value >::type *=nullptr)
 Construct Expression from integral types.
 
template<class T >
 Expression (T n, typename std::enable_if< std::is_floating_point< T >::value >::type *=nullptr)
 Construct Expression from floating point types.
 
template<class T >
 Expression (std::complex< T > n, typename std::enable_if< std::is_floating_point< T >::value >::type *=nullptr)
 Construct Expression from std::complex<> types.
 
 Expression (const integer_class &n)
 
 Expression (const rational_class &n)
 
 Expression (RCP< const Basic > &&o)
 
 Expression (const RCP< const Basic > &o)
 
 Expression (const std::string &s)
 
 Expression (const Expression &)=default
 Construct Expression from Expression.
 
 Expression (Expression &&other) SYMENGINE_NOEXCEPT
 Construct Expression from reference to Expression.
 
Expressionoperator= (const Expression &)=default
 Overload assignment operator.
 
Expressionoperator= (Expression &&other) SYMENGINE_NOEXCEPT
 Overload assignment operator for reference.
 
virtual ~Expression () SYMENGINE_NOEXCEPT
 Destructor of Expression.
 
Expressionoperator+= (const Expression &other)
 Overload addition and assignment(+=)
 
Expressionoperator+= (const RCP< const Basic > &other)
 
 operator const RCP< const Basic > & () const
 
Expression diff (const RCP< const Symbol > &x, bool cache=true) const
 Differentiation.
 
Expression diff (const RCP< const Basic > &x, bool cache=true) const
 Differentiation.
 
Expression subs (const map_basic_basic &subs_map) const
 Substitution.
 
template<typename T , typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
 operator T () const
 Evaluation to a floating point type.
 
template<typename T , typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
 operator std::complex< T > () const
 Evaluation to a complex floating point type.
 
 operator const Basic & () const
 
Expression operator- () const
 Overload unary negative.
 
Expressionoperator-= (const Expression &other)
 Overload subtraction and assignment(-=)
 
Expressionoperator-= (const RCP< const Basic > &other)
 
Expressionoperator*= (const Expression &other)
 Overload multiplication and assignment (*=)
 
Expressionoperator*= (const RCP< const Basic > &other)
 
Expressionoperator/= (const Expression &other)
 Overload Division and assignment (/=)
 
Expressionoperator/= (const RCP< const Basic > &other)
 
bool operator== (const Expression &other) const
 Overload check equality (==)
 
bool operator== (const RCP< const Basic > &other) const
 
bool operator!= (const Expression &other) const
 Overload check not equal (!=)
 
bool operator!= (const RCP< const Basic > &other) const
 
const RCP< const Basic > & get_basic () const
 Method to get Basic from Expression.
 

Private Attributes

RCP< const Basicm_basic
 

Friends

std::ostreamoperator<< (std::ostream &os, const Expression &expr)
 Overload stream operator.
 
Expression operator+ (const Expression &a, const Expression &b)
 Overload addition.
 
Expression operator+ (const RCP< const Basic > &a, const Expression &b)
 
Expression operator+ (const Expression &a, const RCP< const Basic > &b)
 
Expression operator- (const Expression &a, const Expression &b)
 Overload subtraction.
 
Expression operator- (const RCP< const Basic > &a, const Expression &b)
 
Expression operator- (const Expression &a, const RCP< const Basic > &b)
 
Expression operator* (const Expression &a, const Expression &b)
 Overload multiplication.
 
Expression operator* (const RCP< const Basic > &a, const Expression &b)
 
Expression operator* (const Expression &a, const RCP< const Basic > &b)
 
Expression operator/ (const Expression &a, const Expression &b)
 Overload Division.
 
Expression operator/ (const RCP< const Basic > &a, const Expression &b)
 
Expression operator/ (const Expression &a, const RCP< const Basic > &b)
 

Detailed Description

Definition at line 28 of file expression.h.


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