ICU 73.2  73.2
fpositer.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 ********************************************************************************
00005 *   Copyright (C) 2010-2012, International Business Machines
00006 *   Corporation and others.  All Rights Reserved.
00007 ********************************************************************************
00008 *
00009 * File attiter.h
00010 *
00011 * Modification History:
00012 *
00013 *   Date        Name        Description
00014 *   12/15/2009  dougfelt    Created
00015 ********************************************************************************
00016 */
00017 
00018 #ifndef FPOSITER_H
00019 #define FPOSITER_H
00020 
00021 #include "unicode/utypes.h"
00022 
00023 #if U_SHOW_CPLUSPLUS_API
00024 
00025 #include "unicode/uobject.h"
00026 
00032 #if UCONFIG_NO_FORMATTING
00033 
00034 U_NAMESPACE_BEGIN
00035 
00036 /*
00037  * Allow the declaration of APIs with pointers to FieldPositionIterator
00038  * even when formatting is removed from the build.
00039  */
00040 class FieldPositionIterator;
00041 
00042 U_NAMESPACE_END
00043 
00044 #else
00045 
00046 #include "unicode/fieldpos.h"
00047 #include "unicode/umisc.h"
00048 
00049 U_NAMESPACE_BEGIN
00050 
00051 class UVector32;
00052 
00058 class U_I18N_API FieldPositionIterator : public UObject {
00059 public:
00064     ~FieldPositionIterator();
00065 
00070     FieldPositionIterator(void);
00071 
00077     FieldPositionIterator(const FieldPositionIterator&);
00078 
00087     bool operator==(const FieldPositionIterator&) const;
00088 
00095     bool operator!=(const FieldPositionIterator& rhs) const { return !operator==(rhs); }
00096 
00102     UBool next(FieldPosition& fp);
00103 
00104 private:
00110     void setData(UVector32 *adopt, UErrorCode& status);
00111 
00112     friend class FieldPositionIteratorHandler;
00113 
00114     UVector32 *data;
00115     int32_t pos;
00116 };
00117 
00118 U_NAMESPACE_END
00119 
00120 #endif /* #if !UCONFIG_NO_FORMATTING */
00121 
00122 #endif /* U_SHOW_CPLUSPLUS_API */
00123 
00124 #endif // FPOSITER_H