Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

linux/Y/GMem.h

00001 /*hdr
00002 **  FILE:           Memory.h
00003 **  AUTHOR:         Matthew Allen
00004 **  DATE:           30/11/93
00005 **  DESCRIPTION:    Memory subsystem header
00006 **
00007 **
00008 **  Copyright (C) 1995, Matthew Allen
00009 **      fret@memecode.com
00010 */
00011 
00012 #ifndef __MEMORY_H
00013 #define __MEMORY_H
00014 
00015 #include <string.h>
00016 #include "LgiDefs.h"
00017 #include "LgiOsDefs.h"
00018 
00019 // #define MEMORY_DEBUG
00020 LgiFunc int LgiCheckHeap();
00021 LgiFunc bool LgiCanReadMemory(void *p, int Len = 1);
00022 extern void MemorySizeToStr(char *Str, uint Size);
00023 
00024 #ifdef MEMORY_DEBUG
00025 
00026     LgiFunc void LgiDumpHeapInfo();
00027 
00028     LgiFunc char                *_vmem_file;
00029     LgiFunc int                 _vmem_line;
00030 
00031     void *operator              new(unsigned size, char *file, int line);
00032     void *operator              new[](unsigned size, char *file, int line);
00033     void operator               delete(void *p);
00034     void operator               delete [] (void *p);
00035 
00036     #define NEW(obj)            new(__FILE__, __LINE__) obj
00037     #define DeleteObj(obj)      if (obj) { _vmem_file = __FILE__; _vmem_line = __LINE__; delete obj; obj = 0; }
00038     #define DeleteArray(obj)    if (obj) { _vmem_file = __FILE__; _vmem_line = __LINE__; delete [] obj ; obj = 0; }
00039 
00040 #else
00041 
00042     // Defined in LgiDefs.h
00043 
00044 #endif
00045 
00046 #endif

Generated on Wed Oct 26 14:46:49 2005 for Lgi by  doxygen 1.4.1