47 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
65 class RuleBasedBreakIterator;
79 #undef RegexPatternDump
80 #define RegexPatternDump(pat)
337 virtual uint32_t flags()
const;
494 int32_t destCapacity,
536 virtual int32_t split(
UText *input,
538 int32_t destCapacity,
554 static UClassID U_EXPORT2 getStaticClassID();
564 UVector64 *fCompiledPat;
569 Regex8BitSet *fSets8;
575 int32_t fMinMatchLen;
587 UVector32 *fGroupMap;
590 int32_t fMaxCaptureDigits;
595 Regex8BitSet *fStaticSets8;
599 int32_t fInitialStringIdx;
600 int32_t fInitialStringLen;
603 Regex8BitSet *fInitialChars8;
604 UBool fNeedsAltInput;
606 friend class RegexCompile;
608 friend class RegexCImpl;
616 void dumpOp(int32_t index)
const;
810 virtual UBool find();
857 virtual int32_t groupCount()
const;
891 virtual UText *group(int32_t groupNum,
UText *dest, int64_t &group_len,
UErrorCode &status)
const;
918 virtual int32_t start(
UErrorCode &status)
const;
927 virtual int64_t start64(
UErrorCode &status)
const;
943 virtual int32_t start(int32_t group,
UErrorCode &status)
const;
958 virtual int64_t start64(int32_t group,
UErrorCode &status)
const;
974 virtual int32_t end(
UErrorCode &status)
const;
989 virtual int64_t end64(
UErrorCode &status)
const;
1009 virtual int32_t end(int32_t group,
UErrorCode &status)
const;
1028 virtual int64_t end64(int32_t group,
UErrorCode &status)
const;
1156 virtual UText *inputText()
const;
1202 virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex,
UErrorCode &status);
1212 virtual int32_t regionStart()
const;
1222 virtual int64_t regionStart64()
const;
1233 virtual int32_t regionEnd()
const;
1243 virtual int64_t regionEnd64()
const;
1253 virtual UBool hasTransparentBounds()
const;
1283 virtual UBool hasAnchoringBounds()
const;
1313 virtual UBool hitEnd()
const;
1324 virtual UBool requireEnd()
const;
1543 int32_t destCapacity,
1570 virtual int32_t split(
UText *input,
1572 int32_t destCapacity,
1596 virtual void setTimeLimit(int32_t limit,
UErrorCode &status);
1604 virtual int32_t getTimeLimit()
const;
1627 virtual void setStackLimit(int32_t limit,
UErrorCode &status);
1636 virtual int32_t getStackLimit()
const;
1653 const void *context,
1668 const void *&context,
1686 const void *context,
1701 const void *&context,
1704 #ifndef U_HIDE_INTERNAL_API
1710 void setTrace(
UBool state);
1718 static UClassID U_EXPORT2 getStaticClassID();
1738 friend class RegexCImpl;
1740 #ifndef U_HIDE_INTERNAL_API
1742 void resetPreserveRegion();
1751 inline void backTrack(int64_t &inputIdx, int32_t &patIdx);
1752 UBool isWordBoundary(int64_t pos);
1753 UBool isUWordBoundary(int64_t pos);
1754 REStackFrame *resetStack();
1755 inline REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx,
UErrorCode &status);
1759 int64_t appendGroup(int32_t groupNum,
UText *dest,
UErrorCode &status)
const;
1761 UBool findUsingChunk();
1763 UBool isChunkWordBoundary(int32_t pos);
1771 UText *fAltInputText;
1773 int64_t fInputLength;
1776 int64_t fRegionStart;
1777 int64_t fRegionLimit;
1779 int64_t fAnchorStart;
1780 int64_t fAnchorLimit;
1786 int64_t fActiveStart;
1787 int64_t fActiveLimit;
1791 UBool fTransparentBounds;
1792 UBool fAnchoringBounds;
1795 int64_t fMatchStart;
1799 int64_t fLastMatchEnd;
1801 int64_t fAppendPosition;
1810 REStackFrame *fFrame;
1815 int64_t fSmallData[8];
1821 int32_t fTickCounter;
1826 int32_t fStackLimit;
1831 const void *fCallbackContext;
1835 const void *fFindProgressCallbackContext;
1838 UBool fInputUniStrMaybeMutable;
1849 #endif // UCONFIG_NO_REGULAR_EXPRESSIONS
#define RegexPatternDump(pat)
RBBIPatternDump Debug function, displays the compiled form of a pattern.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
#define U_INTERNAL
This is used to declare a function as an internal ICU C API.
Class RegexPattern represents a compiled regular expression.
UBool URegexFindProgressCallback(const void *context, int64_t matchIndex)
Function pointer for a regular expression find callback function.
C API: Abstract Unicode Text API.
class RegexMatcher bundles together a regular expression pattern and input text to which the expressi...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
C API: Regular Expressions.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
A mutable set of Unicode characters and multicharacter strings.
C++ API: Common ICU base class UObject.
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.
UBool URegexMatchCallback(const void *context, int32_t steps)
Function pointer for a regular expression matching callback function.
C API: Parse Error Information.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
UBool operator!=(const RegexPattern &that) const
Comparison operator.
A subclass of BreakIterator whose behavior is specified using a list of rules.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
UObject is the common ICU "boilerplate" class.
int8_t UBool
The ICU boolean type.