00001 // $Id: Lea.h,v 1.3 2001/03/15 08:26:08 west Exp $ 00002 00003 #ifndef LEA_H 00004 #define LEA_H 00005 00007 // Lea // 00008 // // 00009 // Package: Lea (Leak Checker). // 00010 // // 00011 // Purpose: Lea consists entirely of static data and member functions 00012 // used for package debugging. 00013 // 00014 // General Remarks about Lea 00015 // ========================= 00016 // 00017 // The Lea package is a very simple leak checker for identifying 00018 // and locating memory leaks. It requires that all checked 00019 // classes have explicit ctors and dtors, i.e. no compiler generated 00020 // ones, and that each includes a leak checker macro. 00021 // 00022 // Current Implementation 00023 // ====================== 00024 // 00025 // To be supplied. 00026 // 00027 // Program Notes:- 00028 // ============= 00029 // 00030 // There is no associated Lea.cxx; this header is only used to define 00031 // the Leak Checker macros. It will NOT compile in CINT as CINT 00032 // does not suport the construct:- 00033 // 00034 // LEA_CTOR_NM(__FILE__) 00035 // // 00036 // N. West 06/00 // 00038 00039 #include "LeakChecker/LeaLeakChecker.h" 00040 00041 // Macros to use the Leak Checker. Only use if wanted and 00042 // not generating ROOT code (CINT cannot handle __FILE__) 00043 // 00044 #ifdef LEAK_CHECKER 00045 #ifndef __CINT__ 00046 #define USE_LEAK_CHECKER 00047 #endif 00048 #endif 00049 00050 #ifdef USE_LEAK_CHECKER 00051 00052 #include "LeakChecker/LeaMacro.h" 00053 00054 #else //LEAK_CHECKER 00055 00056 #define LEA_CTOR_NM(n,a) 00057 #define LEA_DTOR_NM(n,a) 00058 #define LEA_CTOR 00059 #define LEA_DTOR 00060 00061 #endif //USE_LEAK_CHECKER 00062 #undef USE_LEAK_CHECKER 00063 00064 #endif // LEA_H