30 class RBBIRuleScanner;
32 class UnicodeSetStringSpan;
34 class RuleCharacterIterator;
283 int32_t bufferCapacity;
297 UnicodeSetStringSpan *stringSpan;
314 inline UBool isBogus(
void)
const;
372 #ifndef U_HIDE_INTERNAL_API
390 UnicodeSet(
const uint16_t buffer[], int32_t bufferLen,
391 ESerialization serialization,
UErrorCode &status);
405 #ifndef U_HIDE_INTERNAL_API
499 virtual int32_t hashCode(
void)
const;
528 inline USet *toUSet();
538 inline const USet * toUSet()
const;
553 inline UBool isFrozen()
const;
619 #ifndef U_HIDE_INTERNAL_API
762 virtual int32_t size(
void)
const;
770 virtual UBool isEmpty(
void)
const;
960 int32_t spanUTF8(
const char *s, int32_t length,
USetSpanCondition spanCondition)
const;
979 int32_t spanBackUTF8(
const char *s, int32_t length,
USetSpanCondition spanCondition)
const;
1014 int32_t start, int32_t limit,
1026 int32_t findCodePoint(
UChar32 c)
const;
1047 int32_t indexOf(
UChar32 c)
const;
1058 UChar32 charAt(int32_t index)
const;
1375 virtual int32_t getRangeCount(
void)
const;
1384 virtual UChar32 getRangeStart(int32_t index)
const;
1393 virtual UChar32 getRangeEnd(int32_t index)
const;
1443 int32_t serialize(uint16_t *dest, int32_t destCapacity,
UErrorCode& ec)
const;
1480 friend class USetAccess;
1482 int32_t getStringCount()
const;
1500 friend class RBBIRuleScanner;
1517 void applyPattern(RuleCharacterIterator& chars,
1528 void ensureCapacity(int32_t newLen,
UErrorCode& ec);
1530 void ensureBufferCapacity(int32_t newLen,
UErrorCode& ec);
1532 void swapBuffers(
void);
1537 UBool escapeUnprintable)
const;
1540 UBool escapeUnprintable)
const;
1550 void exclusiveOr(
const UChar32* other, int32_t otherLen, int8_t polarity);
1552 void add(
const UChar32* other, int32_t otherLen, int8_t polarity);
1554 void retain(
const UChar32* other, int32_t otherLen, int8_t polarity);
1564 static UBool resemblesPropertyPattern(RuleCharacterIterator& chars,
1610 void applyPropertyPattern(RuleCharacterIterator& chars,
1621 typedef UBool (*Filter)(
UChar32 codePoint,
void* context);
1632 void applyFilter(Filter filter,
1644 void releasePattern();
1655 inline UBool UnicodeSet::isFrozen()
const {
1660 return !containsNone(start, end);
1664 return !containsNone(s);
1668 return !containsNone(s);
1671 inline UBool UnicodeSet::isBogus()
const {
1672 return (
UBool)(fFlags & kIsBogus);
1680 return reinterpret_cast<const UnicodeSet *
>(uset);
1683 inline USet *UnicodeSet::toUSet() {
1684 return reinterpret_cast<USet *
>(
this);
1687 inline const USet *UnicodeSet::toUSet()
const {
1688 return reinterpret_cast<const USet *
>(
this);
1692 int32_t sLength=s.
length();
1695 }
else if(start>sLength) {
1698 return start+span(s.
getBuffer()+start, sLength-start, spanCondition);
1702 int32_t sLength=s.
length();
1705 }
else if(limit>sLength) {
1708 return spanBack(s.
getBuffer(), limit, spanCondition);
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).
virtual void addMatchSetTo(UnicodeSet &toUnionTo) const =0
Union the set of all characters that may be matched by this object into the given set...
static UClassID getStaticClassID()
ICU "poor man's RTTI", returns a UClassID for this class.
virtual UnicodeFunctor * clone() const =0
Return a copy of this object.
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.
An interface that defines both lookup protocol and parsing of symbolic names.
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.
virtual UnicodeString & toPattern(UnicodeString &result, UBool escapeUnprintable=FALSE) const =0
Returns a string representation of this matcher.
UnicodeFilter defines a protocol for selecting a subset of the full range (U+0000 to U+10FFFF) of Uni...
UChar * getBuffer(int32_t minCapacity)
Get a read/write pointer to the internal buffer.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
#define NULL
Define NULL if necessary, to 0 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...
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UProperty
Selection constants for Unicode properties.
virtual UClassID getDynamicClassID(void) const =0
Returns a unique class ID polymorphically.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
void UnicodeSet_initInclusion(int32_t src, UErrorCode &status)
#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...
virtual UBool contains(UChar32 c) const =0
Returns true for characters that are in the selected subset.
int32_t length(void) const
Return the length of the UnicodeString object.
int8_t UBool
The ICU boolean type.