ICU 4.8.1.1
4.8.1.1
|
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 00099 private: 00100 friend class FieldPositionIteratorHandler; 00101 00107 void setData(UVector32 *adopt, UErrorCode& status); 00108 00109 UVector32 *data; 00110 int32_t pos; 00111 00112 // No ICU "poor man's RTTI" for this class nor its subclasses. 00113 virtual UClassID getDynamicClassID() const; 00114 }; 00115 00116 U_NAMESPACE_END 00117 00118 #endif /* #if !UCONFIG_NO_FORMATTING */ 00119 00120 #endif // FPOSITER_H