Share via


CCRTHeap Class

 

The latest version of this topic can be found at CCRTHeap Class.

This class implements IAtlMemMgr using the CRT heap functions.

Syntax

class CCRTHeap : public IAtlMemMgr

Members

Public Methods

Name Description
CCRTHeap::Allocate Call this method to allocate a block of memory.
CCRTHeap::Free Call this method to free a block of memory allocated by this memory manager.
CCRTHeap::GetSize Call this method to get the allocated size of a memory block allocated by this memory manager.
CCRTHeap::Reallocate Call this method to reallocate memory allocated by this memory manager.

Remarks

CCRTHeap implements memory allocation functions using the CRT heap functions, including malloc, free, realloc, and _msize.

Example

See the example for IAtlMemMgr.

Inheritance Hierarchy

IAtlMemMgr

CCRTHeap

Requirements

Header: atlmem.h

CCRTHeap::Allocate

Call this method to allocate a block of memory.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parameters

nBytes
The requested number of bytes in the new memory block.

Return Value

Returns a pointer to the start of the newly allocated memory block.

Remarks

Call CCRTHeap::Free or CCRTHeap::Reallocate to free the memory allocated by this method.

Implemented using malloc.

CCRTHeap::Free

Call this method to free a block of memory allocated by this memory manager.

virtual void Free(void* p) throw();

Parameters

p
Pointer to memory previously allocated by this memory manager. NULL is a valid value and does nothing.

Remarks

Implemented using free.

CCRTHeap::GetSize

Call this method to get the allocated size of a memory block allocated by this memory manager.

virtual size_t GetSize(void* p) throw();

Parameters

p
Pointer to memory previously allocated by this memory manager.

Return Value

Returns the size of the allocated memory block in bytes.

Remarks

Implemented using _msize.

CCRTHeap::Reallocate

Call this method to reallocate memory allocated by this memory manager.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parameters

p
Pointer to memory previously allocated by this memory manager.

nBytes
The requested number of bytes in the new memory block.

Return Value

Returns a pointer to the start of the newly allocated memory block.

Remarks

Call CCRTHeap::Free to free the memory allocated by this method. Implemented using realloc.

See Also

Class Overview
CComHeap Class
CWin32Heap Class
CLocalHeap Class
CGlobalHeap Class
IAtlMemMgr Class