126 lines
2.3 KiB
C++
126 lines
2.3 KiB
C++
#ifndef _HTTP_SYMBOL_HPP_
|
|
#define _HTTP_SYMBOL_HPP_
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
|
|
class Symbol
|
|
{
|
|
public:
|
|
enum SymbolType{AssignedSymbol,ConstantSymbol,SystemSymbol,
|
|
CommandSymbol,UserSymbol,UnknownSymbol};
|
|
Symbol(void);
|
|
Symbol(const Symbol &someSymbol);
|
|
Symbol(const String &symbolString,int identifier,SymbolType symbolType);
|
|
virtual ~Symbol();
|
|
Symbol &operator=(const Symbol &someSymbol);
|
|
int operator==(const Symbol &someSymbol)const;
|
|
int operator==(const String &symbolString)const;
|
|
String symbolName(void)const;
|
|
void symbolName(const String &symbolName);
|
|
int identifier(void)const;
|
|
void identifier(int identifier);
|
|
SymbolType symbolType(void)const;
|
|
void symbolType(SymbolType symbolType);
|
|
void symbolValue(double symbolValue);
|
|
double symbolValue(void)const;
|
|
private:
|
|
String mSymbolName;
|
|
int mIdentifier;
|
|
SymbolType mSymbolType;
|
|
double mSymbolValue;
|
|
};
|
|
|
|
inline
|
|
Symbol::Symbol(void)
|
|
: mIdentifier(0), mSymbolType(UnknownSymbol), mSymbolValue(0.00)
|
|
{
|
|
}
|
|
|
|
inline
|
|
Symbol::Symbol(const Symbol &someSymbol)
|
|
{
|
|
*this=someSymbol;
|
|
}
|
|
|
|
inline
|
|
Symbol::Symbol(const String &symbolString,int identifier,SymbolType symbolType)
|
|
: mSymbolName(symbolString), mSymbolType(symbolType), mIdentifier(identifier)
|
|
{
|
|
}
|
|
|
|
inline
|
|
Symbol::~Symbol()
|
|
{
|
|
}
|
|
|
|
inline
|
|
int Symbol::operator==(const Symbol &someSymbol)const
|
|
{
|
|
return (mSymbolName==someSymbol.mSymbolName);
|
|
}
|
|
|
|
inline
|
|
int Symbol::operator==(const String &symbolName)const
|
|
{
|
|
return (mSymbolName==symbolName);
|
|
}
|
|
|
|
inline
|
|
Symbol &Symbol::operator=(const Symbol &someSymbol)
|
|
{
|
|
symbolName(someSymbol.symbolName());
|
|
identifier(someSymbol.identifier());
|
|
symbolType(someSymbol.symbolType());
|
|
symbolValue(someSymbol.symbolValue());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
String Symbol::symbolName(void)const
|
|
{
|
|
return mSymbolName;
|
|
}
|
|
|
|
inline
|
|
void Symbol::symbolName(const String &symbolName)
|
|
{
|
|
mSymbolName=symbolName;
|
|
}
|
|
|
|
inline
|
|
Symbol::SymbolType Symbol::symbolType(void)const
|
|
{
|
|
return mSymbolType;
|
|
}
|
|
|
|
inline
|
|
void Symbol::symbolType(SymbolType symbolType)
|
|
{
|
|
mSymbolType=symbolType;
|
|
}
|
|
|
|
inline
|
|
int Symbol::identifier(void)const
|
|
{
|
|
return mIdentifier;
|
|
}
|
|
|
|
inline
|
|
void Symbol::identifier(int identifier)
|
|
{
|
|
mIdentifier=identifier;
|
|
}
|
|
|
|
inline
|
|
void Symbol::symbolValue(double symbolValue)
|
|
{
|
|
mSymbolValue=symbolValue;
|
|
}
|
|
|
|
inline
|
|
double Symbol::symbolValue(void)const
|
|
{
|
|
return mSymbolValue;
|
|
}
|
|
#endif |