Stxxl  1.3.2
Public Types | Public Member Functions | List of all members
normal_stack< Config_ > Class Template Reference

External stack container. More...

#include <stack.h>

Inherits noncopyable.

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. More...
 
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

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: