Public Member Functions | Protected Member Functions | List of all members
vcsl_unit Class Referenceabstract

Abstract unit associated to a dimension. More...

#include <vcsl_unit.h>

Inheritance diagram for vcsl_unit:
Inheritance graph
[legend]

Public Member Functions

 vcsl_unit (vcsl_unit const &)
 
 ~vcsl_unit () override=default
 
virtual bool compatible_units (vcsl_unit_sptr const &other) const =0
 Are ‘this’ and ‘other’ compatible units ?. More...
 
virtual vcsl_unit_sptr standard_unit () const =0
 Return the standard unit associated to the dimension of ‘this’. More...
 
virtual double units_per_standard_unit () const =0
 Returns the number of units of ‘this’ equal of the standard_unit for the dimension. More...
 
virtual const vcsl_acceleration_unit * cast_to_acceleration_unit () const
 
virtual const vcsl_angle_unitcast_to_angle_unit () const
 
virtual const vcsl_charge_unit * cast_to_charge_unit () const
 
virtual const vcsl_length_unitcast_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 ()
 
long get_references () const
 
bool is_referenced () const
 

Protected Member Functions

 vcsl_unit ()=default
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ vcsl_unit() [1/2]

vcsl_unit::vcsl_unit ( )
protecteddefault

◆ vcsl_unit() [2/2]

vcsl_unit::vcsl_unit ( vcsl_unit const &  )
inline

Definition at line 47 of file vcsl_unit.h.

◆ ~vcsl_unit()

vcsl_unit::~vcsl_unit ( )
overridedefault

Member Function Documentation

◆ cast_to_acceleration_unit()

virtual const vcsl_acceleration_unit* vcsl_unit::cast_to_acceleration_unit ( ) const
inlinevirtual

Definition at line 70 of file vcsl_unit.h.

◆ cast_to_angle_unit()

virtual const vcsl_angle_unit* vcsl_unit::cast_to_angle_unit ( ) const
inlinevirtual

Reimplemented in vcsl_angle_unit.

Definition at line 71 of file vcsl_unit.h.

◆ cast_to_charge_unit()

virtual const vcsl_charge_unit* vcsl_unit::cast_to_charge_unit ( ) const
inlinevirtual

Definition at line 72 of file vcsl_unit.h.

◆ cast_to_length_unit()

virtual const vcsl_length_unit* vcsl_unit::cast_to_length_unit ( ) const
inlinevirtual

Reimplemented in vcsl_length_unit.

Definition at line 73 of file vcsl_unit.h.

◆ cast_to_mass_unit()

virtual const vcsl_mass_unit* vcsl_unit::cast_to_mass_unit ( ) const
inlinevirtual

Definition at line 74 of file vcsl_unit.h.

◆ cast_to_temperature_unit()

virtual const vcsl_temperature_unit* vcsl_unit::cast_to_temperature_unit ( ) const
inlinevirtual

Definition at line 75 of file vcsl_unit.h.

◆ cast_to_time_unit()

virtual const vcsl_time_unit* vcsl_unit::cast_to_time_unit ( ) const
inlinevirtual

Definition at line 76 of file vcsl_unit.h.

◆ cast_to_velocity_unit()

virtual const vcsl_velocity_unit* vcsl_unit::cast_to_velocity_unit ( ) const
inlinevirtual

Definition at line 77 of file vcsl_unit.h.

◆ compatible_units()

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.

◆ standard_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.

◆ units_per_standard_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.


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