13 template <
class T,
int N,
class Cmp>
14 typename LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::begin()
16 return m_data.begin();
19 template <
class T,
int N,
class Cmp>
20 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::begin()
const
22 return m_data.begin();
25 template <
class T,
int N,
class Cmp>
26 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cbegin()
const
28 return m_data.cbegin();
31 template <
class T,
int N,
class Cmp>
32 typename LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::end()
34 return m_data.begin() + m_size;
37 template <
class T,
int N,
class Cmp>
38 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::end()
const
40 return m_data.begin() + m_size;
43 template <
class T,
int N,
class Cmp>
44 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cend()
const
46 return m_data.cbegin() + m_size;
51 template <
class T,
int N,
class Cmp>
52 const T& LimitedPriorityQueue<T, N, Cmp>::top()
const
57 template <
class T,
int N,
class Cmp>
58 const T& LimitedPriorityQueue<T, N, Cmp>::bottom()
const
60 return m_data[m_size - 1];
63 template <
class T,
int N,
class Cmp>
64 T& LimitedPriorityQueue<T, N, Cmp>::top()
69 template <
class T,
int N,
class Cmp>
70 T& LimitedPriorityQueue<T, N, Cmp>::bottom()
72 return m_data[m_size - 1];
77 template <
class T,
int N,
class Cmp>
78 bool LimitedPriorityQueue<T, N, Cmp>::empty()
const
83 template <
class T,
int N,
class Cmp>
84 bool LimitedPriorityQueue<T, N, Cmp>::full()
const
86 return m_size == capacity();
89 template <
class T,
int N,
class Cmp>
90 size_t LimitedPriorityQueue<T, N, Cmp>::size()
const
95 template <
class T,
int N,
class Cmp>
96 size_t LimitedPriorityQueue<T, N, Cmp>::capacity()
const
102 template <
class T,
int N,
class Cmp>
103 bool LimitedPriorityQueue<T, N, Cmp>::pushImpl(
const T& _value, T** _addr)
109 *_addr = &m_data.front();
140 template <
class T,
int N,
class Cmp>
141 bool LimitedPriorityQueue<T, N, Cmp>::push(T&& _value)
144 if (pushImpl(_value, &addr))
146 *addr = std::forward<T>(_value);
152 template <
class T,
int N,
class Cmp>
153 bool LimitedPriorityQueue<T, N, Cmp>::push(
const T& _value)
156 if (pushImpl(_value, &addr))
164 template <
class T,
int N,
class Cmp>
165 void LimitedPriorityQueue<T, N, Cmp>::pop()
170 template <
class T,
int N,
class Cmp>
171 void LimitedPriorityQueue<T, N, Cmp>::reserve(
const int _capacity)
173 PONCA_ASSERT(_capacity >= 0);
174 PONCA_ASSERT(_capacity <= N);
175 m_capacity = _capacity;
176 if (m_size > _capacity)
180 template <
class T,
int N,
class Cmp>
181 void LimitedPriorityQueue<T, N, Cmp>::clear()
188 template <
class T,
int N,
class Cmp>
189 const typename LimitedPriorityQueue<T, N, Cmp>::container_type& LimitedPriorityQueue<T, N, Cmp>::container()
const
BidirIt2 copyBackward(BidirIt1 first, BidirIt1 last, BidirIt2 d_last)
Copies the elements from the range [first, last) to another range ending at d_last.
ForwardIt upperBound(ForwardIt first, ForwardIt last, const T &value, Compare comp)
Searches for the first element in the partitioned range [first, last) which is ordered after value.
This Source Code Form is subject to the terms of the Mozilla Public License, v.