Stxxl
1.3.2
|
Efficient implementation that uses prefetching and overlapping using (shared) buffers pools. 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 | |
grow_shrink_stack2 (pool_type &pool_, unsigned_type prefetch_aggressiveness=0) | |
Constructs stack. More... | |
_STXXL_DEPRECATED (grow_shrink_stack2(prefetch_pool< block_type > &p_pool_, write_pool< block_type > &w_pool_, unsigned_type prefetch_aggressiveness=0)) | |
Constructs stack. More... | |
void | swap (grow_shrink_stack2 &obj) |
size_type | size () const |
bool | empty () const |
void | push (const value_type &val) |
value_type & | top () |
const value_type & | top () const |
void | pop () |
void | set_prefetch_aggr (unsigned_type new_p) |
Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching) More... | |
unsigned_type | get_prefetch_aggr () const |
Returns number of blocks used for prefetching. More... | |
Efficient implementation that uses prefetching and overlapping using (shared) buffers pools.
|
inline |
Constructs stack.
pool_ | block write/prefetch pool |
prefetch_aggressiveness | number of blocks that will be used from prefetch pool |
|
inline |
Constructs stack.
p_pool_ | prefetch pool, that will be used for block prefetching |
w_pool_ | write pool, that will be used for block writing |
prefetch_aggressiveness | number of blocks that will be used from prefetch pool |
|
inline |
Returns number of blocks used for prefetching.
|
inline |
Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching)
new_p | new value for the prefetch aggressiveness |