### ICharacterSetIterator

  ICharacterSetIterator provides APIs to iterate through the foreign codesets supported by the Transcoder Framework.

  Use this class to search for a character set supported by the framework to create a transcoder object.

  For example, to search for a character set supported by the Transcoder Framework, you can do the following:

         IText myCharSet("a candicate code set");
         ICharacterSetIterator iter;
         while (iter && *iter != myCharSet)
             iter++;
         if (iter)
         {
             ITranscoder* transcoder = ITranscoder::createTranscoder(*iter);
         }

  This class provides APIs that are compatible with ANSI C++ standard library.

  You should not derive from this class.

### ICharacterSetIterator - Member Functions and Data by Group

### Constructors & Destructor

Use the constructors and destructor in this group to create and destroy objects of class ICharacterSetIterator.

~ICharacterSetIterator

      public:
      virtual ~ICharacterSetIterator()

  Destructor for deleting an ICharacterSetIterator object.

Supported Platforms

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

ICharacterSetIterator
  Constructors for ICharacterSetIterator.

  Overload 1

      public:
      ICharacterSetIterator()

  Default constructor for ICharacterSetIterator.

Supported Platforms

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

  Overload 2

      public:
      ICharacterSetIterator(const ICharacterSetIterator& source)

  Copy constructor for ICharacterSetIterator.

  source
    The ICharacterSetIterator object copied from.

Supported Platforms

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

### Advancing and Resetting the Character Set Iterator

Use the functions in this group to advance the character code set iterator to the next character set or to reset it to point to the first character set.

operator ++
  Advances to the next character set. Note: If this function takes no parameters, it serves as a prefix increment operator++. For example, you can do the following:

           while (iter && *iter != myCharSet) ++iter;

  Overload 1

      public:
      ICharacterSetIterator& operator ++()

  Advances to the next character set. This returns a pointer to the next character set.

Supported Platforms

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

  Overload 2

      public:
      ICharacterSetIterator operator ++(int)

  Advances to the next character set. The int parameter is not used by the client. This returns a pointer to the next character set.

Supported Platforms

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

reset

      public:
      void reset()

  Resets this code set iterator pointing to its first character set.

Supported Platforms

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

### Assignment Operator

Use the operator in this group to replace the current ICharacterSetIterator with the given one.

operator =

      public:
      ICharacterSetIterator&
        operator =( const ICharacterSetIterator& right )

  Assignment operator for ICharacterSetIterator.

  right
    The right-hand side ICharacterSetIterator to be assigned to the current one.

Supported Platforms

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

### Obtaining Information About the Character Set

IText operator *

      public:
      const IText operator *()

  Gets the portable name of the current character set pointed to by the iterator. Clients can use (*iter) with the ITranscoder::createTranscoder factory function to create a transcoder. See an example in the class description.

Supported Platforms

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

### Testing for the Iteration End

Use the function in this group to determine if the iterator has reached the end.

operator bool

      public:
      operator bool() const

  This function detects if the iterator has reached the end of the iteration. Returns true if the iterator reaches the end; otherwise returns false.

Supported Platforms

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

### Testing Two ICharacterSetIterator Objects for Equality or Inequality

Use the functions in this group to the given ICharacterSetIterator object against the given one for equality.

operator !=

      public:
      bool operator !=(const ICharacterSetIterator& right) const

  Determines the inequality of the two code set iterators. This function compares the portable names of the character sets pointed by this iterator and another iterator.

  Returns true if the portable name of the character sets pointed to by this iterator and another iterator are not the same; otherwise, returns false.

  right
    The given code set iterator to compare with.

Supported Platforms

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

operator ==

      public:
      bool operator ==(const ICharacterSetIterator& right) const

  Determines the equality of the two code set iterators. This function compares the portable names of the character sets pointed by this iterator and another iterator.

  Returns true if the portable name of the character sets pointed to by this iterator and another iterator are the same; otherwise, returns false.

  right
    The given code set iterator to compare with.

Supported Platforms

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

### ICharacterSetIterator - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None