#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTObject.h" #include "STDDeletable.h" #define TKEY_DECL_VIRT(Type) \ #define TKEY_DECL_NONVIRT(Type) \ Type##_p Type##_newTKey ( const char* name, const char* title, TClass_p cl, int nbytes, TDirectory_p motherDir ); #define TKEY_DECL_ACCESSOR(Type) \ #define TKEY_DEF_VIRT(Type) \ #define TKEY_DEF_NONVIRT(Type) \ Type##_p Type##_newTKey ( const char* name, const char* title, TClass_p cl, int nbytes, TDirectory_p motherDir ) {\ Type* newp=new Type(name, title, from_nonconst_to_nonconst(cl), nbytes, from_nonconst_to_nonconst(motherDir));return from_nonconst_to_nonconst(newp);\ } #define TKEY_DEF_ACCESSOR(Type) \ TNAMED_DECL_VIRT(TKey) TOBJECT_DECL_VIRT(TKey) DELETABLE_DECL_VIRT(TKey) TKEY_DECL_VIRT(TKey) TKEY_DECL_NONVIRT(TKey) TKEY_DECL_ACCESSOR(TKey) #ifdef __cplusplus } #endif