Stxxl
1.4.0
|
A stack that migrates from internal memory to external when its size exceeds a certain threshold. More...
#include <stack.h>
Public Types | |
enum | { blocks_per_page = cfg::blocks_per_page, block_size = cfg::block_size } |
typedef ExternalStack::cfg | cfg |
typedef cfg::value_type | value_type |
typedef cfg::size_type | size_type |
typedef InternalStack | int_stack_type |
typedef ExternalStack | ext_stack_type |
Public Member Functions | |
migrating_stack () | |
void | swap (migrating_stack &obj) |
bool | internal () const |
Returns true if current implementation is internal, otherwise false. | |
bool | external () const |
Returns true if current implementation is external, otherwise false. | |
bool | empty () const |
size_type | size () const |
value_type & | top () |
const value_type & | top () const |
void | push (const value_type &val) |
void | pop () |
virtual | ~migrating_stack () |
Private Types | |
enum | { critical_size = CritSize } |
Private Member Functions | |
template<class stack_type > | |
migrating_stack (const stack_type &stack_) | |
Private Attributes | |
int_stack_type * | int_impl |
ext_stack_type * | ext_impl |
A stack that migrates from internal memory to external when its size exceeds a certain threshold.
For semantics of the methods see documentation of the STL std::stack
.
typedef ExternalStack::cfg stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::cfg |
typedef ExternalStack stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::ext_stack_type |
typedef InternalStack stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::int_stack_type |
typedef cfg::size_type stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::size_type |
typedef cfg::value_type stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::value_type |
anonymous enum |
anonymous enum [private] |
stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::migrating_stack | ( | const stack_type & | stack_ | ) | [private] |
stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::migrating_stack | ( | ) | [inline] |
virtual stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::~migrating_stack | ( | ) | [inline, virtual] |
bool stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::empty | ( | ) | const [inline] |
bool stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::external | ( | ) | const [inline] |
bool stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::internal | ( | ) | const [inline] |
void stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::pop | ( | ) | [inline] |
void stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::push | ( | const value_type & | val | ) | [inline] |
size_type stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::size | ( | ) | const [inline] |
void stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::swap | ( | migrating_stack< CritSize, ExternalStack, InternalStack > & | obj | ) | [inline] |
Definition at line 712 of file stack.h.
References stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::ext_impl, stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::int_impl, and std::swap().
Referenced by std::swap().
value_type& stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::top | ( | ) | [inline] |
const value_type& stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::top | ( | ) | const [inline] |
ext_stack_type* stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::ext_impl [private] |
Definition at line 703 of file stack.h.
Referenced by stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::swap().
int_stack_type* stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::int_impl [private] |
Definition at line 702 of file stack.h.
Referenced by stxxl::migrating_stack< CritSize, ExternalStack, InternalStack >::swap().