Documentation of CSL
Public Member Functions | Friends
csl::Abbreviation< BaseParent > Class Template Reference
Inheritance diagram for csl::Abbreviation< BaseParent >:
Inheritance graph
[legend]

Public Member Functions

template<class ... Args>
 Abbreviation (Expr const &t_encapsulated, std::string const &t_name, Args &&... args)
 
bool isAnAbbreviation () const override
 
void printDefinition (std::ostream &out=std::cout, int indentSize=4, bool header=false) const override
 
std::string const & getBaseName () const override
 
void enableEvaluation () override
 
void disableEvaluation () override
 
void toggleEvaluation () override
 
csl::Expr getExactEncapsulated (Expr_info self) const override
 Returns the encapsulated expression, applying to it the correct index structure. More...
 
std::optional< Exprevaluate (Expr_info self, csl::eval::mode user_mode=csl::eval::base) const override
 
Expr const & getEncapsulated () const override
 
void setEncapsulated (Expr const &t_encapsulated) override
 

Friends

class Abbrev
 

Member Function Documentation

◆ getEncapsulated()

template<class BaseParent >
Expr const& csl::Abbreviation< BaseParent >::getEncapsulated ( ) const
inlineoverride
Returns
The initial encapsulated expression.

To have the exact index correspondence with the actual abbreviation see getExactEncapsulated().

◆ getExactEncapsulated()

template<class BaseParent >
csl::Expr csl::Abbreviation< BaseParent >::getExactEncapsulated ( Expr_info  self) const
inlineoverride

Returns the encapsulated expression, applying to it the correct index structure.

Parameters
selfAbbreviated expression.
Returns
The encapsulated expression with the correct index structure.

This function uses getEncapsulated() and applies the current index structure, from the abbreviation object self, to it. The result is then the mathematically equivalent encapsulated expression. Therefore this function performs calculations (contrary to getEncapsulated()) but yields an expression that can replace the initial abbreviation object in expressions ensuring that the result is still mathematically valid.


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