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

ost::StackPager Class Reference

The StackPager provides a repository to stash and retrieve working data in last-in-first-out order.last in first out object pager. More...

#include <misc.h>

Inheritance diagram for ost::StackPager:

ost::MemPager List of all members.

Public Member Functions

 StackPager (size_t pagesize)
 Create a lifo pager as a mempager.
void * push (const void *object, size_t size)
 Push an arbitrary object onto the stack.
void * push (const char *string)
 Push a string onto the stack.
void * pull (void)
 Retrieve next object from stack.
void purge (void)
 Purge the stack of all objects and memory allocations.

Classes

struct  frame

Detailed Description

The StackPager provides a repository to stash and retrieve working data in last-in-first-out order.last in first out object pager.

The use of a mempager to support it's operation allows storage of arbitrary sized objects with no fixed limit.

Author:
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

ost::StackPager::StackPager size_t  pagesize  ) 
 

Create a lifo pager as a mempager.

Parameters:
pagesize for memory allocation


Member Function Documentation

void* ost::StackPager::pull void   ) 
 

Retrieve next object from stack.

Returns:
object.

void ost::StackPager::purge void   ) 
 

Purge the stack of all objects and memory allocations.

Reimplemented from ost::MemPager.

void* ost::StackPager::push const char *  string  ) 
 

Push a string onto the stack.

Returns:
stack memory location.
Parameters:
string pointer.

void* ost::StackPager::push const void *  object,
size_t  size
 

Push an arbitrary object onto the stack.

Returns:
stack memory location.
Parameters:
object pointer to data
size of data.


The documentation for this class was generated from the following file:
Generated on Fri Dec 9 22:36:25 2005 for GNU CommonC++ by  doxygen 1.4.4