Classes | |
class | random_pager< npages_ > |
Pager with random replacement strategy. More... | |
class | lru_pager< npages_ > |
Pager with LRU replacement strategy. More... | |
class | priority_queue< Config_ > |
External priority queue data structure. More... | |
class | normal_stack< Config_ > |
External stack container. More... | |
class | grow_shrink_stack< Config_ > |
Efficient implementation that uses prefetching and overlapping using internal buffers. More... | |
class | grow_shrink_stack2< Config_ > |
Efficient implementation that uses prefetching and overlapping using (shared) buffers pools. More... | |
class | migrating_stack< CritSize, ExternalStack, InternalStack > |
A stack that migrates from internal memory to external when its size exceeds a certain threshold. More... | |
class | vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > |
External vector iterator, model of ext_random_access_iterator concept. More... | |
class | const_vector_iterator< Tp_, AllocStr_, SzTp_, DiffTp_, BlkSize_, PgTp_, PgSz_ > |
Const external vector iterator, model of ext_random_access_iterator concept. More... | |
class | vector< Tp_, PgSz_, PgTp_, BlkSize_, AllocStr_, SzTp_ > |
External vector container. More... | |
Namespaces | |
namespace | priority_queue_local |
Functions | |
size_type | priority_queue::size () const |
Returns number of elements contained. | |
const value_type & | priority_queue::top () const |
Returns "largest" element. | |
void | priority_queue::pop () |
Removes the element at the top. | |
void | priority_queue::push (const value_type &obj) |
Inserts x into the priority_queue. | |
priority_queue::priority_queue (prefetch_pool< block_type > &p_pool_, write_pool< block_type > &w_pool_) | |
Constructs external priority queue object. | |
priority_queue::priority_queue (unsigned_type p_pool_mem, unsigned_type w_pool_mem) | |
Constructs external priority queue object. |
void priority_queue< Config_ >::pop | ( | ) | [inline, inherited] |
Removes the element at the top.
Removes the element at the top of the priority_queue, that is, the largest element in the priority_queue. Precondition: empty()
is false. Postcondition: size()
will be decremented by 1.
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::empty(), priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::pop(), and priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::top().
priority_queue< Config_ >::priority_queue | ( | prefetch_pool< block_type > & | p_pool_, | |
write_pool< block_type > & | w_pool_ | |||
) | [inherited] |
Constructs external priority queue object.
p_pool_ | pool of blocks that will be used for data prefetching for the disk<->memory transfers happening in the priority queue. Larger pool size helps to speed up operations. | |
w_pool_ | pool of blocks that will be used for writing data for the memory<->disk transfers happening in the priority queue. Larger pool size helps to speed up operations. |
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::push().
priority_queue< Config_ >::priority_queue | ( | unsigned_type | p_pool_mem, | |
unsigned_type | w_pool_mem | |||
) | [inherited] |
Constructs external priority queue object.
p_pool_mem | memory (in bytes) for prefetch pool that will be used for data prefetching for the disk<->memory transfers happening in the priority queue. Larger pool size helps to speed up operations. | |
w_pool_mem | memory (in bytes) for buffered write pool that will be used for writing data for the memory<->disk transfers happening in the priority queue. Larger pool size helps to speed up operations. |
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::push().
void priority_queue< Config_ >::push | ( | const value_type & | obj | ) | [inline, inherited] |
Inserts x into the priority_queue.
Inserts x into the priority_queue. Postcondition: size()
will be incremented by 1.
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::empty(), priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::push(), and priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::size().
priority_queue< Config_ >::size_type priority_queue< Config_ >::size | ( | ) | const [inline, inherited] |
Returns number of elements contained.
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::size().
Referenced by priority_queue< Config_ >::empty().
const priority_queue< Config_ >::value_type & priority_queue< Config_ >::top | ( | ) | const [inline, inherited] |
Returns "largest" element.
Returns a const reference to the element at the top of the priority_queue. The element at the top is guaranteed to be the largest element in the priority queue, as determined by the comparison function Config_::comparator_type (the same as the second parameter of PRIORITY_QUEUE_GENERATOR utility class). That is, for every other element x in the priority_queue, Config_::comparator_type(Q.top(), x) is false. Precondition: empty()
is false.
References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::empty(), and priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::top().