icu::MeasureFormat Class Reference

A formatter for measure objects. More...

#include <measfmt.h>

Inheritance diagram for icu::MeasureFormat:
icu::Format icu::UObject icu::UMemory icu::TimeUnitFormat

Public Member Functions

 MeasureFormat (const Locale &locale, UMeasureFormatWidth width, UErrorCode &status)
 Constructor.
 MeasureFormat (const Locale &locale, UMeasureFormatWidth width, NumberFormat *nfToAdopt, UErrorCode &status)
 Constructor.
 MeasureFormat (const MeasureFormat &other)
 Copy constructor.
MeasureFormatoperator= (const MeasureFormat &rhs)
 Assignment operator.
virtual ~MeasureFormat ()
 Destructor.
virtual UBool operator== (const Format &other) const
 Return true if given Format objects are semantically equal.
virtual Formatclone () const
 Clones this object polymorphically.
virtual UnicodeStringformat (const Formattable &obj, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const
 Formats object to produce a string.
virtual void parseObject (const UnicodeString &source, Formattable &reslt, ParsePosition &pos) const
 Parse a string to produce an object.
UnicodeStringformatMeasures (const Measure *measures, int32_t measureCount, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const
 Formats measure objects to produce a string.
UnicodeStringformatMeasurePerUnit (const Measure &measure, const MeasureUnit &perUnit, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const
 Formats a single measure per unit.
UnicodeString getUnitDisplayName (const MeasureUnit &unit, UErrorCode &status) const
 Gets the display name of the specified MeasureUnit corresponding to the current locale and format width.
virtual UClassID getDynamicClassID (void) const
 Returns a unique class ID POLYMORPHICALLY.

Static Public Member Functions

static MeasureFormatcreateCurrencyFormat (const Locale &locale, UErrorCode &ec)
 Return a formatter for CurrencyAmount objects in the given locale.
static MeasureFormatcreateCurrencyFormat (UErrorCode &ec)
 Return a formatter for CurrencyAmount objects in the default locale.
static UClassID getStaticClassID (void)
 Return the class ID for this class.

Protected Member Functions

 MeasureFormat ()
 Default constructor.
void initMeasureFormat (const Locale &locale, UMeasureFormatWidth width, NumberFormat *nfToAdopt, UErrorCode &status)
 ICU use only.
UBool setMeasureFormatLocale (const Locale &locale, UErrorCode &status)
 ICU use only.
void adoptNumberFormat (NumberFormat *nfToAdopt, UErrorCode &status)
 ICU use only.
const NumberFormatgetNumberFormat () const
 ICU use only.
const PluralRulesgetPluralRules () const
 ICU use only.
Locale getLocale (UErrorCode &status) const
 ICU use only.
const char * getLocaleID (UErrorCode &status) const
 ICU use only.

Detailed Description

A formatter for measure objects.

See also:
Format
Author:
Alan Liu
Stable:
ICU 3.0

Definition at line 97 of file measfmt.h.


Constructor & Destructor Documentation

icu::MeasureFormat::MeasureFormat ( const Locale locale,
UMeasureFormatWidth  width,
UErrorCode status 
)

Constructor.

Stable:
ICU 53
icu::MeasureFormat::MeasureFormat ( const Locale locale,
UMeasureFormatWidth  width,
NumberFormat nfToAdopt,
UErrorCode status 
)

Constructor.

Stable:
ICU 53
icu::MeasureFormat::MeasureFormat ( const MeasureFormat other  ) 

Copy constructor.

Stable:
ICU 3.0
virtual icu::MeasureFormat::~MeasureFormat (  )  [virtual]

Destructor.

Stable:
ICU 3.0
icu::MeasureFormat::MeasureFormat (  )  [protected]

Default constructor.

Stable:
ICU 3.0

Member Function Documentation

void icu::MeasureFormat::adoptNumberFormat ( NumberFormat nfToAdopt,
UErrorCode status 
) [protected]

ICU use only.

Let subclass change NumberFormat.

Internal:
Do not use. This API is for internal use only..
virtual Format* icu::MeasureFormat::clone (  )  const [virtual]

Clones this object polymorphically.

Stable:
ICU 53

Implements icu::Format.

Reimplemented in icu::TimeUnitFormat.

static MeasureFormat* icu::MeasureFormat::createCurrencyFormat ( UErrorCode ec  )  [static]

Return a formatter for CurrencyAmount objects in the default locale.

Parameters:
ec input-output error code
Returns:
a formatter object, or NULL upon error
Stable:
ICU 3.0
static MeasureFormat* icu::MeasureFormat::createCurrencyFormat ( const Locale locale,
UErrorCode ec 
) [static]

Return a formatter for CurrencyAmount objects in the given locale.

Parameters:
locale desired locale
ec input-output error code
Returns:
a formatter object, or NULL upon error
Stable:
ICU 3.0
virtual UnicodeString& icu::MeasureFormat::format ( const Formattable obj,
UnicodeString appendTo,
FieldPosition pos,
UErrorCode status 
) const [virtual]

Formats object to produce a string.

Stable:
ICU 53

Implements icu::Format.

UnicodeString& icu::MeasureFormat::formatMeasurePerUnit ( const Measure measure,
const MeasureUnit perUnit,
UnicodeString appendTo,
FieldPosition pos,
UErrorCode status 
) const

Formats a single measure per unit.

An example of such a formatted string is 3.5 meters per second.

Parameters:
measure The measure object. In above example, 3.5 meters.
perUnit The per unit. In above example, it is *MeasureUnitcreateSecond(status).
appendTo formatted string appended here.
pos the field position.
status the error.
Returns:
appendTo reference
Stable:
ICU 55
UnicodeString& icu::MeasureFormat::formatMeasures ( const Measure measures,
int32_t  measureCount,
UnicodeString appendTo,
FieldPosition pos,
UErrorCode status 
) const

Formats measure objects to produce a string.

An example of such a formatted string is 3 meters, 3.5 centimeters. Measure objects appear in the formatted string in the same order they appear in the "measures" array. The NumberFormat of this object is used only to format the amount of the very last measure. The other amounts are formatted with zero decimal places while rounding toward zero.

Parameters:
measures array of measure objects.
measureCount the number of measure objects.
appendTo formatted string appended here.
pos the field position.
status the error.
Returns:
appendTo reference
Stable:
ICU 53
virtual UClassID icu::MeasureFormat::getDynamicClassID ( void   )  const [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::TimeUnitFormat.

Locale icu::MeasureFormat::getLocale ( UErrorCode status  )  const [protected]

ICU use only.

Internal:
Do not use. This API is for internal use only..
const char* icu::MeasureFormat::getLocaleID ( UErrorCode status  )  const [protected]

ICU use only.

Internal:
Do not use. This API is for internal use only..
const NumberFormat& icu::MeasureFormat::getNumberFormat (  )  const [protected]

ICU use only.

Internal:
Do not use. This API is for internal use only..
const PluralRules& icu::MeasureFormat::getPluralRules (  )  const [protected]

ICU use only.

Internal:
Do not use. This API is for internal use only..
static UClassID icu::MeasureFormat::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

Reimplemented in icu::TimeUnitFormat.

UnicodeString icu::MeasureFormat::getUnitDisplayName ( const MeasureUnit unit,
UErrorCode status 
) const

Gets the display name of the specified MeasureUnit corresponding to the current locale and format width.

Parameters:
unit The unit for which to get a display name.
status the error.
Returns:
The display name in the locale and width specified in MeasureFormat#getInstance, or null if there is no display name available for the specified unit.
Stable:
ICU 58
void icu::MeasureFormat::initMeasureFormat ( const Locale locale,
UMeasureFormatWidth  width,
NumberFormat nfToAdopt,
UErrorCode status 
) [protected]

ICU use only.

Initialize or change MeasureFormat class from subclass.

Internal:
Do not use. This API is for internal use only..
MeasureFormat& icu::MeasureFormat::operator= ( const MeasureFormat rhs  ) 

Assignment operator.

Stable:
ICU 3.0

Reimplemented from icu::Format.

Reimplemented in icu::TimeUnitFormat.

virtual UBool icu::MeasureFormat::operator== ( const Format other  )  const [virtual]

Return true if given Format objects are semantically equal.

Stable:
ICU 53

Referenced by icu::TimeUnitFormat::operator!=().

virtual void icu::MeasureFormat::parseObject ( const UnicodeString source,
Formattable reslt,
ParsePosition pos 
) const [virtual]

Parse a string to produce an object.

This implementation sets status to U_UNSUPPORTED_ERROR.

Draft:
This API may be changed in the future versions and was introduced in ICU 53

Implements icu::Format.

Reimplemented in icu::TimeUnitFormat.

UBool icu::MeasureFormat::setMeasureFormatLocale ( const Locale locale,
UErrorCode status 
) [protected]

ICU use only.

Allows subclass to change locale. Note that this method also changes the NumberFormat object. Returns TRUE if locale changed; FALSE if no change was made.

Internal:
Do not use. This API is for internal use only..

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

Generated on 15 Dec 2017 for ICU 60.1 by  doxygen 1.6.1