view Allocator.h @ 212:9f349addbe00

Слияние
author Ritor1
date Sat, 16 Feb 2013 22:14:04 +0600
parents 9c0607679772
children
line wrap: on
line source

#pragma once


#pragma pack(push, 1)
struct Allocator
{
  static Allocator *Create() {static Allocator a; return &a;}

  Allocator();
  bool  Initialize(unsigned int uNumKBytes);
  void *AllocNamedChunk(const void *pPrevPtrValue, unsigned int uSize, const char *pName);
  void FreeChunk(void *ptr);
  bool CreateFileDump(const char *a1);

  void *pMemoryBuffers[6000];
  unsigned int uMemoryBuffersSizes[6000];
  char pMemoryBuffersNames[6000][12];
  unsigned int uDumpsCount;
  unsigned int uNumBuffersUsed;
  void *pBigMemoryBuffer;
  unsigned int uNextFreeOffsetInBigBuffer;
  unsigned int uBigBufferSizeAligned;
  unsigned int bBigBufferAllocated;
  unsigned int bUseBigBuffer;
  void *pBigBufferAligned;
};
#pragma pack(pop)



extern Allocator *pAllocator; // idb