ICU 4.4.2 4.4.2
|
00001 /* 00002 ******************************************************************************** 00003 * Copyright (C) 2010, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 ******************************************************************************** 00006 * 00007 * File attiter.h 00008 * 00009 * Modification History: 00010 * 00011 * Date Name Description 00012 * 12/15/2009 dougfelt Created 00013 ******************************************************************************** 00014 */ 00015 00016 #ifndef FPOSITER_H 00017 #define FPOSITER_H 00018 00019 #include "unicode/utypes.h" 00020 #include "unicode/uobject.h" 00021 00027 #if UCONFIG_NO_FORMATTING 00028 00029 U_NAMESPACE_BEGIN 00030 00031 /* 00032 * Allow the declaration of APIs with pointers to FieldPositionIterator 00033 * even when formatting is removed from the build. 00034 */ 00035 class FieldPositionIterator; 00036 00037 U_NAMESPACE_END 00038 00039 #else 00040 00041 #include "unicode/fieldpos.h" 00042 #include "unicode/umisc.h" 00043 00044 U_NAMESPACE_BEGIN 00045 00046 class UVector32; 00047 00053 class U_I18N_API FieldPositionIterator : public UObject { 00054 public: 00059 ~FieldPositionIterator(); 00060 00065 FieldPositionIterator(void); 00066 00072 FieldPositionIterator(const FieldPositionIterator&); 00073 00082 UBool operator==(const FieldPositionIterator&) const; 00083 00090 UBool operator!=(const FieldPositionIterator& rhs) const { return !operator==(rhs); } 00091 00097 UBool next(FieldPosition& fp); 00098 00103 static UClassID U_EXPORT2 getStaticClassID(); 00104 00109 virtual UClassID getDynamicClassID() const; 00110 00111 private: 00112 friend class FieldPositionIteratorHandler; 00113 00119 void setData(UVector32 *adopt, UErrorCode& status); 00120 00121 UVector32 *data; 00122 int32_t pos; 00123 }; 00124 00125 U_NAMESPACE_END 00126 00127 #endif /* #if !UCONFIG_NO_FORMATTING */ 00128 00129 #endif // FPOSITER_H