96#define PER_OBJECT_DATA(_CLASS, _VALUE) \
97class DLLEXPORT _CLASS : public PerObjectData { \
100 inline _CLASS() : data_( 0) { } \
101 inline explicit _CLASS(const _VALUE& _x) : data_(_x) { } \
102 inline virtual ~_CLASS() { } \
103 inline virtual _CLASS* copyPerObjectData() override { return new _CLASS(data_); } \
104 inline _VALUE& data() { return data_; } \
105 inline const _VALUE& data() const { return data_; } \
112PER_OBJECT_DATA(BoolPerObjectData,
bool );
113PER_OBJECT_DATA(CharPerObjectData,
char );
114PER_OBJECT_DATA(UCharPerObjectData,
unsigned char);
115PER_OBJECT_DATA(IntPerObjectData,
int );
116PER_OBJECT_DATA(UIntPerObjectData,
unsigned int );
117PER_OBJECT_DATA(FloatPerObjectData,
float );
118PER_OBJECT_DATA(DoublePerObjectData,
double );