#ifndef _AS68HC11_CODEPOINTER_HPP_ #define _AS68HC11_CODEPOINTER_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif class CodePointer { public: CodePointer(void); CodePointer(const CodePointer &someCodePointer); CodePointer(DWORD origin,DWORD position); virtual ~CodePointer(); CodePointer &operator=(const CodePointer &someCodePointer); BOOL operator==(const CodePointer &someCodePointer)const; CodePointer &operator++(void); CodePointer &operator++(int postFixDummy); CodePointer &operator+=(DWORD value); CodePointer &operator-=(DWORD value); DWORD origin(void)const; void origin(DWORD origin); DWORD position(void)const; void position(DWORD position); void reset(void); private: DWORD mOrigin; DWORD mPosition; }; inline CodePointer::CodePointer(void) : mOrigin(0), mPosition(0) { } inline CodePointer::CodePointer(DWORD origin,DWORD position) : mOrigin(origin), mPosition(position) { } inline CodePointer::CodePointer(const CodePointer &someCodePointer) { *this=someCodePointer; } inline CodePointer::~CodePointer() { } inline CodePointer &CodePointer::operator=(const CodePointer &someCodePointer) { origin(someCodePointer.origin()); position(someCodePointer.position()); return *this; } inline BOOL CodePointer::operator==(const CodePointer &someCodePointer)const { return (origin()==someCodePointer.origin()&&position()==someCodePointer.position()); } inline CodePointer &CodePointer::operator++(void) { position(position()+1); return *this; } inline CodePointer &CodePointer::operator++(int postfixDummy) { return operator++(); } inline CodePointer &CodePointer::operator+=(DWORD value) { position(position()+value); return *this; } inline CodePointer &CodePointer::operator-=(DWORD value) { position(position()-value); return *this; } inline DWORD CodePointer::origin(void)const { return mOrigin; } inline void CodePointer::origin(DWORD origin) { mOrigin=origin; position(origin); } inline DWORD CodePointer::position(void)const { return mPosition; } inline void CodePointer::position(DWORD position) { mPosition=position; } inline void CodePointer::reset(void) { origin(0); position(0); } #endif