Logo Search packages:      
Sourcecode: libqalculate version File versions  Download package

CompositeUnit Class Reference

#include <Unit.h>

Inheritance diagram for CompositeUnit:

Unit ExpressionItem

List of all members.


Detailed Description

A unit consisting of a number of other units.

Composite units are defined by a unit expression with multiple units. Composite units often have an alias unit associated with them, as they do not have a reference name on their own. For example, a joule is defined as an alias defined in relation to a composite unit defined as "Newton * meter".

The names of composite units is only used to reference the unit in definitions of other units. They can not be used in expressions.

Composite units is definited as a composition of units. The units, with prefixes and exponents, can either be added one by one with add() or parsed from an expression (ex. "cm^3/g) with setBaseExpression().

Definition at line 248 of file Unit.h.


Public Member Functions

virtual const 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 void add (Unit *u, int exp=1, Prefix *prefix=NULL)
virtual void addName (string sname, size_t index=0, bool force=true)
virtual void addName (const ExpressionName &ename, size_t index=0, bool force=true)
virtual int baseExponent (int exp=1) const
virtual UnitbaseUnit () const
virtual const string & category () const
virtual bool changeReference (ExpressionItem *o_from, ExpressionItem *o_to)
virtual void clear ()
virtual void clearNames ()
virtual void clearNonReferenceNames ()
 CompositeUnit (const CompositeUnit *unit)
 CompositeUnit (string cat_, string name_, string title_="", string base_expression_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
virtual bool containsRelativeTo (Unit *u) const
MathStructure convert (Unit *u, bool *converted=NULL) const
bool convert (Unit *u, MathStructure &mvalue) const
bool convert (Unit *u, MathStructure &mvalue, MathStructure &exp) const
virtual MathStructure convertFromBaseUnit () const
virtual MathStructureconvertFromBaseUnit (MathStructure &mvalue) const
virtual MathStructureconvertFromBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
virtual MathStructure convertToBaseUnit () const
virtual MathStructureconvertToBaseUnit (MathStructure &mvalue) const
virtual MathStructureconvertToBaseUnit (MathStructure &mvalue, MathStructure &mexp) const
virtual ExpressionItemcopy () const
virtual size_t countNames () const
virtual size_t countUnits () const
virtual void del (size_t index)
virtual const string & description () const
virtual bool destroy ()
virtual size_t find (Unit *u) 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 MathStructure generateMathStructure (bool make_division=false) const
virtual Unitget (size_t index, int *exp=NULL, Prefix **prefix=NULL) const
virtual const ExpressionNamegetName (size_t index) const
virtual ExpressionItemgetReferencer (size_t index=1) const
virtual bool hasChanged () const
virtual bool hasComplexRelationTo (Unit *u) const
virtual size_t hasName (const string &sname, bool case_sensitive=true) const
virtual size_t hasNameCaseSensitive (const string &sname) const
virtual bool isActive () const
virtual bool isApproximate () const
virtual bool isBuiltin () const
virtual bool isChildOf (Unit *u) const
bool isCurrency () const
virtual bool isHidden () const
virtual bool isLocal () const
virtual bool isParentOf (Unit *u) const
bool isRegistered () const
bool isSIUnit () const
virtual bool isUsedByOtherUnits () const
virtual const 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 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 int precision () 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 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 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 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 void ref (ExpressionItem *o)
virtual void ref ()
virtual int refcount () const
virtual const string & referenceName () const
virtual void removeName (size_t index)
virtual void set (const ExpressionItem *item)
virtual void setActive (bool is_active)
virtual void setApproximate (bool is_approx=true)
void setAsSIUnit ()
virtual void setBaseExpression (string base_expression_)
virtual void setCategory (string cat_)
virtual void setChanged (bool has_changed)
virtual void setDescription (string descr_)
virtual void setExponent (size_t index, int exp)
virtual void setHidden (bool is_hidden)
virtual bool setLocal (bool is_local=true, int will_be_active=-1)
virtual void setName (string sname, size_t index, bool force=true)
virtual void setName (const ExpressionName &ename, size_t index=1, bool force=true)
virtual void setPrecision (int prec)
virtual void setPrefix (size_t index, Prefix *prefix)
void setRegistered (bool is_registered)
 For internal use.
void setSystem (string s_system)
virtual void setTitle (string title_)
virtual const 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 int subtype () const
const string & system () const
virtual const 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 int type () const
virtual void unref (ExpressionItem *o)
virtual void unref ()

Protected Attributes

bool b_active
bool b_approx
bool b_builtin
bool b_changed
bool b_destroyed
bool b_hidden
bool b_local
bool b_registered
bool b_si
int i_precision
int i_ref
vector< ExpressionNamenames
string scat
string sdescr
string sshort
string ssystem
string stitle
vector< AliasUnit_Composite * > units
vector< ExpressionItem * > v_refs

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

Generated by  Doxygen 1.6.0   Back to index