Files
Work/as68hc11/backup/PSYMBOLC.HPP
2024-08-07 09:12:07 -04:00

71 lines
1.6 KiB
C++

#ifndef _AS68HC11_PARSESYMBOLCOUNT_HPP_
#define _AS68HC11_PARSESYMBOLCOUNT_HPP_
#ifndef _AS68HC11_PSYMBOL_HPP_
#include <as68hc11/psymbol.hpp>
#endif
class ParseSymbolCount : public ParseSymbol
{
public:
ParseSymbolCount(Scan::ScanSymbols symbol);
ParseSymbolCount(const ParseSymbolCount &someParseSymbolCount);
ParseSymbolCount(const ParseSymbol &someParseSymbol);
virtual ~ParseSymbolCount();
ParseSymbolCount &operator=(const ParseSymbolCount &someParseSymbolCount);
BOOL operator<(const ParseSymbolCount &someParseSymbolCount)const;
DWORD refCount(void)const;
void refCount(DWORD refCount);
private:
DWORD mRefCount;
};
inline
ParseSymbolCount::ParseSymbolCount(Scan::ScanSymbols symbol)
: ParseSymbol(symbol)
{
}
inline
ParseSymbolCount::ParseSymbolCount(const ParseSymbolCount &someParseSymbolCount)
: ParseSymbol((ParseSymbol&)someParseSymbolCount)
{
*this=someParseSymbolCount;
}
inline
ParseSymbolCount::ParseSymbolCount(const ParseSymbol &someParseSymbol)
: ParseSymbol(someParseSymbol), mRefCount(0)
{
}
inline
ParseSymbolCount::~ParseSymbolCount()
{
}
inline
ParseSymbolCount &ParseSymbolCount::operator=(const ParseSymbolCount &someParseSymbolCount)
{
(ParseSymbol&)*this=(ParseSymbol&)someParseSymbolCount;
refCount(someParseSymbolCount.refCount());
return *this;
}
inline
BOOL ParseSymbolCount::operator<(const ParseSymbolCount &someParseSymbolCount)const
{
return value()<someParseSymbolCount.value();
}
inline
DWORD ParseSymbolCount::refCount(void)const
{
return mRefCount;
}
inline
void ParseSymbolCount::refCount(DWORD refCount)
{
mRefCount=refCount;
}
#endif