rutz::free_list_base Class Reference

Un-typesafe base class for maintaining a free-list memory pool. More...

#include <rutz/freelist.h>

Collaboration diagram for rutz::free_list_base:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 free_list_base (std::size_t size_check)
 Construct an (empty) free list.
void * allocate (std::size_t bytes)
 Allocate space for a new object.
void deallocate (void *space)
 Return an object to the free list.
void release_free_nodes ()
 Release all nodes currently on the free list (e.g. to conserve memory).
std::size_t alloc_size () const
 Query the chunk size that this freelist is for.
std::size_t num_allocations () const
 Query how many allocations have been made.

Classes

struct  node
 Free-node class for free-list memory pools.


Detailed Description

Un-typesafe base class for maintaining a free-list memory pool.

Definition at line 46 of file freelist.h.


Constructor & Destructor Documentation

GVX_DBG_REGISTER rutz::free_list_base::free_list_base ( std::size_t  size_check  ) 

Construct an (empty) free list.

All objects from this list must be of size size_check.

Definition at line 42 of file freelist.cc.


Member Function Documentation

void * rutz::free_list_base::allocate ( std::size_t  bytes  ) 

Allocate space for a new object.

If there are chunks available in the free list, one of those is returned; otherwise new memory is allocated with malloc() or equivalent.

Definition at line 48 of file freelist.cc.


The documentation for this class was generated from the following files:

The software described here is Copyright (c) 1998-2005, Rob Peters.
This page was generated Wed Dec 3 06:56:34 2008 by Doxygen version 1.5.5.