/usr/share/cagefs-skeleton/usr/include/unicode
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************** * Copyright (C) 1997-2015, International Business Machines * Corporation and others. All Rights Reserved. ******************************************************************************** */ #ifndef FILTEREDBRK_H #define FILTEREDBRK_H #include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API #include "unicode/brkiter.h" #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION U_NAMESPACE_BEGIN /** * \file * \brief C++ API: FilteredBreakIteratorBuilder */ /** * The BreakIteratorFilter is used to modify the behavior of a BreakIterator * by constructing a new BreakIterator which suppresses certain segment boundaries. * See http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions . * For example, a typical English Sentence Break Iterator would break on the space * in the string "Mr. Smith" (resulting in two segments), * but with "Mr." as an exception, a filtered break iterator * would consider the string "Mr. Smith" to be a single segment. * * @stable ICU 56 */ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject { public: /** * destructor. * @stable ICU 56 */ virtual ~FilteredBreakIteratorBuilder(); /** * Construct a FilteredBreakIteratorBuilder based on rules in a locale. * The rules are taken from CLDR exception data for the locale, * see http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions * This is the equivalent of calling createInstance(UErrorCode&) * and then repeatedly calling addNoBreakAfter(...) with the contents * of the CLDR exception data. * @param where the locale. * @param status The error code. * @return the new builder * @stable ICU 56 */ static FilteredBreakIteratorBuilder *createInstance(const Locale& where, UErrorCode& status); #ifndef U_HIDE_DEPRECATED_API /** * This function has been deprecated in favor of createEmptyInstance, which has * identical behavior. * @param status The error code. * @return the new builder * @deprecated ICU 60 use createEmptyInstance instead * @see createEmptyInstance() */ static FilteredBreakIteratorBuilder *createInstance(UErrorCode &status); #endif /* U_HIDE_DEPRECATED_API */ /** * Construct an empty FilteredBreakIteratorBuilder. * In this state, it will not suppress any segment boundaries. * @param status The error code. * @return the new builder * @stable ICU 60 */ static FilteredBreakIteratorBuilder *createEmptyInstance(UErrorCode &status); /** * Suppress a certain string from being the end of a segment. * For example, suppressing "Mr.", then segments ending in "Mr." will not be returned * by the iterator. * @param string the string to suppress, such as "Mr." * @param status error code * @return returns TRUE if the string was not present and now added, * FALSE if the call was a no-op because the string was already being suppressed. * @stable ICU 56 */ virtual UBool suppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0; /** * Stop suppressing a certain string from being the end of the segment. * This function does not create any new segment boundaries, but only serves to un-do * the effect of earlier calls to suppressBreakAfter, or to un-do the effect of * locale data which may be suppressing certain strings. * @param string the exception to remove * @param status error code * @return returns TRUE if the string was present and now removed, * FALSE if the call was a no-op because the string was not being suppressed. * @stable ICU 56 */ virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0; #ifndef U_FORCE_HIDE_DEPRECATED_API /** * This function has been deprecated in favor of wrapIteratorWithFilter() * The behavior is identical. * @param adoptBreakIterator the break iterator to adopt * @param status error code * @return the new BreakIterator, owned by the caller. * @deprecated ICU 60 use wrapIteratorWithFilter() instead * @see wrapBreakIteratorWithFilter() */ virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0; #endif // U_FORCE_HIDE_DEPRECATED_API /** * Wrap (adopt) an existing break iterator in a new filtered instance. * The resulting BreakIterator is owned by the caller. * The BreakIteratorFilter may be destroyed before the BreakIterator is destroyed. * Note that the adoptBreakIterator is adopted by the new BreakIterator * and should no longer be used by the caller. * The FilteredBreakIteratorBuilder may be reused. * This function is an alias for build() * @param adoptBreakIterator the break iterator to adopt * @param status error code * @return the new BreakIterator, owned by the caller. * @stable ICU 60 */ inline BreakIterator *wrapIteratorWithFilter(BreakIterator* adoptBreakIterator, UErrorCode& status) { return build(adoptBreakIterator, status); } protected: /** * For subclass use * @stable ICU 56 */ FilteredBreakIteratorBuilder(); }; U_NAMESPACE_END #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION #endif /* U_SHOW_CPLUSPLUS_API */ #endif // #ifndef FILTEREDBRK_H
.
Edit
..
Edit
alphaindex.h
Edit
appendable.h
Edit
basictz.h
Edit
brkiter.h
Edit
bytestream.h
Edit
bytestrie.h
Edit
bytestriebuilder.h
Edit
calendar.h
Edit
caniter.h
Edit
casemap.h
Edit
char16ptr.h
Edit
chariter.h
Edit
choicfmt.h
Edit
coleitr.h
Edit
coll.h
Edit
compactdecimalformat.h
Edit
curramt.h
Edit
currpinf.h
Edit
currunit.h
Edit
datefmt.h
Edit
dbbi.h
Edit
dcfmtsym.h
Edit
decimfmt.h
Edit
docmain.h
Edit
dtfmtsym.h
Edit
dtintrv.h
Edit
dtitvfmt.h
Edit
dtitvinf.h
Edit
dtptngen.h
Edit
dtrule.h
Edit
edits.h
Edit
enumset.h
Edit
errorcode.h
Edit
fieldpos.h
Edit
filteredbrk.h
Edit
fmtable.h
Edit
format.h
Edit
formattedvalue.h
Edit
fpositer.h
Edit
gender.h
Edit
gregocal.h
Edit
icudataver.h
Edit
icuplug.h
Edit
idna.h
Edit
listformatter.h
Edit
localebuilder.h
Edit
localematcher.h
Edit
localpointer.h
Edit
locdspnm.h
Edit
locid.h
Edit
measfmt.h
Edit
measunit.h
Edit
measure.h
Edit
messagepattern.h
Edit
msgfmt.h
Edit
normalizer2.h
Edit
normlzr.h
Edit
nounit.h
Edit
numberformatter.h
Edit
numberrangeformatter.h
Edit
numfmt.h
Edit
numsys.h
Edit
parseerr.h
Edit
parsepos.h
Edit
platform.h
Edit
plurfmt.h
Edit
plurrule.h
Edit
ptypes.h
Edit
putil.h
Edit
rbbi.h
Edit
rbnf.h
Edit
rbtz.h
Edit
regex.h
Edit
region.h
Edit
reldatefmt.h
Edit
rep.h
Edit
resbund.h
Edit
schriter.h
Edit
scientificnumberformatter.h
Edit
search.h
Edit
selfmt.h
Edit
simpleformatter.h
Edit
simpletz.h
Edit
smpdtfmt.h
Edit
sortkey.h
Edit
std_string.h
Edit
strenum.h
Edit
stringoptions.h
Edit
stringpiece.h
Edit
stringtriebuilder.h
Edit
stsearch.h
Edit
symtable.h
Edit
tblcoll.h
Edit
timezone.h
Edit
tmunit.h
Edit
tmutamt.h
Edit
tmutfmt.h
Edit
translit.h
Edit
tzfmt.h
Edit
tznames.h
Edit
tzrule.h
Edit
tztrans.h
Edit
ubidi.h
Edit
ubiditransform.h
Edit
ubrk.h
Edit
ucal.h
Edit
ucasemap.h
Edit
ucat.h
Edit
uchar.h
Edit
ucharstrie.h
Edit
ucharstriebuilder.h
Edit
uchriter.h
Edit
uclean.h
Edit
ucnv.h
Edit
ucnv_cb.h
Edit
ucnv_err.h
Edit
ucnvsel.h
Edit
ucol.h
Edit
ucoleitr.h
Edit
uconfig.h
Edit
ucpmap.h
Edit
ucptrie.h
Edit
ucsdet.h
Edit
ucurr.h
Edit
udat.h
Edit
udata.h
Edit
udateintervalformat.h
Edit
udatpg.h
Edit
udisplaycontext.h
Edit
uenum.h
Edit
ufieldpositer.h
Edit
uformattable.h
Edit
uformattedvalue.h
Edit
ugender.h
Edit
uidna.h
Edit
uiter.h
Edit
uldnames.h
Edit
ulistformatter.h
Edit
uloc.h
Edit
ulocdata.h
Edit
umachine.h
Edit
umisc.h
Edit
umsg.h
Edit
umutablecptrie.h
Edit
unifilt.h
Edit
unifunct.h
Edit
unimatch.h
Edit
unirepl.h
Edit
uniset.h
Edit
unistr.h
Edit
unorm.h
Edit
unorm2.h
Edit
unum.h
Edit
unumberformatter.h
Edit
unumsys.h
Edit
uobject.h
Edit
upluralrules.h
Edit
uregex.h
Edit
uregion.h
Edit
ureldatefmt.h
Edit
urename.h
Edit
urep.h
Edit
ures.h
Edit
uscript.h
Edit
usearch.h
Edit
uset.h
Edit
usetiter.h
Edit
ushape.h
Edit
uspoof.h
Edit
usprep.h
Edit
ustdio.h
Edit
ustream.h
Edit
ustring.h
Edit
ustringtrie.h
Edit
utext.h
Edit
utf.h
Edit
utf16.h
Edit
utf32.h
Edit
utf8.h
Edit
utf_old.h
Edit
utmscale.h
Edit
utrace.h
Edit
utrans.h
Edit
utypes.h
Edit
uvernum.h
Edit
uversion.h
Edit
vtzone.h
Edit