Abstract unit associated to a dimension. More...
#include <vcsl_unit.h>
Public Member Functions | |
vcsl_unit (vcsl_unit const &) | |
virtual | ~vcsl_unit () |
virtual bool | compatible_units (vcsl_unit_sptr const &other) const =0 |
Are `this' and `other' compatible units ?. | |
virtual vcsl_unit_sptr | standard_unit () const =0 |
Return the standard unit associated to the dimension of `this'. | |
virtual double | units_per_standard_unit () const =0 |
Returns the number of units of `this' equal of the standard_unit for the dimension. | |
virtual const vcsl_acceleration_unit * | cast_to_acceleration_unit () const |
virtual const vcsl_angle_unit * | cast_to_angle_unit () const |
virtual const vcsl_charge_unit * | cast_to_charge_unit () const |
virtual const vcsl_length_unit * | cast_to_length_unit () const |
virtual const vcsl_mass_unit * | cast_to_mass_unit () const |
virtual const vcsl_temperature_unit * | cast_to_temperature_unit () const |
virtual const vcsl_time_unit * | cast_to_time_unit () const |
virtual const vcsl_velocity_unit * | cast_to_velocity_unit () const |
void | ref () |
void | unref () |
int | get_references () const |
bool | is_referenced () const |
Protected Member Functions | |
vcsl_unit () |
Abstract unit associated to a dimension.
A unit specifies how the quantity is measured--effectively, it specifies what is amount is to be defined as 1
This is a pure virtual class.
Definition at line 34 of file vcsl_unit.h.
vcsl_unit::vcsl_unit | ( | ) | [inline, protected] |
Definition at line 43 of file vcsl_unit.h.
vcsl_unit::vcsl_unit | ( | vcsl_unit const & | ) | [inline] |
Definition at line 47 of file vcsl_unit.h.
virtual vcsl_unit::~vcsl_unit | ( | ) | [inline, virtual] |
Definition at line 50 of file vcsl_unit.h.
virtual const vcsl_acceleration_unit* vcsl_unit::cast_to_acceleration_unit | ( | ) | const [inline, virtual] |
Definition at line 70 of file vcsl_unit.h.
virtual const vcsl_angle_unit* vcsl_unit::cast_to_angle_unit | ( | ) | const [inline, virtual] |
Reimplemented in vcsl_angle_unit.
Definition at line 71 of file vcsl_unit.h.
virtual const vcsl_charge_unit* vcsl_unit::cast_to_charge_unit | ( | ) | const [inline, virtual] |
Definition at line 72 of file vcsl_unit.h.
virtual const vcsl_length_unit* vcsl_unit::cast_to_length_unit | ( | ) | const [inline, virtual] |
Reimplemented in vcsl_length_unit.
Definition at line 73 of file vcsl_unit.h.
virtual const vcsl_mass_unit* vcsl_unit::cast_to_mass_unit | ( | ) | const [inline, virtual] |
Definition at line 74 of file vcsl_unit.h.
virtual const vcsl_temperature_unit* vcsl_unit::cast_to_temperature_unit | ( | ) | const [inline, virtual] |
Definition at line 75 of file vcsl_unit.h.
virtual const vcsl_time_unit* vcsl_unit::cast_to_time_unit | ( | ) | const [inline, virtual] |
Definition at line 76 of file vcsl_unit.h.
virtual const vcsl_velocity_unit* vcsl_unit::cast_to_velocity_unit | ( | ) | const [inline, virtual] |
Definition at line 77 of file vcsl_unit.h.
virtual bool vcsl_unit::compatible_units | ( | vcsl_unit_sptr const & | other | ) | const [pure virtual] |
Are `this' and `other' compatible units ?.
(Are they associated to the same dimension ?)
Implemented in vcsl_length_unit, and vcsl_angle_unit.
virtual vcsl_unit_sptr vcsl_unit::standard_unit | ( | ) | const [pure virtual] |
Return the standard unit associated to the dimension of `this'.
Implemented in vcsl_length_unit, and vcsl_angle_unit.
virtual double vcsl_unit::units_per_standard_unit | ( | ) | const [pure virtual] |
Returns the number of units of `this' equal of the standard_unit for the dimension.
Implemented in vcsl_radian, vcsl_degree, vcsl_meter, vcsl_micron, and vcsl_millimeter.