Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
PriorityQueue< T, Container, Compare > Class Template Reference

A priority queue with an iterator. More...

#include <PriorityQueue.h>

Public Types

using value_type = Container::value_type
using size_type = Container::size_type
using iterator = Container::iterator
using const_iterator = Container::const_iterator
using container_type = Container

Public Member Functions

 PriorityQueue ()=default
 PriorityQueue (Container &swappedIn)
 ~PriorityQueue ()=default
manipulators
void push (const value_type &v)
 Add element.
void pop ()
 Remove head element.
void erase (iterator i)
 Erase element.
iterator begin ()
 Get start iterator.
iterator end ()
 Get end iterator.
void swap (PriorityQueue< T, Container, Compare > &q) noexcept
 Swap contents with another priority queue.
void swap (Container &c2) noexcept
 Swap contents with another container.

accessors

bool empty () const
 Returns true if there are no elements.
size_type size () const
 Returns the number of elements.
const value_typetop () const
 Returns the head element.
const_iterator begin () const
 Get start iterator.
const_iterator end () const
 Get end iterator.

Detailed Description

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
class PriorityQueue< T, Container, Compare >

A priority queue with an iterator.

This priority queue is the same as a standard priority queue except: it sorts by std::greater, it has a forward iterator through the elements (which can appear in any order), and its contents can be swapped.

Member Typedef Documentation

◆ const_iterator

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
using PriorityQueue< T, Container, Compare >::const_iterator = Container::const_iterator

◆ container_type

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
using PriorityQueue< T, Container, Compare >::container_type = Container

◆ iterator

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
using PriorityQueue< T, Container, Compare >::iterator = Container::iterator

◆ size_type

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
using PriorityQueue< T, Container, Compare >::size_type = Container::size_type

◆ value_type

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
using PriorityQueue< T, Container, Compare >::value_type = Container::value_type

Constructor & Destructor Documentation

◆ PriorityQueue() [1/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
PriorityQueue< T, Container, Compare >::PriorityQueue ( )
default

◆ PriorityQueue() [2/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
PriorityQueue< T, Container, Compare >::PriorityQueue ( Container & swappedIn)
inlineexplicit

◆ ~PriorityQueue()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
PriorityQueue< T, Container, Compare >::~PriorityQueue ( )
default

Member Function Documentation

◆ begin() [1/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
iterator PriorityQueue< T, Container, Compare >::begin ( )
inline

Get start iterator.

◆ begin() [2/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
const_iterator PriorityQueue< T, Container, Compare >::begin ( ) const
inline

Get start iterator.

◆ empty()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
bool PriorityQueue< T, Container, Compare >::empty ( ) const
inline

Returns true if there are no elements.

◆ end() [1/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
iterator PriorityQueue< T, Container, Compare >::end ( )
inline

Get end iterator.

◆ end() [2/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
const_iterator PriorityQueue< T, Container, Compare >::end ( ) const
inline

Get end iterator.

◆ erase()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
void PriorityQueue< T, Container, Compare >::erase ( iterator i)
inline

Erase element.

◆ pop()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
void PriorityQueue< T, Container, Compare >::pop ( )
inline

Remove head element.

◆ push()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
void PriorityQueue< T, Container, Compare >::push ( const value_type & v)
inline

Add element.

◆ size()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
size_type PriorityQueue< T, Container, Compare >::size ( ) const
inline

Returns the number of elements.

◆ swap() [1/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
void PriorityQueue< T, Container, Compare >::swap ( Container & c2)
inlinenoexcept

Swap contents with another container.

◆ swap() [2/2]

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
void PriorityQueue< T, Container, Compare >::swap ( PriorityQueue< T, Container, Compare > & q)
inlinenoexcept

Swap contents with another priority queue.

◆ top()

template<class T, class Container = std::vector<T>, class Compare = std::greater<typename Container::value_type>>
const value_type & PriorityQueue< T, Container, Compare >::top ( ) const
inline

Returns the head element.


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