Stxxl  1.3.1
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.
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: