Classes | Namespaces | Functions

Internals
[Containers]

Collaboration diagram for Internals:

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.

Function Documentation

template<class Config_ >
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().

template<class Config_ >
priority_queue< Config_ >::priority_queue ( prefetch_pool< block_type > &  p_pool_,
write_pool< block_type > &  w_pool_ 
) [inherited]

Constructs external priority queue object.

Parameters:
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().

template<class Config_ >
priority_queue< Config_ >::priority_queue ( unsigned_type  p_pool_mem,
unsigned_type  w_pool_mem 
) [inherited]

Constructs external priority queue object.

Parameters:
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().

template<class Config_ >
void priority_queue< Config_ >::push ( const value_type obj  )  [inline, inherited]
template<class Config_ >
priority_queue< Config_ >::size_type priority_queue< Config_ >::size (  )  const [inline, inherited]

Returns number of elements contained.

Returns:
number of elements contained

References priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::size().

Referenced by priority_queue< Config_ >::empty().

template<class Config_ >
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().