| Index: source/common/unicode/rbbi.h
|
| diff --git a/source/common/unicode/rbbi.h b/source/common/unicode/rbbi.h
|
| index d47598a50e6fa3bab2ad49e022aaf396cac329e5..9f2a1a62b369d1bf0aaad8f6b3a597e0930bf07c 100644
|
| --- a/source/common/unicode/rbbi.h
|
| +++ b/source/common/unicode/rbbi.h
|
| @@ -1,6 +1,8 @@
|
| +// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
| +// License & terms of use: http://www.unicode.org/copyright.html
|
| /*
|
| ***************************************************************************
|
| -* Copyright (C) 1999-2014 International Business Machines Corporation *
|
| +* Copyright (C) 1999-2016 International Business Machines Corporation *
|
| * and others. All rights reserved. *
|
| ***************************************************************************
|
|
|
| @@ -56,15 +58,11 @@ struct RBBIStateTable;
|
| *
|
| * <p>See the ICU User Guide for information on Break Iterator Rules.</p>
|
| *
|
| - * <p>This class is not intended to be subclassed. (Class DictionaryBasedBreakIterator
|
| - * is a subclass, but that relationship is effectively internal to the ICU
|
| - * implementation. The subclassing interface to RulesBasedBreakIterator is
|
| - * not part of the ICU API, and may not remain stable.</p>
|
| - *
|
| + * <p>This class is not intended to be subclassed.</p>
|
| */
|
| class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator {
|
|
|
| -protected:
|
| +private:
|
| /**
|
| * The UText through which this BreakIterator accesses the text
|
| * @internal
|
| @@ -139,7 +137,7 @@ protected:
|
| * @internal
|
| */
|
| int32_t fPositionInCache;
|
| -
|
| +
|
| /**
|
| *
|
| * If present, UStack of LanguageBreakEngine objects that might handle
|
| @@ -148,7 +146,7 @@ protected:
|
| * @internal
|
| */
|
| UStack *fLanguageBreakEngines;
|
| -
|
| +
|
| /**
|
| *
|
| * If present, the special LanguageBreakEngine used for handling
|
| @@ -157,32 +155,18 @@ protected:
|
| * @internal
|
| */
|
| UnhandledEngine *fUnhandledBreakEngine;
|
| -
|
| +
|
| /**
|
| *
|
| * The type of the break iterator, or -1 if it has not been set.
|
| * @internal
|
| */
|
| int32_t fBreakType;
|
| -
|
| -protected:
|
| +
|
| //=======================================================================
|
| // constructors
|
| //=======================================================================
|
|
|
| -#ifndef U_HIDE_INTERNAL_API
|
| - /**
|
| - * Constant to be used in the constructor
|
| - * RuleBasedBreakIterator(RBBIDataHeader*, EDontAdopt, UErrorCode &);
|
| - * which does not adopt the memory indicated by the RBBIDataHeader*
|
| - * parameter.
|
| - *
|
| - * @internal
|
| - */
|
| - enum EDontAdopt {
|
| - kDontAdopt
|
| - };
|
| -
|
| /**
|
| * Constructor from a flattened set of RBBI data in malloced memory.
|
| * RulesBasedBreakIterators built from a custom set of rules
|
| @@ -195,17 +179,6 @@ protected:
|
| */
|
| RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status);
|
|
|
| - /**
|
| - * Constructor from a flattened set of RBBI data in memory which need not
|
| - * be malloced (e.g. it may be a memory-mapped file, etc.).
|
| - *
|
| - * This version does not adopt the memory, and does not
|
| - * free it when done.
|
| - * @internal
|
| - */
|
| - RuleBasedBreakIterator(const RBBIDataHeader* data, enum EDontAdopt dontAdopt, UErrorCode &status);
|
| -#endif /* U_HIDE_INTERNAL_API */
|
| -
|
|
|
| friend class RBBIRuleBuilder;
|
| /** @internal */
|
| @@ -248,7 +221,7 @@ public:
|
| * constuction from source rules.
|
| *
|
| * Ownership of the storage containing the compiled rules remains with the
|
| - * caller of this function. The compiled rules must not be modified or
|
| + * caller of this function. The compiled rules must not be modified or
|
| * deleted during the life of the break iterator.
|
| *
|
| * The compiled rules are not compatible across different major versions of ICU.
|
| @@ -402,6 +375,11 @@ public:
|
| /**
|
| * Set the iterator to analyze a new piece of text. This function resets
|
| * the current iteration position to the beginning of the text.
|
| + *
|
| + * The BreakIterator will retain a reference to the supplied string.
|
| + * The caller must not modify or delete the text while the BreakIterator
|
| + * retains the reference.
|
| + *
|
| * @param newText The text to analyze.
|
| * @stable ICU 2.0
|
| */
|
| @@ -661,7 +639,7 @@ public:
|
| virtual RuleBasedBreakIterator &refreshInputText(UText *input, UErrorCode &status);
|
|
|
|
|
| -protected:
|
| +private:
|
| //=======================================================================
|
| // implementation
|
| //=======================================================================
|
| @@ -670,41 +648,19 @@ protected:
|
| * in text or iteration position.
|
| * @internal
|
| */
|
| - virtual void reset(void);
|
| -
|
| -#if 0
|
| - /**
|
| - * Return true if the category lookup for this char
|
| - * indicates that it is in the set of dictionary lookup chars.
|
| - * This function is intended for use by dictionary based break iterators.
|
| - * @return true if the category lookup for this char
|
| - * indicates that it is in the set of dictionary lookup chars.
|
| - * @internal
|
| - */
|
| - virtual UBool isDictionaryChar(UChar32);
|
| -
|
| - /**
|
| - * Get the type of the break iterator.
|
| - * @internal
|
| - */
|
| - virtual int32_t getBreakType() const;
|
| -#endif
|
| + void reset(void);
|
|
|
| /**
|
| * Set the type of the break iterator.
|
| * @internal
|
| */
|
| - virtual void setBreakType(int32_t type);
|
| + void setBreakType(int32_t type);
|
|
|
| -#ifndef U_HIDE_INTERNAL_API
|
| /**
|
| * Common initialization function, used by constructors and bufferClone.
|
| * @internal
|
| */
|
| void init();
|
| -#endif /* U_HIDE_INTERNAL_API */
|
| -
|
| -private:
|
|
|
| /**
|
| * This method backs the iterator back up to a "safe position" in the text.
|
| @@ -728,9 +684,7 @@ private:
|
| */
|
| int32_t handleNext(const RBBIStateTable *statetable);
|
|
|
| -protected:
|
|
|
| -#ifndef U_HIDE_INTERNAL_API
|
| /**
|
| * This is the function that actually implements dictionary-based
|
| * breaking. Covering at least the range from startPos to endPos,
|
| @@ -746,9 +700,7 @@ protected:
|
| * @internal
|
| */
|
| int32_t checkDictionary(int32_t startPos, int32_t endPos, UBool reverse);
|
| -#endif /* U_HIDE_INTERNAL_API */
|
|
|
| -private:
|
|
|
| /**
|
| * This function returns the appropriate LanguageBreakEngine for a
|
|
|