Public Types | Public Member Functions

normal_stack< Config_ > Class Template Reference
[Internals]

External stack container. More...

#include <stack.h>

Inherits noncopyable.

List of all members.

Public Types

enum  { blocks_per_page = cfg::blocks_per_page, block_size = cfg::block_size }
typedef Config_ cfg
typedef cfg::value_type value_type
typedef cfg::alloc_strategy alloc_strategy_type
typedef cfg::size_type size_type
typedef typed_block
< block_size, value_type > 
block_type
typedef BID< block_size > bid_type

Public Member Functions

void swap (normal_stack &obj)
template<class stack_type >
 normal_stack (const stack_type &stack_)
 Construction from a stack.
size_type size () const
bool empty () const
value_type & top ()
const value_type & top () const
void push (const value_type &val)
void pop ()

Detailed Description

template<class Config_>
class normal_stack< Config_ >

External stack container.

Conservative implementation. Fits best if your access pattern consists of irregularly mixed push'es and pop's. For semantics of the methods see documentation of the STL std::stack.
To gain full bandwidth of disks Config_::BlocksPerPage must >= number of disks

For internal use only.


Constructor & Destructor Documentation

template<class Config_ >
template<class stack_type >
normal_stack< Config_ >::normal_stack ( const stack_type &  stack_  )  [inline]

Construction from a stack.

Parameters:
stack_ stack object (could be external or internal, important is that it must have a copy constructor, top() and pop() methods )

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