struct CCL::IGraphemeIterator

Overview

Grapheme cluster navigation (UAX #29). More…

#include <istring.h>

struct IGraphemeIterator: public CCL::IUnknown
{
    // methods

    virtual int CCL_API getPosition () const = 0;
    virtual void CCL_API setPosition (int position) = 0;
    virtual int CCL_API next () = 0;
    virtual int CCL_API previous () = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Grapheme cluster navigation (UAX #29).

Created with System::CreateGraphemeIterator. Treats emoji with modifiers, ZWJ sequences, flags, and combining marks as atomic units.

Methods

virtual int CCL_API getPosition () const = 0

Get current position (in UTF-16 code units).

virtual void CCL_API setPosition (int position) = 0

Set current position (in UTF-16 code units).

virtual int CCL_API next () = 0

Move to the next boundary and return the new position.

virtual int CCL_API previous () = 0

Move to the previous boundary and return the new position.