23 #ifndef ELEMENT_H_INCLUDED 24 #define ELEMENT_H_INCLUDED 67 std::string
const &
getName()
const override;
69 std::string
const &getLatexName()
const override;
75 std::vector<Parent> getSubSymbols()
const override;
83 void setName(
const std::string& t_name)
override;
92 Expr_info variable,
int order)
const override;
95 csl::eval::mode user_mode = csl::eval::base
bool getCommutable() const override
Allows to know if the object commutes with all the others.
Definition: element.cpp:58
std::shared_ptr< AbstractParent > parent
Pointer to the parent that gave birth to this element.
Definition: element.h:43
void setParent(const Parent &t_parent) override
Changes the Parent of the Element, as the name and the commutability property from those of t_parent...
Definition: element.cpp:73
Definition: buildingBlock.h:69
Namespace for csl library.
Definition: abreviation.h:34
void setCommutable(bool t_commutable) override
Allows the abstract to commute or not.
Definition: element.cpp:83
Base classes for parents and elements.
std::optional< Expr > evaluate(csl::eval::mode user_mode=csl::eval::base) const override
Evaluates the Abstract.
Definition: element.cpp:111
AbstractElement()
Definition: element.cpp:24
Parent getParent() const override
Definition: element.cpp:38
ComplexProperty
Contains all possible complex properties of objects. Real, purely imaginary, or complex.
Definition: enum.h:127
~AbstractElement()
Destructor.
Definition: element.h:59
std::optional< Expr > getPolynomialTerm(Expr_info variable, int order) const override
Calculates and returns the polynomial term corresponding to *this with the variable t_variable at ord...
Definition: element.cpp:101
Root class of the inheritance tree of abstracts.
Definition: abstract.h:76
Base class for all parents (indicial, fields etc). All parents derive from this class.
Definition: parent.h:81
int isPolynomial(Expr_info variable) const override
Determines if the expression is a mononomial term in expr, i.e. a term of the form C*expr^n with C in...
Definition: element.cpp:93
std::string const & getName() const override
Returns the Abstract's name.
Definition: element.cpp:48
Base class for all elements. Objects that are constructed by a parent (see AbstractParent) when the u...
Definition: element.h:37
void setName(const std::string &t_name) override
Change the name of the abstract.
Definition: element.cpp:78