ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stsearch.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (C) 2001-2008 IBM and others. All rights reserved.
4 **********************************************************************
5 * Date Name Description
6 * 03/22/2000 helena Creation.
7 **********************************************************************
8 */
9 
10 #ifndef STSEARCH_H
11 #define STSEARCH_H
12 
13 #include "unicode/utypes.h"
14 
20 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
21 
22 #include "unicode/tblcoll.h"
23 #include "unicode/coleitr.h"
24 #include "unicode/search.h"
25 
27 
139 {
140 public:
141 
142  // public constructors and destructors --------------------------------
143 
165  StringSearch(const UnicodeString &pattern, const UnicodeString &text,
166  const Locale &locale,
167  BreakIterator *breakiter,
168  UErrorCode &status);
169 
191  StringSearch(const UnicodeString &pattern,
192  const UnicodeString &text,
193  RuleBasedCollator *coll,
194  BreakIterator *breakiter,
195  UErrorCode &status);
196 
222  StringSearch(const UnicodeString &pattern, CharacterIterator &text,
223  const Locale &locale,
224  BreakIterator *breakiter,
225  UErrorCode &status);
226 
252  StringSearch(const UnicodeString &pattern, CharacterIterator &text,
253  RuleBasedCollator *coll,
254  BreakIterator *breakiter,
255  UErrorCode &status);
256 
263  StringSearch(const StringSearch &that);
264 
270  virtual ~StringSearch(void);
271 
283  StringSearch *clone() const;
284 
285  // operator overloading ---------------------------------------------
286 
293  StringSearch & operator=(const StringSearch &that);
294 
303  virtual UBool operator==(const SearchIterator &that) const;
304 
305  // public get and set methods ----------------------------------------
306 
320  virtual void setOffset(int32_t position, UErrorCode &status);
321 
330  virtual int32_t getOffset(void) const;
331 
343  virtual void setText(const UnicodeString &text, UErrorCode &status);
344 
359  virtual void setText(CharacterIterator &text, UErrorCode &status);
360 
370  RuleBasedCollator * getCollator() const;
371 
382  void setCollator(RuleBasedCollator *coll, UErrorCode &status);
383 
393  void setPattern(const UnicodeString &pattern, UErrorCode &status);
394 
400  const UnicodeString & getPattern() const;
401 
402  // public methods ----------------------------------------------------
403 
412  virtual void reset();
413 
422  virtual SearchIterator * safeClone(void) const;
423 
429  virtual UClassID getDynamicClassID() const;
430 
436  static UClassID U_EXPORT2 getStaticClassID();
437 
438 protected:
439 
440  // protected method -------------------------------------------------
441 
464  virtual int32_t handleNext(int32_t position, UErrorCode &status);
465 
488  virtual int32_t handlePrev(int32_t position, UErrorCode &status);
489 
490 private :
491  StringSearch(); // default constructor not implemented
492 
493  // private data members ----------------------------------------------
494 
499  RuleBasedCollator m_collator_;
504  UnicodeString m_pattern_;
509  UStringSearch *m_strsrch_;
510 
511 };
512 
514 
515 #endif /* #if !UCONFIG_NO_COLLATION */
516 
517 #endif
518 
virtual int32_t getOffset(void) const =0
Return the current index in the text being searched.
The BreakIterator class implements methods for finding the location of boundaries in text...
Definition: brkiter.h:100
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 ...
C++ API: SearchIterator object.
The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...
Definition: tblcoll.h:111
virtual UBool operator==(const SearchIterator &that) const
Equality operator.
C++ API: RuleBasedCollator class provides the simple implementation of Collator.
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:356
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:521
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
virtual void setText(const UnicodeString &text, UErrorCode &status)
Set the string text to be searched.
virtual void reset()
Resets the iteration.
virtual SearchIterator * safeClone(void) const =0
Returns a copy of SearchIterator with the same behavior, and iterating over the same text...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:188
#define U_EXPORT2
Definition: platform.h:314
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.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
SearchIterator & operator=(const SearchIterator &that)
Assignment operator.
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
Definition: utypes.h:385
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:639
SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...
Definition: search.h:79
Basic definitions for ICU, for both C and C++ APIs.
C++ API: Collation Element Iterator.
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 ...
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:181
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
struct UStringSearch UStringSearch
Data structure for searching.
Definition: usearch.h:151
StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari...
Definition: stsearch.h:138
int8_t UBool
The ICU boolean type.
Definition: umachine.h:228