12 template <
class T,
int N,
class Cmp>
13 LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::begin()
15 return m_data.begin();
18 template <
class T,
int N,
class Cmp>
19 LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::begin()
const
21 return m_data.begin();
24 template <
class T,
int N,
class Cmp>
25 LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cbegin()
const
27 return m_data.cbegin();
30 template <
class T,
int N,
class Cmp>
31 LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::end()
33 return m_data.begin() + m_size;
36 template <
class T,
int N,
class Cmp>
37 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::end()
const
39 return m_data.begin() + m_size;
42 template <
class T,
int N,
class Cmp>
43 LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cend()
const
45 return m_data.cbegin() + m_size;
50 template <
class T,
int N,
class Cmp>
51 const T& LimitedPriorityQueue<T, N, Cmp>::top()
const
56 template <
class T,
int N,
class Cmp>
57 const T& LimitedPriorityQueue<T, N, Cmp>::bottom()
const
59 return m_data[m_size - 1];
62 template <
class T,
int N,
class Cmp>
63 T& LimitedPriorityQueue<T, N, Cmp>::top()
68 template <
class T,
int N,
class Cmp>
69 T& LimitedPriorityQueue<T, N, Cmp>::bottom()
71 return m_data[m_size - 1];
76 template <
class T,
int N,
class Cmp>
77 bool LimitedPriorityQueue<T, N, Cmp>::empty()
const
82 template <
class T,
int N,
class Cmp>
83 bool LimitedPriorityQueue<T, N, Cmp>::full()
const
85 return m_size == capacity();
88 template <
class T,
int N,
class Cmp>
89 size_t LimitedPriorityQueue<T, N, Cmp>::size()
const
94 template <
class T,
int N,
class Cmp>
95 size_t LimitedPriorityQueue<T, N, Cmp>::capacity()
const
101 template <
class T,
int N,
class Cmp>
102 bool LimitedPriorityQueue<T, N, Cmp>::pushImpl(
const T& _value, T** _addr)
108 *_addr = &m_data.front();
139 template <
class T,
int N,
class Cmp>
140 bool LimitedPriorityQueue<T, N, Cmp>::push(T&& _value)
143 if (pushImpl(_value, &addr))
145 *addr = std::forward<T>(_value);
151 template <
class T,
int N,
class Cmp>
152 bool LimitedPriorityQueue<T, N, Cmp>::push(
const T& _value)
155 if (pushImpl(_value, &addr))
163 template <
class T,
int N,
class Cmp>
164 void LimitedPriorityQueue<T, N, Cmp>::pop()
169 template <
class T,
int N,
class Cmp>
170 void LimitedPriorityQueue<T, N, Cmp>::reserve(
const int _capacity)
172 PONCA_ASSERT(_capacity >= 0);
173 PONCA_ASSERT(_capacity <= N);
174 m_capacity = _capacity;
175 if (m_size > _capacity)
179 template <
class T,
int N,
class Cmp>
180 void LimitedPriorityQueue<T, N, Cmp>::clear()
187 template <
class T,
int N,
class Cmp>
188 const 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.