#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTVirtualMutex.h" #include "STDDeletable.h" #define TMUTEX_DECL_VIRT(Type) \ #define TMUTEX_DECL_NONVIRT(Type) \ Type##_p Type##_newTMutex ( bool recursive ); #define TMUTEX_DECL_ACCESSOR(Type) \ #define TMUTEX_DEF_VIRT(Type) \ #define TMUTEX_DEF_NONVIRT(Type) \ Type##_p Type##_newTMutex ( bool recursive ) {\ Type* newp=new Type(recursive);return from_nonconst_to_nonconst(newp);\ } #define TMUTEX_DEF_ACCESSOR(Type) \ TVIRTUALMUTEX_DECL_VIRT(TMutex) DELETABLE_DECL_VIRT(TMutex) TMUTEX_DECL_VIRT(TMutex) TMUTEX_DECL_NONVIRT(TMutex) TMUTEX_DECL_ACCESSOR(TMutex) #ifdef __cplusplus } #endif