00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00018 #ifndef LIBCWD_PRIVATE_SET_ALLOC_CHECKING_H
00019 #define LIBCWD_PRIVATE_SET_ALLOC_CHECKING_H
00020
00021 #ifndef LIBCWD_CONFIG_H
00022 #include <libcwd/config.h>
00023 #endif
00024 #ifndef LIBCWD_PRIVATE_STRUCT_TSD_H
00025 #include <libcwd/private_struct_TSD.h>
00026 #endif
00027
00028 namespace libcwd {
00029 namespace _private_ {
00030
00031 #if CWDEBUG_ALLOC
00032 #if CWDEBUG_DEBUGM
00033 extern void set_alloc_checking_off(LIBCWD_TSD_PARAM);
00034 extern void set_alloc_checking_on(LIBCWD_TSD_PARAM);
00035 extern int set_library_call_on(LIBCWD_TSD_PARAM);
00036 extern void set_library_call_off(int saved_internal LIBCWD_COMMA_TSD_PARAM);
00037 #else
00038 inline void set_alloc_checking_off(LIBCWD_TSD_PARAM) { ++__libcwd_tsd.internal; }
00039 inline void set_alloc_checking_on(LIBCWD_TSD_PARAM) { --__libcwd_tsd.internal; }
00040 inline int set_library_call_on(LIBCWD_TSD_PARAM)
00041 {
00042 int internal_saved = __libcwd_tsd.internal;
00043 __libcwd_tsd.internal = 0;
00044 ++__libcwd_tsd.library_call;
00045 return internal_saved;
00046 }
00047 inline void set_library_call_off(int saved_internal LIBCWD_COMMA_TSD_PARAM)
00048 {
00049 __libcwd_tsd.internal = saved_internal;
00050 --__libcwd_tsd.library_call;
00051 }
00052 #endif
00053 inline void set_invisible_on(LIBCWD_TSD_PARAM) { ++__libcwd_tsd.invisible; }
00054 inline void set_invisible_off(LIBCWD_TSD_PARAM) { --__libcwd_tsd.invisible; }
00055 #else // !CWDEBUG_ALLOC
00056 inline void set_alloc_checking_off(LIBCWD_TSD_PARAM_UNUSED) { }
00057 inline void set_alloc_checking_on(LIBCWD_TSD_PARAM_UNUSED) { }
00058 inline int set_library_call_on(LIBCWD_TSD_PARAM_UNUSED) { return 0; }
00059 inline void set_library_call_off(int LIBCWD_COMMA_TSD_PARAM_UNUSED) { }
00060 inline void set_invisible_on(LIBCWD_TSD_PARAM_UNUSED) { }
00061 inline void set_invisible_off(LIBCWD_TSD_PARAM_UNUSED) { }
00062 #endif // !CWDEBUG_ALLOC
00063
00064 }
00065 }
00066
00067 #endif // LIBCWD_PRIVATE_SET_ALLOC_CHECKING_H