00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef PARSEPOS_H
00017
#define PARSEPOS_H
00018
00019
#include "unicode/utypes.h"
00020
00021 U_NAMESPACE_BEGIN
00022
00039 class U_I18N_API ParsePosition {
00040
public:
00045 ParsePosition()
00046 { this->index = 0; this->errorIndex = -1; }
00047
00053 ParsePosition(int32_t newIndex)
00054 { this->index = newIndex; this->errorIndex = -1; }
00055
00061 ParsePosition(
const ParsePosition& copy)
00062 { this->index = copy.
index; this->errorIndex = copy.
errorIndex; }
00063
00068 ~ParsePosition() {}
00069
00074 ParsePosition& operator=(
const ParsePosition& copy);
00075
00081 UBool operator==(
const ParsePosition& that)
const;
00082
00088 UBool operator!=(
const ParsePosition& that)
const;
00089
00097 int32_t getIndex(
void) const;
00098
00104
void setIndex(int32_t index);
00105
00113
void setErrorIndex(int32_t ei);
00114
00120 int32_t getErrorIndex(
void) const;
00121
00122 private:
00129 int32_t index;
00130
00134 int32_t errorIndex;
00135 };
00136
00137 inline ParsePosition&
00138 ParsePosition::operator=(const ParsePosition& copy)
00139 {
00140 index = copy.index;
00141 errorIndex = copy.errorIndex;
00142
return *
this;
00143 }
00144
00145
inline UBool
00146 ParsePosition::operator==(
const ParsePosition& copy)
const
00147
{
00148
if(index != copy.
index || errorIndex != copy.
errorIndex)
00149
return FALSE;
00150
else
00151
return TRUE;
00152 }
00153
00154
inline UBool
00155 ParsePosition::operator!=(
const ParsePosition& copy)
const
00156
{
00157
return !
operator==(copy);
00158 }
00159
00160
inline int32_t
00161 ParsePosition::getIndex()
const
00162
{
00163
return index;
00164 }
00165
00166
inline void
00167 ParsePosition::setIndex(int32_t offset)
00168 {
00169 this->index = offset;
00170 }
00171
00172
inline int32_t
00173 ParsePosition::getErrorIndex()
const
00174
{
00175
return errorIndex;
00176 }
00177
00178
inline void
00179 ParsePosition::setErrorIndex(int32_t ei)
00180 {
00181 this->errorIndex = ei;
00182 }
00183 U_NAMESPACE_END
00184
00185
#endif