ICU 73.2  73.2
filteredbrk.h
Go to the documentation of this file.
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 
00015 #if U_SHOW_CPLUSPLUS_API
00016 
00017 #include "unicode/brkiter.h"
00018 
00019 #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
00020 
00021 U_NAMESPACE_BEGIN
00022 
00039 class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
00040  public:
00045   virtual ~FilteredBreakIteratorBuilder();
00046 
00059   static FilteredBreakIteratorBuilder *createInstance(const Locale& where, UErrorCode& status);
00060 
00061 #ifndef U_HIDE_DEPRECATED_API
00062 
00070   static FilteredBreakIteratorBuilder *createInstance(UErrorCode &status);
00071 #endif  /* U_HIDE_DEPRECATED_API */
00072 
00080   static FilteredBreakIteratorBuilder *createEmptyInstance(UErrorCode &status);
00081 
00092   virtual UBool suppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
00093 
00105   virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
00106 
00107 #ifndef U_FORCE_HIDE_DEPRECATED_API
00108 
00117   virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0;
00118 #endif  // U_FORCE_HIDE_DEPRECATED_API
00119 
00133   inline BreakIterator *wrapIteratorWithFilter(BreakIterator* adoptBreakIterator, UErrorCode& status) {
00134     return build(adoptBreakIterator, status);
00135   }
00136 
00137  protected:
00142   FilteredBreakIteratorBuilder();
00143 };
00144 
00145 
00146 U_NAMESPACE_END
00147 
00148 #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
00149 
00150 #endif /* U_SHOW_CPLUSPLUS_API */
00151 
00152 #endif // #ifndef FILTEREDBRK_H