icu::FormattedValue Class Referenceabstract

An abstract formatted value: a string with associated field attributes. More...

`#include <formattedvalue.h>`

Inheritance diagram for icu::FormattedValue:

## Public Member Functions

virtual | ~FormattedValue ()
virtual UnicodeString | toString (UErrorCode &status) const =0
| Returns the formatted string as a self-contained UnicodeString. More...
virtual UnicodeString | toTempString (UErrorCode &status) const =0
| Returns the formatted string as a read-only alias to memory owned by the FormattedValue. More...
virtual Appendable & | appendTo (Appendable &appendable, UErrorCode &status) const =0
| Appends the formatted string to an Appendable. More...
virtual UBool | nextPosition (ConstrainedFieldPosition &cfpos, UErrorCode &status) const =0
| Iterates over field positions in the FormattedValue. More...

## Detailed Description

An abstract formatted value: a string with associated field attributes.

Many formatters format to classes implementing FormattedValue.

Stable:
  ICU 64

Definition at line 241 of file formattedvalue.h.

## Constructor & Destructor Documentation

## ~FormattedValue()

virtual icu::FormattedValue::~FormattedValue | ( |  | ) |

virtual

Stable:
  ICU 64

## Member Function Documentation

## appendTo()

virtual Appendable& icu::FormattedValue::appendTo | ( | Appendable & | appendable,
|  | UErrorCode & | status
| ) |  | const

pure virtual

Appends the formatted string to an Appendable.

Parameters

  appendable | The Appendable to which to append the string output.
  status | Set if an error occurs.

Returns
  The same Appendable, for chaining.

Stable:
  ICU 64

See also
  Appendable

Implemented in icu::FormattedRelativeDateTime, icu::number::FormattedNumberRange, icu::FormattedList, icu::number::FormattedNumber, and icu::FormattedDateInterval.

## nextPosition()

virtual UBool icu::FormattedValue::nextPosition | ( | ConstrainedFieldPosition & | cfpos,
|  | UErrorCode & | status
| ) |  | const

pure virtual

Iterates over field positions in the FormattedValue.

This lets you determine the position of specific types of substrings, like a month or a decimal separator.

To loop over all field positions:

    ConstrainedFieldPosition cfpos;
    while (fmtval.nextPosition(cfpos, status)) {
        // handle the field position; get information from cfpos
    }

Parameters

  cfpos | The object used for iteration state. This can provide constraints to iterate over only one specific category or field; see ConstrainedFieldPosition::constrainCategory and ConstrainedFieldPosition::constrainField.
  status | Set if an error occurs.

Returns
  true if a new occurrence of the field was found; false otherwise or if an error was set.

Stable:
  ICU 64

Implemented in icu::FormattedRelativeDateTime, icu::number::FormattedNumberRange, icu::FormattedList, icu::number::FormattedNumber, and icu::FormattedDateInterval.

## toString()

virtual UnicodeString icu::FormattedValue::toString | ( | UErrorCode & | status | ) | const

pure virtual

Returns the formatted string as a self-contained UnicodeString.

If you need the string within the current scope only, consider toTempString.

Parameters

  status | Set if an error occurs.

Returns
  a UnicodeString containing the formatted string.

Stable:
  ICU 64

Implemented in icu::FormattedRelativeDateTime, icu::number::FormattedNumberRange, icu::FormattedList, icu::number::FormattedNumber, and icu::FormattedDateInterval.

## toTempString()

virtual UnicodeString icu::FormattedValue::toTempString | ( | UErrorCode & | status | ) | const

pure virtual

Returns the formatted string as a read-only alias to memory owned by the FormattedValue.

The return value is valid only as long as this FormattedValue is present and unchanged in memory. If you need the string outside the current scope, consider toString.

The buffer returned by calling UnicodeString::getBuffer() on the return value is guaranteed to be NUL-terminated.

Parameters

  status | Set if an error occurs.

Returns
  a temporary UnicodeString containing the formatted string.

Stable:
  ICU 64

Implemented in icu::FormattedRelativeDateTime, icu::number::FormattedNumberRange, icu::FormattedList, icu::number::FormattedNumber, and icu::FormattedDateInterval.

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

- i18n/unicode/formattedvalue.h