15 #if U_SHOW_CPLUSPLUS_API
17 #if !UCONFIG_NO_NORMALIZATION
31 #ifndef CANITER_SKIP_ZEROES
32 #define CANITER_SKIP_ZEROES true
39 class Normalizer2Impl;
123 #ifndef U_HIDE_INTERNAL_API
175 int32_t pieces_length;
176 int32_t *pieces_lengths;
180 int32_t current_length;
186 const Normalizer2Impl &nfcImpl;
192 Hashtable *getEquivalents2(Hashtable *fillinResult,
const char16_t *segment, int32_t segLen,
UErrorCode &status);
201 Hashtable *extract(Hashtable *fillinResult,
UChar32 comp,
const char16_t *segment, int32_t segLen, int32_t segmentPos,
UErrorCode &status);
This class allows one to iterate through all the strings that are canonically equivalent to a given s...
void reset()
Resets the iterator so that one can start again from the beginning.
UnicodeString next()
Get the next canonically equivalent string.
virtual UClassID getDynamicClassID() const
ICU "poor man's RTTI", returns a UClassID for the actual class.
static void permute(UnicodeString &source, UBool skipZeros, Hashtable *result, UErrorCode &status)
Dumb recursive implementation of permutation.
static UClassID getStaticClassID()
ICU "poor man's RTTI", returns a UClassID for this class.
void setSource(const UnicodeString &newSource, UErrorCode &status)
Set a new source for this iterator.
CanonicalIterator(const UnicodeString &source, UErrorCode &status)
Construct a CanonicalIterator object.
UnicodeString getSource()
Gets the NFD form of the current source we are iterating over.
virtual ~CanonicalIterator()
Destructor Cleans pieces.
Unicode normalization functionality for standard Unicode normalization or for using custom mapping ta...
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
int8_t UBool
The ICU boolean type, a signed-byte integer.
#define U_FINAL
Defined to the C++11 "final" keyword if available.
C++ API: Common ICU base class UObject.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.