Variable Class Referenceabstract

Abstract base class for variables. More...

`#include <Variable.h>`

Inheritance diagram for Variable:

## Public Member Functions

| Variable (std::string cat_, std::string name_, std::string title_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
| Variable (const Variable *variable)
virtual ExpressionItem * | copy () const =0
virtual void | set (const ExpressionItem *item)
virtual int | type () const
virtual int | subtype () const
virtual bool | isKnown () const =0
virtual bool | representsPositive (bool=false)
virtual bool | representsNegative (bool=false)
virtual bool | representsNonNegative (bool=false)
virtual bool | representsNonPositive (bool=false)
virtual bool | representsInteger (bool=false)
virtual bool | representsNonInteger (bool=false)
virtual bool | representsFraction (bool=false)
virtual bool | representsNumber (bool=false)
virtual bool | representsRational (bool=false)
virtual bool | representsReal (bool=false)
virtual bool | representsNonComplex (bool b=false)
virtual bool | representsComplex (bool=false)
virtual bool | representsNonZero (bool=false)
virtual bool | representsEven (bool=false)
virtual bool | representsOdd (bool=false)
virtual bool | representsUndefined (bool=false, bool=false, bool=false)
virtual bool | representsBoolean ()
virtual bool | representsNonMatrix ()
virtual bool | representsScalar ()
virtual int | id () const
Public Member Functions inherited from ExpressionItem
| ExpressionItem (std::string cat_, std::string name_, std::string title_="", std::string descr_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
virtual bool | destroy ()
bool | isRegistered () const
void | setRegistered (bool is_registered)
| For internal use.
virtual const std::string & | name (bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const std::string & | referenceName () const
virtual const ExpressionName & | preferredName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | preferredInputName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | preferredDisplayName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | getName (size_t index) const
virtual void | setName (const ExpressionName &ename, size_t index=1, bool force=true)
virtual void | setName (std::string sname, size_t index, bool force=true)
virtual void | addName (const ExpressionName &ename, size_t index=0, bool force=true)
virtual void | addName (std::string sname, size_t index=0, bool force=true)
virtual size_t | countNames () const
virtual void | clearNames ()
virtual void | clearNonReferenceNames ()
virtual void | removeName (size_t index)
virtual size_t | hasName (const std::string &sname, bool case_sensitive=true) const
virtual size_t | hasNameCaseSensitive (const std::string &sname) const
virtual const ExpressionName & | findName (int abbreviation=-1, int use_unicode=-1, int plural=-1, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const std::string & | title (bool return_name_if_no_title=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual void | setTitle (std::string title_)
virtual const std::string & | description () const
virtual void | setDescription (std::string descr_)
virtual const std::string & | category () const
virtual void | setCategory (std::string cat_)
virtual bool | hasChanged () const
virtual void | setChanged (bool has_changed)
virtual bool | isLocal () const
virtual bool | setLocal (bool is_local=true, int will_be_active=-1)
virtual bool | isBuiltin () const
virtual bool | isApproximate () const
virtual void | setApproximate (bool is_approx=true)
virtual int | precision () const
virtual void | setPrecision (int prec)
virtual bool | isActive () const
virtual void | setActive (bool is_active)
virtual bool | isHidden () const
virtual void | setHidden (bool is_hidden)
virtual int | refcount () const
virtual void | ref ()
virtual void | unref ()
virtual void | ref (ExpressionItem *o)
virtual void | unref (ExpressionItem *o)
virtual ExpressionItem * | getReferencer (size_t index=1) const
virtual bool | changeReference (ExpressionItem *o_from, ExpressionItem *o_to)

## Additional Inherited Members

Protected Attributes inherited from ExpressionItem
std::string | scat
std::string | stitle
std::string | sdescr
bool | b_local
bool | b_changed
bool | b_builtin
bool | b_approx
bool | b_active
bool | b_registered
bool | b_hidden
bool | b_destroyed
int | i_ref
int | i_precision
std::vector< ExpressionItem * > | v_refs
std::vector< ExpressionName > | names

## Detailed Description

Abstract base class for variables.

A variable is an alpha-numerical representation of a known or unknown value.

## Member Function Documentation

## copy()

virtual ExpressionItem * Variable::copy | ( |  | ) | const

pure virtual

Implements ExpressionItem.

## id()

virtual int Variable::id | ( |  | ) | const

inline virtual

Reimplemented from ExpressionItem.

## isKnown()

virtual bool Variable::isKnown | ( |  | ) | const

pure virtual

Returns if the variable has a known value (as opposed to assumptions).

Returns
  true if the variable is of class KnownVariable, false if UnknownVariable.

Implemented in KnownVariable, and UnknownVariable.

## representsPositive()

virtual bool Variable::representsPositive | ( | bool | = false | ) |

inline virtual

Returns if the variable represents a positive value.

Reimplemented in DynamicVariable, KnownVariable, NowVariable, TodayVariable, TomorrowVariable, UnknownVariable, and YesterdayVariable.

## set()

virtual void Variable::set | ( | const ExpressionItem * | item | ) |

virtual

Reimplemented from ExpressionItem.

## subtype()

virtual int Variable::subtype | ( |  | ) | const

inline virtual

Returns the subtype of the variable, corresponding to which subsubclass the object belongs to.

Returns
  VariableSubtype.

Implements ExpressionItem.

Reimplemented in KnownVariable, and UnknownVariable.

References SUBTYPE_VARIABLE.

## type()

virtual int Variable::type | ( |  | ) | const

inline virtual

Returns the type of the expression item, corresponding to which subclass the object belongs to.

Returns
  ExpressionItemType.

Implements ExpressionItem.

References TYPE_VARIABLE.

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

- /build/libqalculate-MESRKN/libqalculate-5.9.0/libqalculate/Variable.h