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

Efficient implementation that uses prefetching and overlapping using internal buffers. 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 (grow_shrink_stack &obj)
 
template<class stack_type >
 grow_shrink_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 grow_shrink_stack< Config_ >

Efficient implementation that uses prefetching and overlapping using internal buffers.

Use it if your access pattern consists of many repeated push'es and pop's For semantics of the methods see documentation of the STL std::stack.

Warning
The amortized complexity of operation is not O(1/DB), rather O(DB)

Constructor & Destructor Documentation

template<class Config_ >
template<class stack_type >
grow_shrink_stack< Config_ >::grow_shrink_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: