2 // Origin: Steven Parkes <parkes@sierravista.com>
4 typedef __SIZE_TYPE__ size_t;
8 template <class T> class MetaClass;
12 struct MetaClassGeneric
14 MetaClassGeneric( TypeInfo& );
19 void (*constructor)( void* );
20 void initialize( void* );
27 static void initialize();
30 static void metaclassConstructor( void* );
34 TypeInfo TypeIDInit<T>::info =
36 TypeIDInit<T>::metaclassConstructor
41 TypeIDInit<T>::TypeIDInit()
43 info.initialize(storage);
47 class NameInfo : public MetaClassGeneric {
50 : MetaClassGeneric( TypeIDInit<T>::info ) {}
55 : public NameInfo<UUId>
60 inline void *operator new(size_t, void *place) throw() { return place; }
64 TypeIDInit<T>::metaclassConstructor( void* place )
66 new ( place ) MetaClass<T>;
69 template class TypeIDInit<UUId> ;