ICU 4.8.1.1  4.8.1.1
fpositer.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines