libqalculate-5.4.0
AliasUnit_Composite Class Reference

A subunit in a CompositeUnit. More...

#include <Unit.h>

Inheritance diagram for AliasUnit_Composite:
AliasUnit Unit ExpressionItem

Public Member Functions

 AliasUnit_Composite (Unit *alias, int exp=1, Prefix *prefix_=NULL)
 
 AliasUnit_Composite (const AliasUnit_Composite *unit)
 
virtual ExpressionItemcopy () const
 
virtual void set (const ExpressionItem *item)
 
virtual std::string print (bool plural_, bool short_, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
 
virtual std::string print (const PrintOptions &po, bool format=false, int tagtype=0, bool input=false, bool plural=true) const
 
virtual Prefixprefix () const
 
virtual int prefixExponent () const
 
virtual void set (Unit *u, int exp=1, Prefix *prefix_=NULL)
 
virtual MathStructureconvertToFirstBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
 
virtual MathStructureconvertFromFirstBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
 
- Public Member Functions inherited from AliasUnit
 AliasUnit (std::string cat_, std::string name_, std::string plural_, std::string singular_, std::string title_, Unit *alias, std::string relation="1", int exp=1, std::string inverse="", bool is_local=true, bool is_builtin=false, bool is_active=true)
 
 AliasUnit (const AliasUnit *unit)
 
virtual UnitbaseUnit () const
 
virtual UnitfirstBaseUnit () const
 
virtual void setBaseUnit (Unit *alias)
 
virtual std::string expression () const
 
virtual std::string inverseExpression () const
 
virtual std::string uncertainty (bool *is_relative=NULL) const
 
virtual void setExpression (std::string relation)
 
virtual void setInverseExpression (std::string inverse)
 
virtual void setUncertainty (std::string standard_uncertainty, bool is_relative=false)
 
virtual MathStructureconvertToBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
 
virtual MathStructureconvertFromBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
 
virtual MathStructureconvertToBaseUnit (MathStructure &mvalue) const
 
virtual MathStructureconvertFromBaseUnit (MathStructure &mvalue) const
 
virtual MathStructure convertToBaseUnit () const
 
virtual MathStructure convertFromBaseUnit () const
 
virtual int baseExponent (int exp=1) const
 
virtual void setExponent (int exp)
 
virtual int firstBaseExponent () const
 
virtual int mixWithBase () const
 
virtual int mixWithBaseMinimum () const
 
virtual void setMixWithBase (int combine_priority=1)
 
virtual void setMixWithBaseMinimum (int combine_minimum)
 
virtual int subtype () const
 
virtual bool isChildOf (Unit *u) const
 
virtual bool isParentOf (Unit *u) const
 
virtual bool hasNonlinearExpression () const
 
virtual bool hasNonlinearRelationTo (Unit *u) const
 
virtual bool hasApproximateExpression (bool check_variables=false, bool ignore_high_precision_intervals=false) const
 
virtual bool hasApproximateRelationTo (Unit *u, bool check_variables=false, bool ignore_high_precision_intervals=false) const
 
virtual bool containsRelativeTo (Unit *u) const
 
virtual bool hasNonlinearRelationToBase () const
 
virtual bool hasApproximateRelationToBase (bool check_variables=false, bool ignore_high_precision_intervals=false) const
 
- Public Member Functions inherited from Unit
 Unit (std::string cat_, std::string name_, std::string plural_="", std::string singular_="", std::string title_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
 
 Unit (const Unit *unit)
 
bool isSIUnit () const
 
void setAsSIUnit ()
 
void setSystem (std::string s_system)
 
const std::string & system () const
 
bool useWithPrefixesByDefault () const
 
int maxPreferredPrefix () const
 
int minPreferredPrefix () const
 
int defaultPrefix () const
 
void setUseWithPrefixesByDefault (bool use_with_prefixes)
 
void setMaxPreferredPrefix (int exp)
 
void setMinPreferredPrefix (int exp)
 
void setDefaultPrefix (int exp)
 
bool isCurrency () const
 
const std::string & countries () const
 
void setCountries (std::string country_names)
 
virtual const std::string & plural (bool return_singular_if_no_plural=true, 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 & singular (bool return_abbreviation_if_no_singular=true, 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 & abbreviation (bool return_singular_if_no_abbreviation=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
 
virtual bool isUsedByOtherUnits () const
 
virtual int type () const
 
bool convert (Unit *u, MathStructure &mvalue, MathStructure &exp) const
 
bool convert (Unit *u, MathStructure &mvalue) const
 
MathStructure convert (Unit *u, bool *converted=NULL) 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 ExpressionNamepreferredName (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 ExpressionNamepreferredInputName (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 ExpressionNamepreferredDisplayName (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 ExpressionNamegetName (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 ExpressionNamefindName (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 ExpressionItemgetReferencer (size_t index=1) const
 
virtual bool changeReference (ExpressionItem *o_from, ExpressionItem *o_to)
 
virtual int id () const
 

Protected Attributes

Prefixprefixv
 
- Protected Attributes inherited from AliasUnit
std::string svalue
 
std::string sinverse
 
std::string suncertainty
 
bool b_relative_uncertainty
 
int i_exp
 
int i_mix
 
int i_mix_min
 
Unito_unit
 
- Protected Attributes inherited from Unit
std::string ssystem
 
std::string scountries
 
bool b_si
 
unsigned short b_use_with_prefixes
 
- 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< ExpressionNamenames
 

Detailed Description

A subunit in a CompositeUnit.

Should normally not be used directly.

Member Function Documentation

◆ convertFromFirstBaseUnit()

virtual MathStructure & AliasUnit_Composite::convertFromFirstBaseUnit ( MathStructure & mvalue,
MathStructure & mexp ) const
virtual

Reimplemented from AliasUnit.

◆ convertToFirstBaseUnit()

virtual MathStructure & AliasUnit_Composite::convertToFirstBaseUnit ( MathStructure & mvalue,
MathStructure & mexp ) const
virtual

Reimplemented from AliasUnit.

◆ copy()

virtual ExpressionItem * AliasUnit_Composite::copy ( ) const
virtual

Reimplemented from AliasUnit.

◆ print() [1/2]

virtual std::string AliasUnit_Composite::print ( bool plural_,
bool short_,
bool use_unicode = false,
bool(* can_display_unicode_string_function )(const char *, void *) = NULL,
void * can_display_unicode_string_arg = NULL ) const
virtual

Returns a display string representing the unit in an expression.

Equivalent to preferredName() for Unit and AliasUnit, but closer to MathStructure::print() for CompositeUnit (prints out base expression).

Reimplemented from Unit.

◆ print() [2/2]

virtual std::string AliasUnit_Composite::print ( const PrintOptions & po,
bool format = false,
int tagtype = 0,
bool input = false,
bool plural = true ) const
virtual

Reimplemented from Unit.

◆ set()

virtual void AliasUnit_Composite::set ( const ExpressionItem * item)
virtual

Reimplemented from AliasUnit.


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