External stack container. 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 (normal_stack &obj) |
| template<class stack_type > | |
| normal_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 () |
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
For internal use only.
| normal_stack< Config_ >::normal_stack | ( | const stack_type & | stack_ | ) | [inline] |
Construction from a stack.
| stack_ | stack object (could be external or internal, important is that it must have a copy constructor, top() and pop() methods ) |
1.7.1