blob: e182006335b063f780c5b27ef3e34ec80582c43d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// File: NCollection_HeapAllocator.hxx
// Created: 30.12.09 00:33
// Author: Alexander GRIGORIEV
// Copyright: Open Cascade 2009
#ifndef NCollection_HeapAllocator_HeaderFile
#define NCollection_HeapAllocator_HeaderFile
#include <NCollection_BaseAllocator.hxx>
class Handle_NCollection_HeapAllocator;
/**
* Allocator that uses the global dynamic heap (malloc / free).
*/
class NCollection_HeapAllocator : public NCollection_BaseAllocator
{
public:
// ---------- PUBLIC METHODS ----------
Standard_EXPORT virtual void* Allocate (const Standard_Size theSize);
Standard_EXPORT virtual void Free (void * anAddress);
Standard_EXPORT static const Handle_NCollection_HeapAllocator&
GlobalHeapAllocator();
protected:
//! Constructor - prohibited
NCollection_HeapAllocator(void) {};
private:
//! Copy constructor - prohibited
NCollection_HeapAllocator(const NCollection_HeapAllocator&);
public:
// Declaration of CASCADE RTTI
DEFINE_STANDARD_RTTI (NCollection_HeapAllocator)
};
// Definition of HANDLE object using Standard_DefineHandle.hxx
DEFINE_STANDARD_HANDLE (NCollection_HeapAllocator, NCollection_BaseAllocator)
#endif
|