Public Types | Public Member Functions | Protected Attributes

priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare > Class Template Reference

Similar to std::priority_queue, with the following differences:

More...

#include <pq_helpers.h>

Inheritance diagram for priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef _Sequence::value_type value_type
typedef _Sequence::reference reference
typedef _Sequence::const_reference const_reference
typedef _Sequence::size_type size_type
typedef _Sequence container_type

Public Member Functions

 internal_priority_queue (size_type capacity)
 Default constructor creates no elements.
bool empty () const
size_type size () const
const_reference top () const
void push (const value_type &__x)
 Add data to the queue.
void pop ()
 Removes first element.
void sort_to (value_type *target)
 Sort all contained elements, write result to target.
void clear ()
 Remove all contained elements.

Protected Attributes

_Sequence heap
_Compare comp
size_type current_size

Detailed Description

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
class priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >

Similar to std::priority_queue, with the following differences:


Constructor & Destructor Documentation

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::internal_priority_queue ( size_type  capacity  )  [inline, explicit]

Default constructor creates no elements.


Member Function Documentation

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
void priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::clear (  )  [inline]

Remove all contained elements.

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
bool priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::empty (  )  const [inline]
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
void priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::pop (  )  [inline]

Removes first element.

This is a typical queue operation. It shrinks the queue by one. The time complexity of the operation depends on the underlying sequence.

Note that no data is returned, and if the first element's data is needed, it should be retrieved before pop() is called.

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

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
void priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::push ( const value_type &  __x  )  [inline]

Add data to the queue.

Parameters:
__x Data to be added.

This is a typical queue operation. The time complexity of the operation depends on the underlying sequence.

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

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
size_type priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::size (  )  const [inline]

Returns the number of elements in the queue.

Referenced by priority_queue< Config_ >::push(), and priority_queue< Config_ >::size().

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
void priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::sort_to ( value_type *  target  )  [inline]

Sort all contained elements, write result to target.

template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
const_reference priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >::top (  )  const [inline]

Returns a read-only (constant) reference to the data at the first element of the queue.

Referenced by priority_queue< Config_ >::pop(), and priority_queue< Config_ >::top().


The documentation for this class was generated from the following file: