Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mem_push Class Reference

#include <mem_push.H>

Inheritance diagram for mem_push:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 mem_push (size_t datasize=sizeof(UGAgeneric))
virtual ~mem_push ()
STDbool is_empty () const
void remove_all ()

Protected Member Functions

void insert_top (UGAptr, size_t count=1)
void insert_bottom (const char *, size_t count=1)
size_t remove_top (UGAptr=NULL, size_t count=1)
size_t peek_top (UGAptr=NULL, size_t count=1) const
size_t count () const

Private Member Functions

void increase_mem (size_t)
void decrease_mem (size_t)
size_t block_index (size_t offset) const
size_t block_offset (size_t offset) const
size_t block_left (size_t offset) const
UGAptr block_addr (size_t offset) const

Private Attributes

UGAptrblocks
size_t num_blocks
size_t num_objects
size_t obj_size
size_t block_size
size_t top
size_t bottom

Detailed Description

Definition at line 38 of file mem_push.H.


Constructor & Destructor Documentation

mem_push::mem_push size_t  datasize = sizeof(UGAgeneric)  ) 
 

Definition at line 292 of file mem_push.C.

References block_size, blocks, bottom, MEM_PUSHDOWN_BLOCK_COUNT, num_blocks, num_objects, obj_size, and top.

mem_push::~mem_push  )  [virtual]
 

Definition at line 308 of file mem_push.C.

References blocks, and num_blocks.


Member Function Documentation

UGAptr mem_push::block_addr size_t  offset  )  const [inline, private]
 

Definition at line 71 of file mem_push.H.

References block_index(), block_offset(), and blocks.

Referenced by increase_mem(), insert_bottom(), insert_top(), and peek_top().

size_t mem_push::block_index size_t  offset  )  const [inline, private]
 

Definition at line 68 of file mem_push.H.

References block_size.

Referenced by block_addr(), and increase_mem().

size_t mem_push::block_left size_t  offset  )  const [inline, private]
 

Definition at line 70 of file mem_push.H.

References block_offset(), and block_size.

Referenced by increase_mem(), insert_bottom(), and peek_top().

size_t mem_push::block_offset size_t  offset  )  const [inline, private]
 

Definition at line 69 of file mem_push.H.

References block_size.

Referenced by block_addr(), block_left(), and insert_top().

size_t mem_push::count  )  const [inline, protected]
 

Reimplemented in STDmem_queue, STDmem_stack, and STDmem_dequeue.

Definition at line 62 of file mem_push.H.

References num_objects.

Referenced by STDmem_dequeue::count(), STDmem_stack::count(), STDmem_queue::count(), and remove_all().

void mem_push::decrease_mem size_t   )  [private]
 

Definition at line 114 of file mem_push.C.

References blocks, bottom, num_blocks, num_objects, and top.

Referenced by remove_top().

void mem_push::increase_mem size_t   )  [private]
 

Definition at line 47 of file mem_push.C.

References block_addr(), block_index(), block_left(), block_size, blocks, bottom, num_blocks, num_objects, obj_size, and top.

Referenced by insert_bottom(), and insert_top().

void mem_push::insert_bottom const char *  ,
size_t  count = 1
[protected]
 

Definition at line 184 of file mem_push.C.

References block_addr(), block_left(), bottom, increase_mem(), MIN, num_objects, and obj_size.

Referenced by STDmem_dequeue::put(), and STDmem_queue::put().

void mem_push::insert_top UGAptr  ,
size_t  count = 1
[protected]
 

Definition at line 142 of file mem_push.C.

References block_addr(), block_offset(), block_size, increase_mem(), MIN, num_blocks, num_objects, obj_size, and top.

Referenced by STDmem_dequeue::push(), and STDmem_stack::push().

STDbool mem_push::is_empty  )  const [inline]
 

Definition at line 43 of file mem_push.H.

References num_objects, STD_FALSE, and STD_TRUE.

size_t mem_push::peek_top UGAptr  = NULL,
size_t  count = 1
const [protected]
 

Definition at line 252 of file mem_push.C.

References block_addr(), block_left(), MIN, num_objects, obj_size, and top.

Referenced by STDmem_dequeue::peek(), STDmem_stack::peek(), STDmem_queue::peek(), and remove_top().

void mem_push::remove_all  )  [inline]
 

Definition at line 45 of file mem_push.H.

References count(), and remove_top().

Referenced by NetStream::interpret().

size_t mem_push::remove_top UGAptr  = NULL,
size_t  count = 1
[protected]
 

Definition at line 221 of file mem_push.C.

References decrease_mem(), MIN, num_objects, obj_size, peek_top(), and top.

Referenced by STDmem_queue::get(), STDmem_dequeue::pop(), STDmem_stack::pop(), and remove_all().


Member Data Documentation

size_t mem_push::block_size [private]
 

Definition at line 77 of file mem_push.H.

Referenced by block_index(), block_left(), block_offset(), increase_mem(), insert_top(), and mem_push().

UGAptr* mem_push::blocks [private]
 

Definition at line 74 of file mem_push.H.

Referenced by block_addr(), decrease_mem(), increase_mem(), mem_push(), and ~mem_push().

size_t mem_push::bottom [private]
 

Definition at line 78 of file mem_push.H.

Referenced by decrease_mem(), increase_mem(), insert_bottom(), and mem_push().

size_t mem_push::num_blocks [private]
 

Definition at line 75 of file mem_push.H.

Referenced by decrease_mem(), increase_mem(), insert_top(), mem_push(), and ~mem_push().

size_t mem_push::num_objects [private]
 

Definition at line 76 of file mem_push.H.

Referenced by count(), decrease_mem(), increase_mem(), insert_bottom(), insert_top(), is_empty(), mem_push(), peek_top(), and remove_top().

size_t mem_push::obj_size [private]
 

Definition at line 77 of file mem_push.H.

Referenced by increase_mem(), insert_bottom(), insert_top(), mem_push(), peek_top(), and remove_top().

size_t mem_push::top [private]
 

Definition at line 78 of file mem_push.H.

Referenced by decrease_mem(), increase_mem(), insert_top(), mem_push(), peek_top(), and remove_top().


The documentation for this class was generated from the following files:
Generated on Mon Sep 18 11:46:35 2006 for jot by  doxygen 1.4.4