/*
**********************************************************************
-* 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"
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
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
* 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