Stxxl  1.3.2
Public Types | Public Member Functions | Protected Attributes | List of all members
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]

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. More...
 
bool empty () const
 
size_type size () const
 
const_reference top () const
 
void push (const value_type &__x)
 Add data to the queue. More...
 
void pop ()
 Removes first element. More...
 
void sort_to (value_type *target)
 Sort all contained elements, write result to target. More...
 
void clear ()
 Remove all contained elements. More...
 

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)
inlineexplicit

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

Returns true if the queue is empty.

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.

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
__xData to be added.

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

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.

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.


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