30 class CharacterProperties;
32 class RBBIRuleScanner;
34 class UnicodeSetStringSpan;
36 class RuleCharacterIterator;
285 int32_t bufferCapacity;
299 UnicodeSetStringSpan *stringSpan;
316 inline UBool isBogus(
void)
const;
374 #ifndef U_HIDE_INTERNAL_API
392 UnicodeSet(
const uint16_t buffer[], int32_t bufferLen,
393 ESerialization serialization,
UErrorCode &status);
407 #ifndef U_HIDE_INTERNAL_API
501 virtual int32_t hashCode(
void)
const;
530 inline USet *toUSet();
540 inline const USet * toUSet()
const;
555 inline UBool isFrozen()
const;
620 #ifndef U_HIDE_INTERNAL_API
763 virtual int32_t size(
void)
const;
771 virtual UBool isEmpty(
void)
const;
893 int32_t span(
const char16_t *s, int32_t length,
USetSpanCondition spanCondition)
const;
926 int32_t spanBack(
const char16_t *s, int32_t length,
USetSpanCondition spanCondition)
const;
961 int32_t spanUTF8(
const char *s, int32_t length,
USetSpanCondition spanCondition)
const;
980 int32_t spanBackUTF8(
const char *s, int32_t length,
USetSpanCondition spanCondition)
const;
1015 int32_t start, int32_t limit,
1027 int32_t findCodePoint(
UChar32 c)
const;
1048 int32_t indexOf(
UChar32 c)
const;
1059 UChar32 charAt(int32_t index)
const;
1376 virtual int32_t getRangeCount(
void)
const;
1385 virtual UChar32 getRangeStart(int32_t index)
const;
1394 virtual UChar32 getRangeEnd(int32_t index)
const;
1444 int32_t serialize(uint16_t *dest, int32_t destCapacity,
UErrorCode& ec)
const;
1481 friend class USetAccess;
1483 int32_t getStringCount()
const;
1501 friend class RBBIRuleScanner;
1519 void applyPattern(RuleCharacterIterator& chars,
1531 void ensureCapacity(int32_t newLen,
UErrorCode& ec);
1533 void ensureBufferCapacity(int32_t newLen,
UErrorCode& ec);
1535 void swapBuffers(
void);
1540 UBool escapeUnprintable)
const;
1543 UBool escapeUnprintable)
const;
1553 void exclusiveOr(
const UChar32* other, int32_t otherLen, int8_t polarity);
1555 void add(
const UChar32* other, int32_t otherLen, int8_t polarity);
1557 void retain(
const UChar32* other, int32_t otherLen, int8_t polarity);
1567 static UBool resemblesPropertyPattern(RuleCharacterIterator& chars,
1613 void applyPropertyPattern(RuleCharacterIterator& chars,
1617 friend class CharacterProperties;
1624 typedef UBool (*Filter)(
UChar32 codePoint,
void* context);
1635 void applyFilter(Filter filter,
1640 #ifndef U_HIDE_DRAFT_API // Skipped: ucpmap.h is draft only.
1641 void applyIntPropertyValue(
const UCPMap *map,
1653 void releasePattern();
1664 inline UBool UnicodeSet::isFrozen()
const {
1669 return !containsNone(start, end);
1673 return !containsNone(s);
1677 return !containsNone(s);
1680 inline UBool UnicodeSet::isBogus()
const {
1681 return (
UBool)(fFlags & kIsBogus);
1689 return reinterpret_cast<const UnicodeSet *
>(uset);
1692 inline USet *UnicodeSet::toUSet() {
1693 return reinterpret_cast<USet *
>(
this);
1696 inline const USet *UnicodeSet::toUSet()
const {
1697 return reinterpret_cast<const USet *
>(
this);
1701 int32_t sLength=s.
length();
1704 }
else if(start>sLength) {
1707 return start+span(s.
getBuffer()+start, sLength-start, spanCondition);
1711 int32_t sLength=s.
length();
1714 }
else if(limit>sLength) {
1717 return spanBack(s.
getBuffer(), limit, spanCondition);
static UClassID getStaticClassID()
ICU "poor man's RTTI", returns a UClassID for this class.
struct UCPMap UCPMap
Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
UMatchDegree
Constants returned by UnicodeMatcher::matches() indicating the degree of match.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
UnicodeSetIterator iterates over the contents of a UnicodeSet.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
This file defines an abstract map from Unicode code points to integer values.
virtual UBool matchesIndexValue(uint8_t v) const =0
Returns TRUE if this matcher will match a character c, where c & 0xFF == v, at offset, in the forward direction (with limit > offset).
An interface that defines both lookup protocol and parsing of symbolic names.
virtual UClassID getDynamicClassID(void) const =0
Returns a unique class ID polymorphically.
virtual UnicodeFunctor * clone() const =0
Return a copy of this object.
Replaceable is an abstract base class representing a string of characters that supports the replaceme...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
UnicodeFilter defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Uni...
virtual void addMatchSetTo(UnicodeSet &toUnionTo) const =0
Union the set of all characters that may be matched by this object into the given set...
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
uint32_t UCPMapValueFilter(const void *context, uint32_t value)
Callback function type: Modifies a map value.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
#define NULL
Define NULL if necessary, to nullptr for C++ and to ((void *)0) for C.
UnicodeFunctor is an abstract base class for objects that perform match and/or replace operations on ...
virtual UMatchDegree matches(const Replaceable &text, int32_t &offset, int32_t limit, UBool incremental)
Implement UnicodeMatcher API.
A mutable set of Unicode characters and multicharacter strings.
USetSpanCondition
Argument values for whether span() and similar functions continue while the current character is cont...
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UProperty
Selection constants for Unicode properties.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
#define U_FINAL
Defined to the C++11 "final" keyword if available.
char16_t * getBuffer(int32_t minCapacity)
Get a read/write pointer to the internal buffer.
virtual UnicodeString & toPattern(UnicodeString &result, UBool escapeUnprintable=FALSE) const =0
Returns a string representation of this matcher.
virtual UBool contains(UChar32 c) const =0
Returns true for characters that are in the selected subset.
#define FALSE
The FALSE value of a UBool.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
int32_t length(void) const
Return the length of the UnicodeString object.
int8_t UBool
The ICU boolean type.