#include "unicode/utypes.h"
#if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
#include "cmemory.h"
#include "unicode/filteredbrk.h"
#include "unicode/ucharstriebuilder.h"
#include "unicode/ures.h"
#include "uresimp.h"
#include "ubrkimpl.h"
#include "uvector.h"
#include "cmemory.h"
#include "umutex.h"
U_NAMESPACE_BEGIN
#ifndef FB_DEBUG
#define FB_DEBUG …
#endif
#if FB_DEBUG
#include <stdio.h>
static void _fb_trace(const char *m, const UnicodeString *s, UBool b, int32_t d, const char *f, int l) {
char buf[2048];
if(s) {
s->extract(0,s->length(),buf,2048);
} else {
strcpy(buf,"nullptr");
}
fprintf(stderr,"%s:%d: %s. s='%s'(%p), b=%c, d=%d\n",
f, l, m, buf, (const void*)s, b?'T':'F',(int)d);
}
#define FB_TRACE …
#else
#define FB_TRACE(m,s,b,d) …
#endif
static int32_t U_CALLCONV compareUnicodeString(UElement t1, UElement t2) { … }
class UStringSet : public UVector { … };
UStringSet::~UStringSet() { … }
static const int32_t kPARTIAL = …;
static const int32_t kMATCH = …;
static const int32_t kSuppressInReverse = …;
static const int32_t kAddToForward = …;
static const char16_t kFULLSTOP = …;
class SimpleFilteredSentenceBreakData : public UMemory { … };
SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData() { … }
class SimpleFilteredSentenceBreakIterator : public BreakIterator { … };
SimpleFilteredSentenceBreakIterator::SimpleFilteredSentenceBreakIterator(const SimpleFilteredSentenceBreakIterator& other)
: … { … }
SimpleFilteredSentenceBreakIterator::SimpleFilteredSentenceBreakIterator(BreakIterator *adopt, UCharsTrie *forwards, UCharsTrie *backwards, UErrorCode &status) : … { … }
SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator() { … }
void SimpleFilteredSentenceBreakIterator::resetState(UErrorCode &status) { … }
SimpleFilteredSentenceBreakIterator::EFBMatchResult
SimpleFilteredSentenceBreakIterator::breakExceptionAt(int32_t n) { … }
int32_t
SimpleFilteredSentenceBreakIterator::internalNext(int32_t n) { … }
int32_t
SimpleFilteredSentenceBreakIterator::internalPrev(int32_t n) { … }
int32_t
SimpleFilteredSentenceBreakIterator::next() { … }
int32_t
SimpleFilteredSentenceBreakIterator::first() { … }
int32_t
SimpleFilteredSentenceBreakIterator::preceding(int32_t offset) { … }
int32_t
SimpleFilteredSentenceBreakIterator::previous() { … }
UBool SimpleFilteredSentenceBreakIterator::isBoundary(int32_t offset) { … }
int32_t
SimpleFilteredSentenceBreakIterator::next(int32_t offset) { … }
int32_t
SimpleFilteredSentenceBreakIterator::following(int32_t offset) { … }
int32_t
SimpleFilteredSentenceBreakIterator::last() { … }
class SimpleFilteredBreakIteratorBuilder : public FilteredBreakIteratorBuilder { … };
SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder()
{ … }
SimpleFilteredBreakIteratorBuilder::SimpleFilteredBreakIteratorBuilder(UErrorCode &status)
: … { … }
SimpleFilteredBreakIteratorBuilder::SimpleFilteredBreakIteratorBuilder(const Locale &fromLocale, UErrorCode &status)
: … { … }
UBool
SimpleFilteredBreakIteratorBuilder::suppressBreakAfter(const UnicodeString& exception, UErrorCode& status)
{ … }
UBool
SimpleFilteredBreakIteratorBuilder::unsuppressBreakAfter(const UnicodeString& exception, UErrorCode& status)
{ … }
static inline UnicodeString* newUnicodeStringArray(size_t count) { … }
BreakIterator *
SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UErrorCode& status) { … }
FilteredBreakIteratorBuilder::FilteredBreakIteratorBuilder() { … }
FilteredBreakIteratorBuilder::~FilteredBreakIteratorBuilder() { … }
FilteredBreakIteratorBuilder *
FilteredBreakIteratorBuilder::createInstance(const Locale& where, UErrorCode& status) { … }
FilteredBreakIteratorBuilder *
FilteredBreakIteratorBuilder::createInstance(UErrorCode &status) { … }
FilteredBreakIteratorBuilder *
FilteredBreakIteratorBuilder::createEmptyInstance(UErrorCode& status) { … }
U_NAMESPACE_END
#endif