]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/unicode/search.h
ICU-59180.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / unicode / search.h
index 474ae91e6ef553a1324a565ef0e2b7d57c9063ac..403d3c5a914b80e5f02a4eace986cfee15435035 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) 2001-2003 IBM and others. All rights reserved.
+*   Copyright (C) 2001-2011 IBM and others. All rights reserved.
 **********************************************************************
 *   Date        Name        Description
 *  03/22/2000   helena      Creation.
 
 #include "unicode/utypes.h"
 
-#if !UCONFIG_NO_COLLATION
+/**
+ * \file 
+ * \brief C++ API: SearchIterator object.
+ */
+#if !UCONFIG_NO_COLLATION && !UCONFIG_NO_BREAK_ITERATION
 
 #include "unicode/uobject.h"
 #include "unicode/unistr.h"
@@ -29,9 +36,11 @@ struct USearch;
 */
 typedef struct USearch USearch;
 
+#if U_SHOW_CPLUSPLUS_API
 U_NAMESPACE_BEGIN
 
 /**
+ *
  * <tt>SearchIterator</tt> is an abstract base class that provides 
  * methods to search for a pattern within a text string. Instances of
  * <tt>SearchIterator</tt> maintain a current position and scans over the 
@@ -300,12 +309,12 @@ public:
     int32_t first(UErrorCode &status);
 
     /**
-     * Returns the first index greater than <tt>position</tt> at which the 
+     * Returns the first index equal or greater than <tt>position</tt> at which the 
      * string text matches the search pattern. The iterator is adjusted so 
      * that its current index (as returned by <tt>getOffset</tt>) is the 
-     * match position if one was found. If a match is not found, 
-     * <tt>USEARCH_DONE</tt> will be returned and the iterator will be 
-     * adjusted to the index USEARCH_DONE
+     * match position if one was found.
+     * If a match is not found, <tt>USEARCH_DONE</tt> will be returned and the
+     * iterator will be adjusted to the index <tt>USEARCH_DONE</tt>.
      * @param  position where search if to start from. If position is less
      *             than or greater than the text range for searching, 
      *          an U_INDEX_OUTOFBOUNDS_ERROR will be returned
@@ -340,6 +349,12 @@ public:
      * position if one was found. If a match is not found, 
      * <tt>USEARCH_DONE</tt> will be returned and the iterator will be 
      * adjusted to the index USEARCH_DONE
+     * <p>
+     * When <tt>USEARCH_OVERLAP</tt> option is off, the last index of the
+     * result match is always less than <tt>position</tt>.
+     * When <tt>USERARCH_OVERLAP</tt> is on, the result match may span across
+     * <tt>position</tt>.
+     *
      * @param  position where search is to start from. If position is less
      *             than or greater than the text range for searching, 
      *          an U_INDEX_OUTOFBOUNDS_ERROR will be returned
@@ -556,6 +571,7 @@ inline UBool SearchIterator::operator!=(const SearchIterator &that) const
    return !operator==(that); 
 }
 U_NAMESPACE_END
+#endif // U_SHOW_CPLUSPLUS_API
 
 #endif /* #if !UCONFIG_NO_COLLATION */