Documentation of CSL
Public Member Functions | Protected Attributes
csl::Operator< T > Class Template Reference

Linear operator O(a*X+b*Y) = a*O(X) + b*O(Y) More...

#include <operator.h>

Inheritance diagram for csl::Operator< T >:
Inheritance graph
[legend]

Public Member Functions

template<typename ... Args>
 Operator (Args &&...args)
 
bool getCommutable () const override
 
bool commutesWith (Expr_info other, int sign=-1) const override
 
bool isAnOperator () const override
 
bool isEmpty () const override
 
void setEmpty (bool t_empty) override
 
void setOperandPrivate (const Expr &operand, bool leaveEmpty) override
 
Expr applyOperator (const Expr &expr, bool leaveEmpty=false) const override
 
std::optional< Exprexpand (bool full=false, bool inplace=false) const override
 
std::optional< Exprexpand_if (std::function< bool(Expr const &)> const &f, bool full=false, bool inplace=false) const override
 

Protected Attributes

bool empty
 

Detailed Description

template<typename T>
class csl::Operator< T >

Linear operator O(a*X+b*Y) = a*O(X) + b*O(Y)


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