Classes | Public Types | Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends
vnl_alloc Class Reference

#include <vnl_alloc.h>

List of all members.

Classes

class  lock
union  obj

Public Types

typedef char value_type

Static Public Member Functions

static void * allocate (vcl_size_t n)
static void deallocate (void *p, vcl_size_t n)
static void * reallocate (void *p, vcl_size_t old_sz, vcl_size_t new_sz)

Static Private Member Functions

static vcl_size_t ROUND_UP (vcl_size_t bytes)
static vcl_size_t FREELIST_INDEX (vcl_size_t bytes)
static void * refill (vcl_size_t n)
static char * chunk_alloc (vcl_size_t size, int &nobjs)

Static Private Attributes

static objfree_list [VNL_ALLOC_NFREELISTS]
static char * start_free = 0
static char * end_free = 0
static vcl_size_t heap_size = 0

Friends

union obj
class lock

Detailed Description

Definition at line 43 of file vnl_alloc.h.


Member Typedef Documentation

typedef char vnl_alloc::value_type

Definition at line 85 of file vnl_alloc.h.


Member Function Documentation

static void* vnl_alloc::allocate ( vcl_size_t  n) [inline, static]

Definition at line 88 of file vnl_alloc.h.

char * vnl_alloc::chunk_alloc ( vcl_size_t  size,
int &  nobjs 
) [static, private]

Definition at line 12 of file vnl_alloc.cxx.

static void vnl_alloc::deallocate ( void *  p,
vcl_size_t  n 
) [inline, static]

Definition at line 109 of file vnl_alloc.h.

static vcl_size_t vnl_alloc::FREELIST_INDEX ( vcl_size_t  bytes) [inline, static, private]

Definition at line 60 of file vnl_alloc.h.

void * vnl_alloc::reallocate ( void *  p,
vcl_size_t  old_sz,
vcl_size_t  new_sz 
) [static]

Definition at line 105 of file vnl_alloc.cxx.

void * vnl_alloc::refill ( vcl_size_t  n) [static, private]

Definition at line 75 of file vnl_alloc.cxx.

static vcl_size_t vnl_alloc::ROUND_UP ( vcl_size_t  bytes) [inline, static, private]

Definition at line 45 of file vnl_alloc.h.


Friends And Related Function Documentation

friend class lock [friend]

Definition at line 81 of file vnl_alloc.h.

friend union obj [friend]

Definition at line 48 of file vnl_alloc.h.


Member Data Documentation

char * vnl_alloc::end_free = 0 [static, private]

Definition at line 72 of file vnl_alloc.h.

vnl_alloc::obj * vnl_alloc::free_list [static, private]
Initial value:
{
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}

Definition at line 58 of file vnl_alloc.h.

vcl_size_t vnl_alloc::heap_size = 0 [static, private]

Definition at line 73 of file vnl_alloc.h.

char * vnl_alloc::start_free = 0 [static, private]

Definition at line 71 of file vnl_alloc.h.


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