Stxxl
1.4.0
|
External stack container. More...
#include <stack.h>
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
typedef cfg::alloc_strategy stxxl::normal_stack< Config_ >::alloc_strategy_type |
typedef BID<block_size> stxxl::normal_stack< Config_ >::bid_type |
typedef typed_block<block_size, value_type> stxxl::normal_stack< Config_ >::block_type |
typedef Config_ stxxl::normal_stack< Config_ >::cfg |
typedef cfg::size_type stxxl::normal_stack< Config_ >::size_type |
typedef cfg::value_type stxxl::normal_stack< Config_ >::value_type |
anonymous enum |
stxxl::normal_stack< Config_ >::normal_stack | ( | ) | [inline] |
stxxl::normal_stack< Config_ >::normal_stack | ( | const stack_type & | stack_ | ) | [inline] |
virtual stxxl::normal_stack< Config_ >::~normal_stack | ( | ) | [inline, virtual] |
Definition at line 138 of file stack.h.
References STXXL_PRETTY_FUNCTION_NAME.
value_type* stxxl::normal_stack< Config_ >::element | ( | unsigned_type | offset | ) | [inline, private] |
bool stxxl::normal_stack< Config_ >::empty | ( | ) | const [inline] |
void stxxl::normal_stack< Config_ >::pop | ( | ) | [inline] |
Definition at line 202 of file stack.h.
References stxxl::simple_vector< _Tp >::begin(), std::swap(), UNLIKELY, and stxxl::wait_all().
void stxxl::normal_stack< Config_ >::push | ( | const value_type & | val | ) | [inline] |
Definition at line 161 of file stack.h.
References stxxl::simple_vector< _Tp >::begin(), std::swap(), UNLIKELY, and stxxl::wait_all().
size_type stxxl::normal_stack< Config_ >::size | ( | ) | const [inline] |
void stxxl::normal_stack< Config_ >::swap | ( | normal_stack< Config_ > & | obj | ) | [inline] |
Definition at line 97 of file stack.h.
References stxxl::normal_stack< Config_ >::alloc_strategy, stxxl::normal_stack< Config_ >::back_page, stxxl::normal_stack< Config_ >::bids, stxxl::normal_stack< Config_ >::cache, stxxl::normal_stack< Config_ >::cache_offset, stxxl::normal_stack< Config_ >::current_element, stxxl::normal_stack< Config_ >::front_page, stxxl::normal_stack< Config_ >::size_, and std::swap().
Referenced by std::swap().
value_type& stxxl::normal_stack< Config_ >::top | ( | ) | [inline] |
const value_type& stxxl::normal_stack< Config_ >::top | ( | ) | const [inline] |
alloc_strategy_type stxxl::normal_stack< Config_ >::alloc_strategy [private] |
Definition at line 82 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
simple_vector<block_type>::iterator stxxl::normal_stack< Config_ >::back_page [private] |
Definition at line 80 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
std::vector<bid_type> stxxl::normal_stack< Config_ >::bids [private] |
Definition at line 81 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
simple_vector<block_type> stxxl::normal_stack< Config_ >::cache [private] |
Definition at line 78 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
unsigned_type stxxl::normal_stack< Config_ >::cache_offset [private] |
Definition at line 76 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
value_type* stxxl::normal_stack< Config_ >::current_element [private] |
Definition at line 77 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
simple_vector<block_type>::iterator stxxl::normal_stack< Config_ >::front_page [private] |
Definition at line 79 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().
size_type stxxl::normal_stack< Config_ >::size_ [private] |
Definition at line 75 of file stack.h.
Referenced by stxxl::normal_stack< Config_ >::swap().