]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/ruleiter.h
ICU-66108.tar.gz
[apple/icu.git] / icuSources / common / ruleiter.h
index 736b54ed5c4db9beef8e86f0137e3cc5ef962003..4e1be53823d78a63ec8952d0f90269096f8a1f14 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) 2003, International Business Machines
+* Copyright (c) 2003-2011, International Business Machines
 * Corporation and others.  All Rights Reserved.
 **********************************************************************
 * Author: Alan Liu
@@ -11,7 +13,7 @@
 #ifndef _RULEITER_H_
 #define _RULEITER_H_
 
-#include "unicode/utypes.h"
+#include "unicode/uobject.h"
 
 U_NAMESPACE_BEGIN
 
@@ -26,7 +28,7 @@ class SymbolTable;
  * @author Alan Liu
  * @since ICU 2.8
  */
-class U_COMMON_API RuleCharacterIterator {
+class RuleCharacterIterator : public UMemory {
 
     // TODO: Ideas for later.  (Do not implement if not needed, lest the
     // code coverage numbers go down due to unused methods.)
@@ -82,9 +84,8 @@ public:
 
     /**
      * Bitmask option to enable skipping of whitespace.  If (options &
-     * SKIP_WHITESPACE) != 0, then whitespace characters will be silently
-     * skipped, as if they were not present in the input.  Whitespace
-     * characters are defined by UCharacterProperty.isRuleWhiteSpace().
+     * SKIP_WHITESPACE) != 0, then Pattern_White_Space characters will be silently
+     * skipped, as if they were not present in the input.
      */
     enum { SKIP_WHITESPACE = 4 };
 
@@ -131,7 +132,7 @@ public:
     /**
      * An opaque object representing the position of a RuleCharacterIterator.
      */
-    struct Pos {
+    struct Pos : public UMemory {
     private:
         const UnicodeString* buf;
         int32_t pos;
@@ -186,9 +187,10 @@ public:
      * resynchronize the iterator.
      * @param result a string to receive the characters to be returned
      * by future calls to next()
+     * @param maxLookAhead The maximum to copy into the result.
      * @return a reference to result
      */
-    UnicodeString& lookahead(UnicodeString& result) const;
+    UnicodeString& lookahead(UnicodeString& result, int32_t maxLookAhead = -1) const;
 
     /**
      * Advances the position by the given number of 16-bit code units.
@@ -204,7 +206,7 @@ public:
      * @param result output parameter to receive a string
      * representation of this object
      */
-    UnicodeString& toString(UnicodeString& result) const;
+//    UnicodeString& toString(UnicodeString& result) const;
     
 private:
     /**