]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/brktrans.h
ICU-66108.tar.gz
[apple/icu.git] / icuSources / i18n / brktrans.h
index 355d63dadb301c091c709bc36d85c376efc115d4..cb3def9e926e79bb8cf33ce619bf193b07ca6038 100644 (file)
@@ -1,6 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 **********************************************************************
-*   Copyright (C) 2008, International Business Machines
+*   Copyright (C) 2008-2015, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 **********************************************************************
 *   Date        Name        Description
@@ -16,6 +18,8 @@
 
 #include "unicode/translit.h"
 
+#include "unicode/localpointer.h"
+
 
 U_NAMESPACE_BEGIN
 
@@ -30,10 +34,6 @@ class UVector32;
 class BreakTransliterator : public Transliterator {
 public:
 
-    BreakTransliterator(const UnicodeString &ID, 
-                        UnicodeFilter *adoptedFilter,
-                        BreakIterator *bi, 
-                        const UnicodeString &insertion);
     /**
      * Constructs a transliterator.
      * @param adoptedFilter    the filter for this transliterator.
@@ -54,19 +54,11 @@ public:
      * Transliterator API.
      * @return    A copy of the object.
      */
-    virtual Transliterator* clone(void) const;
+    virtual BreakTransliterator* clone() const;
 
     virtual const UnicodeString &getInsertion() const;
 
-    virtual void setInsertsion(const UnicodeString &insertion);
-
-    /**
-      *  Return the break iterator used by this transliterator.
-      *  Caution, this is the live break iterator; it must not be used while
-      *     there is any possibility that this transliterator is using it.
-      */
-    virtual BreakIterator *getBreakIterator();
-
+    virtual void setInsertion(const UnicodeString &insertion);
 
     /**
      * ICU "poor man's RTTI", returns a UClassID for the actual class.
@@ -93,10 +85,9 @@ public:
                                      UBool isIncremental) const;
 
  private:
-     BreakIterator     *bi;
-     UnicodeString      fInsertion;
-     UVector32         *boundaries;
-     UnicodeString      sText;  // text from handleTransliterate().
+     LocalPointer<BreakIterator> cachedBI;
+     LocalPointer<UVector32>     cachedBoundaries;
+     UnicodeString               fInsertion;
 
      static UnicodeString replaceableAsString(Replaceable &r);