InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
WideStringConstUTF32Iter Class Reference

#include <WideString.h>

Public Types

typedef
std::bidirectional_iterator_tag 
iterator_category
 
typedef UniCodePoint value_type
 
typedef std::ptrdiff_t difference_type
 
typedef UTF16TextChar * pointer
 
typedef UTF16TextChar & reference
 

Public Member Functions

 WideStringConstUTF32Iter (const WideString *string, int32 charIndex=0)
 
 WideStringConstUTF32Iter (const UTF16TextChar *buffer, bool16 hasSurrogates, int32 numChars)
 
const UTF16TextChar * PtrAt () const
 
value_type operator* () const
 
WideStringConstUTF32Iteroperator++ ()
 
WideStringConstUTF32Iter operator++ (int)
 
WideStringConstUTF32Iteroperator-- ()
 
WideStringConstUTF32Iter operator-- (int)
 
WideStringConstUTF32Iteroperator+= (int32 n)
 
WideStringConstUTF32Iter operator+ (int32 n) const
 
WideStringConstUTF32Iteroperator-= (int32 n)
 
WideStringConstUTF32Iter operator- (int32 n) const
 
int32 operator- (const WideStringConstUTF32Iter &other) const
 
UTF32TextChar operator[] (int32 i) const
 

Friends

WideStringConstUTF32Iter operator+ (int32 n, const WideStringConstUTF32Iter &rhs)
 
bool operator== (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 
bool operator!= (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 
bool operator< (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 
bool operator<= (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 
bool operator> (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 
bool operator>= (const WideStringConstUTF32Iter &x, const WideStringConstUTF32Iter &y)
 

Detailed Description

WideStringConstUTF32Iter, also known as WideString::const_iterator, is an iterator class on a WideString object. The buffer in a WideString is encoded in UTF-16, which means that Unicode surrogates are used when representing codepoints > U+FFFF. It is important to limit direct access to the buffer in a WideString because of the possible presence of surrogates. The iterator internally handles surrogates, so clients can operate in true UTF-32 character units.

Member Function Documentation

value_type WideStringConstUTF32Iter::operator* () const
inline

Dereference operator.

Returns
UTF32TextChar
WideStringConstUTF32Iter& WideStringConstUTF32Iter::operator++ ()
inline

Pre-Increment operator. Less expensive than post-incrementing.

WideStringConstUTF32Iter WideStringConstUTF32Iter::operator++ (int )
inline

Post-Increment operator. Makes a copy, so more expensive than pre-incrementing.

WideStringConstUTF32Iter& WideStringConstUTF32Iter::operator-- ()
inline

Pre-Decrement operator. Less expensive than post-decrementing.

WideStringConstUTF32Iter WideStringConstUTF32Iter::operator-- (int )
inline

Post-Decrement operator. Makes a copy, so more expensive than pre-decrementing.

const UTF16TextChar* WideStringConstUTF32Iter::PtrAt () const
inline

Returns a const ptr to the WideString buffer at the location of the iterator. Should be used with care, since buffers can contain surrogate pairs of UTF-16 codepoints.

Returns
const UTF16TextChar*