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:

## 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...
Measure & | operator= (const Measure &other)
| Assignment operator. More...
virtual Measure * | clone () 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 Formattable & | getNumber () const
| Return a reference to the numeric value of this object. More...
const MeasureUnit & | getUnit () 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...

## 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

  number | a numeric object; amount.isNumeric() must be true
  adoptedUnit | the unit object, which must not be nullptr
  ec | input-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::TimeUnitAmount, and icu::CurrencyAmount.

## ◆ getDynamicClassID()

virtual UClassID icu::Measure::getDynamicClassID | ( | void |  | ) | const
| override virtual

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::TimeUnitAmount, and icu::CurrencyAmount.

## ◆ 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

  other | the 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:

- i18n/unicode/measure.h