ICU 4.8.1.1  4.8.1.1
parsepos.h
Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved.
00003 *******************************************************************************
00004 *
00005 * File PARSEPOS.H
00006 *
00007 * Modification History:
00008 *
00009 *   Date        Name        Description
00010 *   07/09/97    helena      Converted from java.
00011 *   07/17/98    stephen     Added errorIndex support.
00012 *   05/11/99    stephen     Cleaned up.
00013 *******************************************************************************
00014 */
00015 
00016 #ifndef PARSEPOS_H
00017 #define PARSEPOS_H
00018 
00019 #include "unicode/utypes.h"
00020 #include "unicode/uobject.h"
00021 
00022  
00023 U_NAMESPACE_BEGIN
00024 
00047 class U_COMMON_API ParsePosition : public UObject {
00048 public:
00053     ParsePosition()
00054         : UObject(),
00055         index(0),
00056         errorIndex(-1)
00057       {}
00058 
00064     ParsePosition(int32_t newIndex)
00065         : UObject(),
00066         index(newIndex),
00067         errorIndex(-1)
00068       {}
00069 
00075     ParsePosition(const ParsePosition& copy)
00076         : UObject(copy),
00077         index(copy.index),
00078         errorIndex(copy.errorIndex)
00079       {}
00080 
00085     virtual ~ParsePosition();
00086 
00091     ParsePosition&      operator=(const ParsePosition& copy);
00092 
00098     UBool              operator==(const ParsePosition& that) const;
00099 
00105     UBool              operator!=(const ParsePosition& that) const;
00106 
00118     ParsePosition *clone() const;
00119 
00127     int32_t getIndex(void) const;
00128 
00134     void setIndex(int32_t index);
00135 
00143     void setErrorIndex(int32_t ei);
00144 
00150     int32_t getErrorIndex(void) const;
00151 
00157     static UClassID U_EXPORT2 getStaticClassID();
00158 
00164     virtual UClassID getDynamicClassID() const;
00165 
00166 private:
00173     int32_t index;
00174 
00178     int32_t errorIndex;
00179 
00180 };
00181 
00182 inline ParsePosition&
00183 ParsePosition::operator=(const ParsePosition& copy)
00184 {
00185   index = copy.index;
00186   errorIndex = copy.errorIndex;
00187   return *this;
00188 }
00189 
00190 inline UBool
00191 ParsePosition::operator==(const ParsePosition& copy) const
00192 {
00193   if(index != copy.index || errorIndex != copy.errorIndex)
00194   return FALSE;
00195   else
00196   return TRUE;
00197 }
00198 
00199 inline UBool
00200 ParsePosition::operator!=(const ParsePosition& copy) const
00201 {
00202   return !operator==(copy);
00203 }
00204 
00205 inline int32_t
00206 ParsePosition::getIndex() const
00207 {
00208   return index;
00209 }
00210 
00211 inline void
00212 ParsePosition::setIndex(int32_t offset)
00213 {
00214   this->index = offset;
00215 }
00216 
00217 inline int32_t
00218 ParsePosition::getErrorIndex() const
00219 {
00220   return errorIndex;
00221 }
00222 
00223 inline void
00224 ParsePosition::setErrorIndex(int32_t ei)
00225 {
00226   this->errorIndex = ei;
00227 }
00228 U_NAMESPACE_END
00229 
00230 #endif
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines