| STXXL
    1.4-dev
    | 
External FIFO queue container. 
 Introduction  to queue container: see STXXL Queue tutorial
 Design and Internals  of queue container: see Queue. 
| ValueType | type of the contained objects (POD with no references to internal memory) | 
| BlockSize | size of the external memory block in bytes, default is STXXL_DEFAULT_BLOCK_SIZE(ValueType) | 
| AllocStr | parallel disk allocation strategy, default is STXXL_DEFAULT_ALLOC_STRATEGY | 
| SizeType | size data type, default is stxxl::uint64 | 
 Inheritance diagram for stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >:
 Inheritance diagram for stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >: Collaboration diagram for stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >:
 Collaboration diagram for stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >:| Public Types | |
| enum | { block_size = BlockSize } | 
| typedef AllocStr | alloc_strategy_type | 
| typedef BID< block_size > | bid_type | 
| typedef typed_block < block_size, value_type > | block_type | 
| typedef SizeType | size_type | 
| typedef ValueType | value_type | 
| Public Member Functions | |
| Constructors/Destructors | |
| queue (int_type D=-1) | |
| Constructs empty queue with own write and prefetch block pool.  More... | |
| queue (unsigned_type w_pool_size, unsigned_type p_pool_size, int blocks2prefetch_=-1) | |
| Constructs empty queue with own write and prefetch block pool.  More... | |
| queue (write_pool< block_type > &w_pool, prefetch_pool< block_type > &p_pool, int blocks2prefetch_=-1) | |
| Constructs empty queue.  More... | |
| queue (pool_type &pool_, int blocks2prefetch_=-1) | |
| Constructs empty queue.  More... | |
| ~queue () | |
| Modifiers | |
| void | swap (queue &obj) | 
| void | push (const value_type &val) | 
| Adds an element in the queue.  More... | |
| void | pop () | 
| Removes element from the queue.  More... | |
| Miscellaneous | |
| void | set_prefetch_aggr (int_type blocks2prefetch_) | 
| Defines the number of blocks to prefetch ( frontside). This method should be called whenever the prefetch pool is resized.  More... | |
| unsigned_type | get_prefetch_aggr () const | 
| Returns the number of blocks prefetched from the frontside.  More... | |
| Operators | |
| value_type & | back () | 
| Returns a mutable reference at the back of the queue.  More... | |
| const value_type & | back () const | 
| Returns a const reference at the back of the queue.  More... | |
| value_type & | front () | 
| Returns a mutable reference at the front of the queue.  More... | |
| const value_type & | front () const | 
| Returns a const reference at the front of the queue.  More... | |
| Capacity | |
| size_type | size () const | 
| Returns the size of the queue.  More... | |
| bool | empty () const | 
| Returns trueif queue is empty.  More... | |
| Private Types | |
| typedef read_write_pool < block_type > | pool_type | 
| Private Member Functions | |
| void | init (int blocks2prefetch_=-1) | 
|  Private Member Functions inherited from stxxl::noncopyable | |
| noncopyable () | |
| Private Attributes | |
| unsigned_type | alloc_count | 
| alloc_strategy_type | alloc_strategy | 
| block_type * | back_block | 
| value_type * | back_element | 
| std::deque< bid_type > | bids | 
| unsigned_type | blocks2prefetch | 
| block_manager * | bm | 
| bool | delete_pool | 
| block_type * | front_block | 
| value_type * | front_element | 
| size_type | m_size | 
| pool_type * | pool | 
| typedef AllocStr stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::alloc_strategy_type | 
| typedef BID<block_size> stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::bid_type | 
| typedef typed_block<block_size, value_type> stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::block_type | 
| 
 | private | 
| typedef SizeType stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::size_type | 
| typedef ValueType stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::value_type | 
| anonymous enum | 
| 
 | inlineexplicit | 
Constructs empty queue with own write and prefetch block pool.
| D | number of parallel disks, defaulting to the configured number of scratch disks, memory consumption will be 2 * D + 2 blocks (first and last block, D blocks as write cache, D block for prefetching) | 
Definition at line 89 of file queue.h.
References STXXL_VERBOSE_QUEUE.
| 
 | inlineexplicit | 
Constructs empty queue with own write and prefetch block pool.
| w_pool_size | number of blocks in the write pool, must be at least 2, recommended at least 3 | 
| p_pool_size | number of blocks in the prefetch pool, recommended at least 1 | 
| blocks2prefetch_ | defines the number of blocks to prefetch ( frontside), default is number of block in the prefetch pool | 
Definition at line 108 of file queue.h.
References STXXL_VERBOSE_QUEUE.
| 
 | inline | 
Constructs empty queue.
| w_pool | write pool | 
| p_pool | prefetch pool | 
| blocks2prefetch_ | defines the number of blocks to prefetch ( frontside), default is number of blocks in the prefetch pool | 
Definition at line 128 of file queue.h.
References STXXL_VERBOSE_QUEUE.
| 
 | inline | 
Constructs empty queue.
| pool_ | block write/prefetch pool | 
| blocks2prefetch_ | defines the number of blocks to prefetch ( frontside), default is number of blocks in the prefetch pool | 
Definition at line 146 of file queue.h.
References STXXL_VERBOSE_QUEUE.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlineprivate | 
Definition at line 181 of file queue.h.
References STXXL_ERRMSG, and STXXL_MSG.
| 
 | inline | 
Removes element from the queue.
Definition at line 288 of file queue.h.
References FMT_BID, STXXL_VERBOSE1, STXXL_VERBOSE_QUEUE, and UNLIKELY.
| 
 | inline | 
Adds an element in the queue.
Definition at line 230 of file queue.h.
References FMT_BID, STXXL_VERBOSE1, STXXL_VERBOSE_QUEUE, and UNLIKELY.
| 
 | inline | 
Defines the number of blocks to prefetch (front side). This method should be called whenever the prefetch pool is resized. 
| blocks2prefetch_ | defines the number of blocks to prefetch ( frontside), a negative value means to use the number of blocks in the prefetch pool | 
| 
 | inline | 
| 
 | inline | 
Definition at line 162 of file queue.h.
References stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::alloc_count, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::alloc_strategy, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::back_block, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::back_element, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::bids, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::blocks2prefetch, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::bm, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::delete_pool, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::front_block, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::front_element, stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::m_size, and stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::pool.
| 
 | private | 
Definition at line 75 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 74 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 71 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 73 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 76 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 78 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 77 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 68 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 70 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 72 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 67 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().
| 
 | private | 
Definition at line 69 of file queue.h.
Referenced by stxxl::queue< ValueType, BlockSize, AllocStr, SizeType >::swap().