ICU 78.1: icu::LocaleRuns Class Reference

ICU 78.1 78.1

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
icu::LocaleRuns Class Reference

The `LocaleRuns` class associates pointers to `Locale` objects with runs of text. More...

`#include <RunArrays.h>`

Inheritance diagram for icu::LocaleRuns:

## Public Member Functions
| LocaleRuns (const Locale **locales, const le_int32 *limits, le_int32 count)
| Construct a `LocaleRuns` object from pre-existing arrays of locales and limit indices. More...
| LocaleRuns (le_int32 initialCapacity)
| Construct an empty `LocaleRuns` object. More...
virtual | ~LocaleRuns ()
| The destructor; virtual so that subclass destructors are invoked as well. More...
const Locale * | getLocale (le_int32 run) const
| Get the `Locale` object associated with the given run of text. More...
le_int32 | add (const Locale *locale, le_int32 limit)
| Add a `Locale` and limit index pair to the data arrays and return the run index where the data was stored. More...
UClassID | getDynamicClassID () const override
| ICU "poor man's RTTI", returns a UClassID for the actual class. More...
Public Member Functions inherited from icu::RunArray
| RunArray (const le_int32 *limits, le_int32 count)
| Construct a `RunArray` object from a pre-existing array of limit indices. More...
| RunArray (le_int32 initialCapacity)
| Construct an empty `RunArray` object. More...
virtual | ~RunArray ()
| The destructor; virtual so that subclass destructors are invoked as well. More...
le_int32 | getCount () const
| Get the number of entries in the limit indices array. More...
void | reset ()
| Reset the limit indices array. More...
le_int32 | getLimit () const
| Get the last limit index. More...
le_int32 | getLimit (le_int32 run) const
| Get the limit index for a particular run of text. More...
le_int32 | add (le_int32 limit)
| Add a limit index to the limit indices array and return the run index where it was stored. More...
Public Member Functions inherited from icu::UObject
virtual | ~UObject ()
| Destructor. More...

## Static Public Member Functions
static UClassID | getStaticClassID ()
| ICU "poor man's RTTI", returns a UClassID for this class. More...
Static Public Member Functions inherited from icu::RunArray
static UClassID | getStaticClassID ()
| ICU "poor man's RTTI", returns a UClassID for this class. More...

## Protected Member Functions
void | init (le_int32 capacity) override
| Create a data array with the given initial size. More...
void | grow (le_int32 capacity) override
| Grow a data array to the given initial size. More...

## Protected Attributes
const Locale ** | fLocales
Protected Attributes inherited from icu::RunArray
le_bool | fClientArrays
| Set by the constructors to indicate whether or not the client supplied the data arrays. More...

## Detailed Description

The `LocaleRuns` class associates pointers to `Locale` objects with runs of text.

Stable:
  ICU 3.2

Definition at line 409 of file RunArrays.h.

## Constructor & Destructor Documentation

## ◆ LocaleRuns() [1/2]

icu::LocaleRuns::LocaleRuns | ( | const Locale ** | locales,
|  | const le_int32 * | limits,
|  | le_int32 | count
| ) |  |
| inline

Construct a `LocaleRuns` object from pre-existing arrays of locales and limit indices.

Parameters

  locales | is the address of an array of pointers to `Locale` objects. This array, and the `Locale` objects to which it points, must remain valid until the `LocaleRuns` object is destroyed.
  limits | is the address of an array of limit indices. This array must remain valid until the `LocaleRuns` object is destroyed.
  count | is the number of entries in the two arrays.

Stable:
  ICU 3.2

Definition at line 537 of file RunArrays.h.

## ◆ LocaleRuns() [2/2]

icu::LocaleRuns::LocaleRuns | ( | le_int32 | initialCapacity | ) |

Construct an empty `LocaleRuns` object.

Clients can add locale and limit indices arrays using the `add` method.

Parameters

  initialCapacity | is the initial size of the locale and limit indices arrays. If this value is zero, no arrays will be allocated.

See also
  add

Stable:
  ICU 3.2

## ◆ ~LocaleRuns()

virtual icu::LocaleRuns::~LocaleRuns | ( |  | ) |
| virtual

The destructor; virtual so that subclass destructors are invoked as well.

Stable:
  ICU 3.2

## Member Function Documentation

## ◆ add()

le_int32 icu::LocaleRuns::add | ( | const Locale * | locale,
|  | le_int32 | limit
| ) |  |

Add a `Locale` and limit index pair to the data arrays and return the run index where the data was stored.

This method calls `RunArray::add(limit)` which will create or grow the arrays as needed.

If the `LocaleRuns` object was created with a client-supplied locale and limit indices arrays, this method will return a run index of -1.

Subclasses should not override this method. Rather they should provide a new `add` method which takes a locale and a limit index along with whatever other data they implement. The new `add` method should first call this method to grow the font and limit indices arrays, and use the returned run index to store data their own arrays.

Parameters

  locale | is the address of the `Locale` to add. This object must remain valid until the `LocaleRuns` object is destroyed.
  limit | is the limit index to add

Returns
  the run index where the locale and limit index were stored, or -1 if the data cannot be stored.

Stable:
  ICU 3.2

## ◆ getDynamicClassID()

UClassID icu::LocaleRuns::getDynamicClassID | ( |  | ) | const
| inlineoverridevirtual

ICU "poor man's RTTI", returns a UClassID for the actual class.

Stable:
  ICU 3.2

Reimplemented from icu::RunArray.

Definition at line 501 of file RunArrays.h.

## ◆ getLocale()

const Locale* icu::LocaleRuns::getLocale | ( | le_int32 | run | ) | const

Get the `Locale` object associated with the given run of text.

Use `RunArray::getLimit(run)` to get the corresponding limit index.

Parameters

  run | is the index into the font and limit indices arrays.

Returns
  the `Locale` associated with the given text run.

See also
  RunArray::getLimit

Stable:
  ICU 3.2

## ◆ getStaticClassID()

static UClassID icu::LocaleRuns::getStaticClassID | ( |  | ) |
| inlinestatic

ICU "poor man's RTTI", returns a UClassID for this class.

Stable:
  ICU 3.2

Definition at line 494 of file RunArrays.h.

## ◆ grow()

void icu::LocaleRuns::grow | ( | le_int32 | capacity | ) |
| overrideprotectedvirtual

Grow a data array to the given initial size.

This method will be called by the `add` method if the limit indices array is full. Subclasses which override this method must also call it from the overriding method to grow the limit indices array.

Parameters

  capacity | is the initial size of the data array.

See also
  add

Stable:
  ICU 3.2

Reimplemented from icu::RunArray.

## ◆ init()

void icu::LocaleRuns::init | ( | le_int32 | capacity | ) |
| overrideprotectedvirtual

Create a data array with the given initial size.

This method will be called by the `add` method if there is no limit indices array. Subclasses which override this method must also call it from the overriding method to create the limit indices array.

Parameters

  capacity | is the initial size of the data array.

See also
  add

Stable:
  ICU 3.2

Reimplemented from icu::RunArray.

## Field Documentation

## ◆ fLocales

const Locale** icu::LocaleRuns::fLocales
| protected

Internal:
  Do not use.

This API is for internal use only.

Definition at line 510 of file RunArrays.h.

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

- layoutex/layout/RunArrays.h