65 #ifndef PEROBJECTDATA_HH
66 #define PEROBJECTDATA_HH
109 #define PER_OBJECT_DATA(_CLASS, _VALUE) \
110 class DLLEXPORT _CLASS : public PerObjectData { \
113 inline _CLASS() : data_( 0) { } \
114 inline _CLASS(const _VALUE& _x) : data_(_x) { } \
115 inline virtual ~_CLASS() { } \
116 inline virtual _CLASS* copyPerObjectData() { return new _CLASS(data_); } \
117 inline _VALUE& data() { return data_; } \
118 inline const _VALUE& data() const { return data_; } \
125 PER_OBJECT_DATA(BoolPerObjectData,
bool );
126 PER_OBJECT_DATA(CharPerObjectData,
char );
127 PER_OBJECT_DATA(UCharPerObjectData,
unsigned char);
128 PER_OBJECT_DATA(IntPerObjectData,
int );
129 PER_OBJECT_DATA(UIntPerObjectData,
unsigned int );
130 PER_OBJECT_DATA(FloatPerObjectData,
float );
131 PER_OBJECT_DATA(DoublePerObjectData,
double );
134 #endif // PEROBJECTDATA_HH defined