96 #define PER_OBJECT_DATA(_CLASS, _VALUE) \ 97 class 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_; } \ 112 PER_OBJECT_DATA(BoolPerObjectData,
bool );
113 PER_OBJECT_DATA(CharPerObjectData,
char );
114 PER_OBJECT_DATA(UCharPerObjectData,
unsigned char);
115 PER_OBJECT_DATA(IntPerObjectData,
int );
116 PER_OBJECT_DATA(UIntPerObjectData,
unsigned int );
117 PER_OBJECT_DATA(FloatPerObjectData,
float );
118 PER_OBJECT_DATA(DoublePerObjectData,
double );