00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ******************************************************************************** 00005 * Copyright (C) 1997-2015, International Business Machines 00006 * Corporation and others. All Rights Reserved. 00007 ******************************************************************************** 00008 */ 00009 00010 #ifndef FILTEREDBRK_H 00011 #define FILTEREDBRK_H 00012 00013 #include "unicode/utypes.h" 00014 #include "unicode/brkiter.h" 00015 00016 #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION 00017 00018 U_NAMESPACE_BEGIN 00019 00036 class U_COMMON_API FilteredBreakIteratorBuilder : public UObject { 00037 public: 00042 virtual ~FilteredBreakIteratorBuilder(); 00043 00056 static FilteredBreakIteratorBuilder *createInstance(const Locale& where, UErrorCode& status); 00057 00058 #ifndef U_HIDE_DEPRECATED_API 00059 00067 static inline FilteredBreakIteratorBuilder *createInstance(UErrorCode &status) { 00068 return createEmptyInstance(status); 00069 } 00070 #endif /* U_HIDE_DEPRECATED_API */ 00071 00072 #ifndef U_HIDE_DRAFT_API 00073 00080 static FilteredBreakIteratorBuilder *createEmptyInstance(UErrorCode &status); 00081 #endif /* U_HIDE_DRAFT_API */ 00082 00093 virtual UBool suppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0; 00094 00106 virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0; 00107 00108 #ifndef U_HIDE_DEPRECATED_API 00109 00118 virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0; 00119 #endif /* U_HIDE_DEPRECATED_API */ 00120 00121 #ifndef U_HIDE_DRAFT_API 00122 00135 inline BreakIterator *wrapIteratorWithFilter(BreakIterator* adoptBreakIterator, UErrorCode& status) { 00136 return build(adoptBreakIterator, status); 00137 } 00138 #endif /* U_HIDE_DRAFT_API */ 00139 00140 protected: 00145 FilteredBreakIteratorBuilder(); 00146 }; 00147 00148 00149 U_NAMESPACE_END 00150 00151 #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION 00152 00153 #endif // #ifndef FILTEREDBRK_H
1.6.1