### ICollationIterator

  A concrete class which provides the protocol for iterating through host/portable collation objects.

  ICollationIterator provides the protocol for iterating through host/portable collation objects. Create an ICollationIterator instance to step through all available collation services. This is useful for listing the available collation tables, for example, in web browsing applications.

### ICollationIterator - Member Functions and Data by Group

### Constructors & Destructor

Construct and destruct collation iterators.

~ICollationIterator

      public:
      ~ICollationIterator()

  Destructor for deleting an ICollationIterator object.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

ICollationIterator

  Overload 1

      public:
      ICollationIterator(ECollationType type = kAllCollations)

  The default constructor for creating an ICollationIterator object.
  type
    The collation object type. The default value is kAllCollations.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      ICollationIterator(const ICollationIterator& that)

  Copy constructor for the ICollationIterator object. Initializes an ICollationIterator object from another ICollationIterator object.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Assignment

Assign one ICollationIterator object to another.

operator =

      public:
      ICollationIterator&
        operator =( const ICollationIterator& that )

  Replaces the entire contents of *this with the specified value.
  that
    The ICollationIterator object being copied in.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Comparison operator

Compare collection iterators.

operator !=

      public:
      bool operator !=(const ICollationIterator& that) const

  Checks if two collation iterators are not the same. Returns true if the two collation iterators are not the same, false otherwise.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

operator ==

      public:
      bool operator ==(const ICollationIterator& that) const

  Checks if two collation iterators are the same. Returns true if the two collation iterators are the same, false otherwise.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Cursor actions

Control the iteration cursor position.

create

      public:
      ICollation*
        create( ICollation::ECollationStrength strength = ICollation::kTertiaryDifference ) const

  Creates the current collation object in the list. Returns the created collation object by value.
  strength
    The comparision level. The default value is kTertiaryDifference.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

localePOSIXID

      public:
      IText localePOSIXID() const

  Returns the portable name of the locale(s) of the selected collation.

  Returns the portable name of the locale(s) of the selected collation. Each collation may be referred to by more than one locale key or no locale. For example, US_EN and US_UK both use "American English" collation for text ordering. For a portable collation object "Foo", there may be no corresponding locale(s).

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

operator bool

      public:
      operator bool() const

  Checks if the iterator had consumed the last list item. Returns true if there are no more collation object to iterate through; otherwise, returns false.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

reset

      public:
      void reset()

  Resets the cursor pointer to the first item on the list.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Displayable Name

Get the displayable name.

displayName

      public:
      IText
        displayName( const ILocaleKey& desiredLanguage = ILocaleKey::defaultLocale ( ),
                     ILocaleKey::ELookupStrategy strategy = ILocaleKey::kAnyLanguage ) const

  Gets the displayable name for the collation object.

  Fills in the displayable name for the current collation table in the desired language. The ILocaleKey class description contains more information on the display name versus key name of a locale. Returns the displayable name of the current collation table by value.

  desiredLocale
    The selected language for the portable collation object name. The default value is the current locale.
  strategy
    The look-up strategy for the display name of the current collation object. The default value is kAnyLanguage.

Exception

  IOutofSystemResource | If there is no display name for the given collation.
  IInvalidRequest | If the desired locale is supported but not installed.
  IInvalidParameter | If the desired locale ID is invalid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Increment operators

Increment the collation iterator.

operator ++
  Advances to the next collation table.

  Overload 1

      public:
      ICollationIterator operator ++(int)

  Increments the iterator, before the operation is performed (using the prefix increment operator). The int type represents the postfix form of the ++ operator.

Return
  the advanced collation iterator.

Exception

  IInvalidRequest | If the last collation object has been consumed and advancing request is made by the clients.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      ICollationIterator& operator ++()

  Increments the iterator, after the operation is performed.

Return
  the advanced collation iterator.

Exception

  IInvalidRequest | If the last collation object has been consumed and advancing request is made by the clients.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### ICollationIterator - Enumerations

ECollationType

      enum ECollationType { kHostCollationsOnly,
                            kPortableCollationsOnly,
                            kAllCollations }

  This allows the user to specify the type of collation objects to iterate through.

  You can specify to iterate through the following collation objects:

  kHostCollationsOnly
    List the installed host collation objects only.
  kPortableCollationsOnly
    List the available portable collation objects only.
  kAllCollations
    List all available collations, including both host and portable collations. This is the default setting.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### ICollationIterator - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None