"Fossies" - the Fresh Open Source Software Archive

Member "stsearch_8h_source.html" (3 Oct 2019, 32928 Bytes) of package /linux/misc/icu4c-65_1-docs.zip:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

ICU 65.1  65.1
stsearch.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 2001-2014 IBM and others. All rights reserved.
6 **********************************************************************
7 * Date Name Description
8 * 03/22/2000 helena Creation.
9 **********************************************************************
10 */
11 
12 #ifndef STSEARCH_H
13 #define STSEARCH_H
14 
15 #include "unicode/utypes.h"
16 
17 #if U_SHOW_CPLUSPLUS_API
18 
24 #if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
25 
26 #include "unicode/tblcoll.h"
27 #include "unicode/coleitr.h"
28 #include "unicode/search.h"
29 
30 U_NAMESPACE_BEGIN
31 
136 {
137 public:
138 
139  // public constructors and destructors --------------------------------
140 
162  StringSearch(const UnicodeString &pattern, const UnicodeString &text,
163  const Locale &locale,
164  BreakIterator *breakiter,
165  UErrorCode &status);
166 
188  StringSearch(const UnicodeString &pattern,
189  const UnicodeString &text,
190  RuleBasedCollator *coll,
191  BreakIterator *breakiter,
192  UErrorCode &status);
193 
219  StringSearch(const UnicodeString &pattern, CharacterIterator &text,
220  const Locale &locale,
221  BreakIterator *breakiter,
222  UErrorCode &status);
223 
249  StringSearch(const UnicodeString &pattern, CharacterIterator &text,
250  RuleBasedCollator *coll,
251  BreakIterator *breakiter,
252  UErrorCode &status);
253 
260  StringSearch(const StringSearch &that);
261 
267  virtual ~StringSearch(void);
268 
280  StringSearch *clone() const;
281 
282  // operator overloading ---------------------------------------------
283 
290  StringSearch & operator=(const StringSearch &that);
291 
300  virtual UBool operator==(const SearchIterator &that) const;
301 
302  // public get and set methods ----------------------------------------
303 
317  virtual void setOffset(int32_t position, UErrorCode &status);
318 
327  virtual int32_t getOffset(void) const;
328 
340  virtual void setText(const UnicodeString &text, UErrorCode &status);
341 
356  virtual void setText(CharacterIterator &text, UErrorCode &status);
357 
367  RuleBasedCollator * getCollator() const;
368 
377  void setCollator(RuleBasedCollator *coll, UErrorCode &status);
378 
387  void setPattern(const UnicodeString &pattern, UErrorCode &status);
388 
394  const UnicodeString & getPattern() const;
395 
396  // public methods ----------------------------------------------------
397 
406  virtual void reset();
407 
416  virtual StringSearch * safeClone() const;
417 
423  virtual UClassID getDynamicClassID() const;
424 
430  static UClassID U_EXPORT2 getStaticClassID();
431 
432 protected:
433 
434  // protected method -------------------------------------------------
435 
458  virtual int32_t handleNext(int32_t position, UErrorCode &status);
459 
482  virtual int32_t handlePrev(int32_t position, UErrorCode &status);
483 
484 private :
485  StringSearch(); // default constructor not implemented
486 
487  // private data members ----------------------------------------------
488 
493  UnicodeString m_pattern_;
498  UStringSearch *m_strsrch_;
499 
500 };
501 
502 U_NAMESPACE_END
503 
504 #endif /* #if !UCONFIG_NO_COLLATION */
505 
506 #endif /* U_SHOW_CPLUSPLUS_API */
507 
508 #endif
509 
virtual int32_t getOffset(void) const =0
Return the current index in the text being searched.
C++ API: SearchIterator object.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:96
virtual UBool operator==(const SearchIterator &that) const
Equality operator.
C++ API: The RuleBasedCollator class implements the Collator abstract base class. ...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:301
SearchIterator & operator=(const SearchIterator &that)
Assignment operator.
The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...
Definition: tblcoll.h:115
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:361
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 ...
virtual void setText(const UnicodeString &text, UErrorCode &status)
Set the string text to be searched.
virtual void reset()
Resets the iteration.
The BreakIterator class implements methods for finding the location of boundaries in text...
Definition: brkiter.h:106
virtual UClassID getDynamicClassID() const
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
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 int32_t handlePrev(int32_t position, UErrorCode &status)=0
Abstract method which subclasses override to provide the mechanism for finding the previous match in ...
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
#define U_FINAL
Defined to the C++11 "final" keyword if available.
Definition: umachine.h:140
StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari...
Definition: stsearch.h:135
Basic definitions for ICU, for both C and C++ APIs.
C++ API: Collation Element Iterator.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:294
SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...
Definition: search.h:82
struct UStringSearch UStringSearch
Data structure for searching.
Definition: usearch.h:158
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261
virtual SearchIterator * safeClone(void) const =0
Returns a copy of SearchIterator with the same behavior, and iterating over the same text...
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:195