ReactOS 0.4.15-dev-7991-ge77da17
priority_queue< _Tp, _Sequence, _Compare > Class Template Reference

#include <_queue.h>

Collaboration diagram for priority_queue< _Tp, _Sequence, _Compare >:

Public Types

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

Public Member Functions

 priority_queue ()
 
 priority_queue (const _Compare &__x)
 
 priority_queue (const _Compare &__x, const _Sequence &__s)
 
 priority_queue (__move_source< _Self > src)
 
 priority_queue (const value_type *__first, const value_type *__last)
 
 priority_queue (const value_type *__first, const value_type *__last, const _Compare &__x)
 
 priority_queue (const value_type *__first, const value_type *__last, const _Compare &__x, const _Sequence &__c)
 
bool empty () const
 
size_type size () const
 
const_reference top () const
 
void push (const value_type &__x)
 
void pop ()
 

Protected Attributes

_Sequence c
 
_Compare comp
 

Private Types

typedef priority_queue< _Tp, _Sequence, _Compare > _Self
 

Detailed Description

template<class _Tp, class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
class priority_queue< _Tp, _Sequence, _Compare >

Definition at line 142 of file _queue.h.

Member Typedef Documentation

◆ _Self

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef priority_queue<_Tp, _Sequence, _Compare> priority_queue< _Tp, _Sequence, _Compare >::_Self
private

Definition at line 156 of file _queue.h.

◆ const_reference

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef _Sequence::const_reference priority_queue< _Tp, _Sequence, _Compare >::const_reference

Definition at line 164 of file _queue.h.

◆ container_type

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef _Sequence priority_queue< _Tp, _Sequence, _Compare >::container_type

Definition at line 161 of file _queue.h.

◆ reference

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef _Sequence::reference priority_queue< _Tp, _Sequence, _Compare >::reference

Definition at line 163 of file _queue.h.

◆ size_type

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef _Sequence::size_type priority_queue< _Tp, _Sequence, _Compare >::size_type

Definition at line 160 of file _queue.h.

◆ value_type

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
typedef _Sequence::value_type priority_queue< _Tp, _Sequence, _Compare >::value_type

Definition at line 159 of file _queue.h.

Constructor & Destructor Documentation

◆ priority_queue() [1/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( )
inline

Definition at line 170 of file _queue.h.

170: c() {}
_Sequence c
Definition: _queue.h:167

◆ priority_queue() [2/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( const _Compare &  __x)
inlineexplicit

Definition at line 171 of file _queue.h.

171: c(), comp(__x) {}
_Compare comp
Definition: _queue.h:168

◆ priority_queue() [3/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( const _Compare &  __x,
const _Sequence &  __s 
)
inline

Definition at line 172 of file _queue.h.

173 : c(__s), comp(__x)
174 { make_heap(c.begin(), c.end(), comp); }
void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
Definition: _heap.c:206
const GLubyte * c
Definition: glext.h:8905

◆ priority_queue() [4/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( __move_source< _Self src)
inline

Definition at line 177 of file _queue.h.

178 : c(_STLP_PRIV _AsMoveSource(src.get().c)),
179 comp(_STLP_PRIV _AsMoveSource(src.get().comp)) {}
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_TYPENAME_ON_RETURN_TYPE _MoveSourceTraits< _Tp >::_Type _AsMoveSource(_Tp &src)
GLenum src
Definition: glext.h:6340

◆ priority_queue() [5/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( const value_type __first,
const value_type __last 
)
inline

Definition at line 203 of file _queue.h.

204 : c(__first, __last) { make_heap(c.begin(), c.end(), comp); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ priority_queue() [6/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( const value_type __first,
const value_type __last,
const _Compare &  __x 
)
inline

Definition at line 206 of file _queue.h.

208 : c(__first, __last), comp(__x)
209 { make_heap(c.begin(), c.end(), comp); }

◆ priority_queue() [7/7]

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
priority_queue< _Tp, _Sequence, _Compare >::priority_queue ( const value_type __first,
const value_type __last,
const _Compare &  __x,
const _Sequence &  __c 
)
inline

Definition at line 211 of file _queue.h.

213 : c(__c), comp(__x)
214 {
215 c.insert(c.end(), __first, __last);
216 make_heap(c.begin(), c.end(), comp);
217 }
#define __c
Definition: schilyio.h:209

Member Function Documentation

◆ empty()

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
bool priority_queue< _Tp, _Sequence, _Compare >::empty ( ) const
inline

Definition at line 220 of file _queue.h.

220{ return c.empty(); }

◆ pop()

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
void priority_queue< _Tp, _Sequence, _Compare >::pop ( )
inline

Definition at line 230 of file _queue.h.

230 {
231 _STLP_TRY {
232 pop_heap(c.begin(), c.end(), comp);
233 c.pop_back();
234 }
235 _STLP_UNWIND(c.clear())
236 }
void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
Definition: _heap.c:138
#define _STLP_UNWIND(action)
Definition: features.h:824
#define _STLP_TRY
Definition: features.h:817

◆ push()

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
void priority_queue< _Tp, _Sequence, _Compare >::push ( const value_type __x)
inline

Definition at line 223 of file _queue.h.

223 {
224 _STLP_TRY {
225 c.push_back(__x);
226 push_heap(c.begin(), c.end(), comp);
227 }
228 _STLP_UNWIND(c.clear())
229 }
void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
Definition: _heap.c:65

◆ size()

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
size_type priority_queue< _Tp, _Sequence, _Compare >::size ( ) const
inline

Definition at line 221 of file _queue.h.

221{ return c.size(); }

◆ top()

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
const_reference priority_queue< _Tp, _Sequence, _Compare >::top ( ) const
inline

Definition at line 222 of file _queue.h.

222{ return c.front(); }

Member Data Documentation

◆ c

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
_Sequence priority_queue< _Tp, _Sequence, _Compare >::c
protected

Definition at line 167 of file _queue.h.

◆ comp

template<class _Tp , class _Sequence = vector<_Tp>, class _Compare = less<_STLP_HEADER_TYPENAME _Sequence::value_type>>
_Compare priority_queue< _Tp, _Sequence, _Compare >::comp
protected

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