All pastes #155933 Raw Edit

Stuff

public cpp v1 · immutable
#155933 ·published 2006-08-31 13:05 UTC
rendered paste body
template <class T>class ParamObject {public:      void *parent;  virtual void ToFile ( FILE *dest ) {    fwrite ( (char*)this - sizeof(T), sizeof(T),1, dest );  }};#define PARAM(TYPE,NAME) union { TYPE NAME; struct { TYPE NAME##alias; ParamObject<TYPE> NAME##object; }; };class AClass {public:  int a,b;};{ TYPE NAME##alias; ParamObject<TYPE> NAME##object; }; };void test ( ) {  struct {    PARAM(float,time);    PARAM(float,time2);    PARAM(AClass,time3);  }s;    s.time = 23.0f;  s.timeobject.ToFile ( 0 );  s.time3.a = 3;  s.time2 += s.time;  s.time3object.ToFile ( 0 );}