00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025
#ifndef OMF_PRIMITIVE_HPP 00026
#define OMF_PRIMITIVE_HPP 00027
00028 00029
#include 00030
#include 00031
#include 00032 00033 00034
#include 00035 00036 00037
#include 00038 00039
namespace OMF 00040 {
00051 class Primitive :
public Object 00052 { 00053
protected: 00054
Primitive(
const std::string &mc); 00055
Primitive(
const std::string &mc,
const Primitive &value); 00056
Primitive(
const std::string &mc,
const std::string &value); 00057 00058
public: 00059
virtual ~Primitive(); 00060 00061
const Primitive &
operator =(
const Primitive &value); 00062
const Primitive &
operator =(
const std::string &value); 00063 00064
operator const std::string &()
const; 00065
operator const char *()
const; 00066 00067
bool empty()
const; 00068 00069
void clear(); 00070 00074
const std::string &
str()
const; 00075 00087
virtual unsigned hashCode()
const; 00088 00089
protected:
00090 bool _empty;
00091 std::string
_value; 00092 }; 00093 }; 00094 00095
#endif