ICU 65.1  65.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:
icu::RunArray icu::UObject icu::UMemory

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 LocalegetLocale (le_int32 run) const
 Get the Locale object assoicated 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...
 
virtual UClassID getDynamicClassID () const
 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

virtual void init (le_int32 capacity)
 Create a data array with the given initial size. More...
 
virtual void grow (le_int32 capacity)
 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
localesis 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.
limitsis the address of an array of limit indices. This array must remain valid until the LocaleRuns object is destroyed.
countis 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
initialCapacityis 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
localeis the address of the Locale to add. This object must remain valid until the LocaleRuns object is destroyed.
limitis 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()

virtual UClassID icu::LocaleRuns::getDynamicClassID ( void  ) const
inlinevirtual

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.

References icu::FontRuns::getStaticClassID(), icu::FontRuns::grow(), and icu::FontRuns::init().

◆ getLocale()

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

Get the Locale object assoicated with the given run of text.

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

Parameters
runis 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 ( void  )
inlinestatic

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

Stable:
ICU 3.2

Definition at line 494 of file RunArrays.h.

Referenced by icu::ValueRuns::getDynamicClassID().

◆ grow()

virtual void icu::LocaleRuns::grow ( le_int32  capacity)
protectedvirtual

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
capacityis the initial size of the data array.
See also
add
Stable:
ICU 3.2

Reimplemented from icu::RunArray.

Referenced by icu::ValueRuns::getDynamicClassID().

◆ init()

virtual void icu::LocaleRuns::init ( le_int32  capacity)
protectedvirtual

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
capacityis the initial size of the data array.
See also
add
Stable:
ICU 3.2

Reimplemented from icu::RunArray.

Referenced by icu::ValueRuns::getDynamicClassID().

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: