17#if U_SHOW_CPLUSPLUS_API
24#if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
C++ API: Character Iterator.
The BreakIterator class implements methods for finding the location of boundaries in text.
Abstract class that defines an API for iteration on text objects.
SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...
USearch * m_search_
C search data struct.
int32_t getMatchedLength(void) const
Returns the length of text in the string which matches the search pattern.
SearchIterator(const SearchIterator &other)
Copy constructor that creates a SearchIterator instance with the same behavior, and iterating over th...
SearchIterator & operator=(const SearchIterator &that)
Assignment operator.
int32_t next(UErrorCode &status)
Returns the index of the next point at which the text matches the search pattern, starting from the c...
virtual void setMatchLength(int32_t length)
Sets the length of the currently matched string in the text string to be searched.
int32_t first(UErrorCode &status)
Returns the first index at which the string text matches the search pattern.
const UnicodeString & getText(void) const
Return the string text to be searched.
void setAttribute(USearchAttribute attribute, USearchAttributeValue value, UErrorCode &status)
Sets the text searching attributes located in the enum USearchAttribute with values from the enum USe...
const BreakIterator * getBreakIterator(void) const
Returns the BreakIterator that is used to restrict the points at which matches are detected.
virtual int32_t handleNext(int32_t position, UErrorCode &status)=0
Abstract method which subclasses override to provide the mechanism for finding the next match in the ...
SearchIterator(CharacterIterator &text, BreakIterator *breakiter=NULL)
Constructor for use by subclasses.
int32_t previous(UErrorCode &status)
Returns the index of the previous point at which the string text matches the search pattern,...
int32_t preceding(int32_t position, UErrorCode &status)
Returns the first index less than position at which the string text matches the search pattern.
virtual SearchIterator * safeClone(void) const =0
Returns a copy of SearchIterator with the same behavior, and iterating over the same text,...
int32_t last(UErrorCode &status)
Returns the last index in the target text at which it matches the search pattern.
virtual int32_t getOffset(void) const =0
Return the current index in the text being searched.
int32_t getMatchedStart(void) const
Returns the index to the match in the text string that was searched.
virtual void setText(const UnicodeString &text, UErrorCode &status)
Set the string text to be searched.
SearchIterator()
Default constructor.
UnicodeString m_text_
Unicode string version of the search text.
virtual void setMatchStart(int32_t position)
Sets the offset of the currently matched string in the text string to be searched.
void setMatchNotFound()
sets match not found
int32_t following(int32_t position, UErrorCode &status)
Returns the first index equal or greater than position at which the string text matches the search pa...
virtual void reset()
Resets the iteration.
void setBreakIterator(BreakIterator *breakiter, UErrorCode &status)
Set the BreakIterator that will be used to restrict the points at which matches are detected.
void getMatchedText(UnicodeString &result) const
Returns the text that was matched by the most recent call to first, next, previous,...
BreakIterator * m_breakiterator_
Break iterator.
virtual bool operator==(const SearchIterator &that) const
Equality operator.
virtual int32_t handlePrev(int32_t position, UErrorCode &status)=0
Abstract method which subclasses override to provide the mechanism for finding the previous match in ...
USearchAttributeValue getAttribute(USearchAttribute attribute) const
Gets the text searching attributes.
virtual void setOffset(int32_t position, UErrorCode &status)=0
Sets the index to point to the given position, and clears any state that's affected.
virtual void setText(CharacterIterator &text, UErrorCode &status)
Set the string text to be searched.
SearchIterator(const UnicodeString &text, BreakIterator *breakiter=NULL)
Constructor for use by subclasses.
virtual ~SearchIterator()
Destructor.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
bool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
C++ API: Common ICU base class UObject.
Basic definitions for ICU, for both C and C++ APIs.
#define NULL
Define NULL if necessary, to nullptr for C++ and to ((void *)0) for C.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.