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. | |
| _STXXL_DEPRECATED (grow_shrink_stack2(prefetch_pool< block_type > &p_pool_, write_pool< block_type > &w_pool_, unsigned_type prefetch_aggressiveness=0)) | |
| Constructs stack. | |
| 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). | |
| unsigned_type | get_prefetch_aggr () const |
| Returns number of blocks used for prefetching. | |
Efficient implementation that uses prefetching and overlapping using (shared) buffers pools.
| grow_shrink_stack2< Config_ >::grow_shrink_stack2 | ( | pool_type & | pool_, | |
| unsigned_type | prefetch_aggressiveness = 0 | |||
| ) | [inline] |
Constructs stack.
| pool_ | block write/prefetch pool | |
| prefetch_aggressiveness | number of blocks that will be used from prefetch pool |
| grow_shrink_stack2< Config_ >::_STXXL_DEPRECATED | ( | grow_shrink_stack2< Config_ >(prefetch_pool< block_type > &p_pool_,write_pool< block_type > &w_pool_,unsigned_type prefetch_aggressiveness=0) | ) | [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 |
| unsigned_type grow_shrink_stack2< Config_ >::get_prefetch_aggr | ( | ) | const [inline] |
Returns number of blocks used for prefetching.
| void grow_shrink_stack2< Config_ >::set_prefetch_aggr | ( | unsigned_type | new_p | ) | [inline] |
Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching).
| new_p | new value for the prefetch aggressiveness |
1.7.1