ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
filteredbrk.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) 1997-2015, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 ********************************************************************************
8 */
9 
10 #ifndef FILTEREDBRK_H
11 #define FILTEREDBRK_H
12 
13 #include "unicode/utypes.h"
14 
15 #if U_SHOW_CPLUSPLUS_API
16 
17 #include "unicode/brkiter.h"
18 
19 #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
20 
21 U_NAMESPACE_BEGIN
22 
40  public:
46 
60 
61 #ifndef U_HIDE_DEPRECATED_API
71 #endif /* U_HIDE_DEPRECATED_API */
72 
81 
92  virtual UBool suppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
93 
105  virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
106 
107 #ifndef U_FORCE_HIDE_DEPRECATED_API
117  virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0;
118 #endif // U_FORCE_HIDE_DEPRECATED_API
119 
133  inline BreakIterator *wrapIteratorWithFilter(BreakIterator* adoptBreakIterator, UErrorCode& status) {
134  return build(adoptBreakIterator, status);
135  }
136 
137  protected:
143 };
144 
145 
146 U_NAMESPACE_END
147 
148 #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
149 
150 #endif /* U_SHOW_CPLUSPLUS_API */
151 
152 #endif // #ifndef FILTEREDBRK_H
C++ API: Break Iterator.
The BreakIterator class implements methods for finding the location of boundaries in text.
Definition: brkiter.h:108
The BreakIteratorFilter is used to modify the behavior of a BreakIterator by constructing a new Break...
Definition: filteredbrk.h:39
static FilteredBreakIteratorBuilder * createInstance(UErrorCode &status)
This function has been deprecated in favor of createEmptyInstance, which has identical behavior.
virtual UBool unsuppressBreakAfter(const UnicodeString &string, UErrorCode &status)=0
Stop suppressing a certain string from being the end of the segment.
FilteredBreakIteratorBuilder()
For subclass use.
static FilteredBreakIteratorBuilder * createEmptyInstance(UErrorCode &status)
Construct an empty FilteredBreakIteratorBuilder.
virtual UBool suppressBreakAfter(const UnicodeString &string, UErrorCode &status)=0
Suppress a certain string from being the end of a segment.
BreakIterator * wrapIteratorWithFilter(BreakIterator *adoptBreakIterator, UErrorCode &status)
Wrap (adopt) an existing break iterator in a new filtered instance.
Definition: filteredbrk.h:133
virtual BreakIterator * build(BreakIterator *adoptBreakIterator, UErrorCode &status)=0
This function has been deprecated in favor of wrapIteratorWithFilter() The behavior is identical.
static FilteredBreakIteratorBuilder * createInstance(const Locale &where, UErrorCode &status)
Construct a FilteredBreakIteratorBuilder based on rules in a locale.
virtual ~FilteredBreakIteratorBuilder()
destructor.
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:195
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:223
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:296
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:247
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:430
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition: utypes.h:315