ICU 74.1 74.1
Public Member Functions | Static Public Member Functions | Protected Member Functions
icu::Measure Class Reference

An amount of a specified unit, consisting of a number and a Unit. More...

#include <measure.h>

Inheritance diagram for icu::Measure:
icu::UObject icu::UMemory icu::CurrencyAmount icu::TimeUnitAmount

Public Member Functions

 Measure (const Formattable &number, MeasureUnit *adoptedUnit, UErrorCode &ec)
 Construct an object with the given numeric amount and the given unit. More...
 
 Measure (const Measure &other)
 Copy constructor. More...
 
Measureoperator= (const Measure &other)
 Assignment operator. More...
 
virtual Measureclone () const
 Return a polymorphic clone of this object. More...
 
virtual ~Measure ()
 Destructor. More...
 
bool operator== (const UObject &other) const
 Equality operator. More...
 
bool operator!= (const UObject &other) const
 Inequality operator. More...
 
const FormattablegetNumber () const
 Return a reference to the numeric value of this object. More...
 
const MeasureUnitgetUnit () const
 Return a reference to the unit of this object. More...
 
virtual UClassID getDynamicClassID (void) const override
 Returns a unique class ID POLYMORPHICALLY. More...
 
- Public Member Functions inherited from icu::UObject
virtual ~UObject ()
 Destructor. More...
 
virtual UClassID getDynamicClassID () const
 ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...
 

Static Public Member Functions

static UClassID getStaticClassID (void)
 Return the class ID for this class. More...
 

Protected Member Functions

 Measure ()
 Default constructor. More...
 

Detailed Description

An amount of a specified unit, consisting of a number and a Unit.

For example, a length measure consists of a number and a length unit, such as feet or meters.

Measure objects are formatted by MeasureFormat.

Measure objects are immutable.

Author
Alan Liu
Stable:
ICU 3.0

Definition at line 45 of file measure.h.

Constructor & Destructor Documentation

◆ Measure() [1/3]

icu::Measure::Measure ( const Formattable number,
MeasureUnit adoptedUnit,
UErrorCode ec 
)

Construct an object with the given numeric amount and the given unit.

After this call, the caller must not delete the given unit object.

Parameters
numbera numeric object; amount.isNumeric() must be true
adoptedUnitthe unit object, which must not be nullptr
ecinput-output error code. If the amount or the unit is invalid, then this will be set to a failing value.
Stable:
ICU 3.0

◆ Measure() [2/3]

icu::Measure::Measure ( const Measure other)

Copy constructor.

Stable:
ICU 3.0

◆ ~Measure()

virtual icu::Measure::~Measure ( )
virtual

Destructor.

Stable:
ICU 3.0

◆ Measure() [3/3]

icu::Measure::Measure ( )
protected

Default constructor.

Stable:
ICU 3.0

Member Function Documentation

◆ clone()

virtual Measure * icu::Measure::clone ( ) const
virtual

Return a polymorphic clone of this object.

The result will have the same class as returned by getDynamicClassID().

Stable:
ICU 3.0

Reimplemented in icu::CurrencyAmount, and icu::TimeUnitAmount.

◆ getDynamicClassID()

virtual UClassID icu::Measure::getDynamicClassID ( void  ) const
overridevirtual

Returns a unique class ID POLYMORPHICALLY.

Pure virtual override. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.

Returns
The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs.
Stable:
ICU 53

Reimplemented from icu::UObject.

Reimplemented in icu::CurrencyAmount, and icu::TimeUnitAmount.

◆ getNumber()

const Formattable & icu::Measure::getNumber ( ) const
inline

Return a reference to the numeric value of this object.

The numeric value may be of any numeric type supported by Formattable.

Stable:
ICU 3.0

Definition at line 162 of file measure.h.

◆ getStaticClassID()

static UClassID icu::Measure::getStaticClassID ( void  )
static

Return the class ID for this class.

This is useful only for comparing to a return value from getDynamicClassID(). For example:

.   Base* polymorphic_pointer = createPolymorphicObject();
.   if (polymorphic_pointer->getDynamicClassID() ==
.       erived::getStaticClassID()) ...
Returns
The class ID for all objects of this class.
Stable:
ICU 53

◆ getUnit()

const MeasureUnit & icu::Measure::getUnit ( ) const
inline

Return a reference to the unit of this object.

Stable:
ICU 3.0

Definition at line 166 of file measure.h.

◆ operator!=()

bool icu::Measure::operator!= ( const UObject other) const
inline

Inequality operator.

Returns true if this object is not equal to the other object.

Parameters
otherthe object to compare with
Returns
true if the objects are not equal
Draft:
This API may be changed in the future versions and was introduced in ICU 74

Definition at line 99 of file measure.h.

References icu::operator==().

◆ operator=()

Measure & icu::Measure::operator= ( const Measure other)

Assignment operator.

Stable:
ICU 3.0

◆ operator==()

bool icu::Measure::operator== ( const UObject other) const

Equality operator.

Return true if this object is equal to the given object.

Stable:
ICU 3.0

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