13 template <
class T,
int N,
class Cmp>
14 requires ValidCapacity<N>
15 typename LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::begin()
17 return m_data.begin();
20 template <
class T,
int N,
class Cmp>
21 requires ValidCapacity<N>
22 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::begin()
const
24 return m_data.begin();
27 template <
class T,
int N,
class Cmp>
28 requires ValidCapacity<N>
29 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cbegin()
const
31 return m_data.cbegin();
34 template <
class T,
int N,
class Cmp>
35 requires ValidCapacity<N>
36 typename LimitedPriorityQueue<T, N, Cmp>::iterator LimitedPriorityQueue<T, N, Cmp>::end()
38 return m_data.begin() + m_size;
41 template <
class T,
int N,
class Cmp>
42 requires ValidCapacity<N>
43 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::end()
const
45 return m_data.begin() + m_size;
48 template <
class T,
int N,
class Cmp>
49 requires ValidCapacity<N>
50 typename LimitedPriorityQueue<T, N, Cmp>::const_iterator LimitedPriorityQueue<T, N, Cmp>::cend()
const
52 return m_data.cbegin() + m_size;
57 template <
class T,
int N,
class Cmp>
58 requires ValidCapacity<N>
59 const T& LimitedPriorityQueue<T, N, Cmp>::top()
const
64 template <
class T,
int N,
class Cmp>
65 requires ValidCapacity<N>
66 const T& LimitedPriorityQueue<T, N, Cmp>::bottom()
const
68 return m_data[m_size - 1];
71 template <
class T,
int N,
class Cmp>
72 requires ValidCapacity<N>
73 T& LimitedPriorityQueue<T, N, Cmp>::top()
78 template <
class T,
int N,
class Cmp>
79 requires ValidCapacity<N>
80 T& LimitedPriorityQueue<T, N, Cmp>::bottom()
82 return m_data[m_size - 1];
87 template <
class T,
int N,
class Cmp>
88 requires ValidCapacity<N>
89 bool LimitedPriorityQueue<T, N, Cmp>::empty()
const
94 template <
class T,
int N,
class Cmp>
95 requires ValidCapacity<N>
96 bool LimitedPriorityQueue<T, N, Cmp>::full()
const
98 return m_size == capacity();
101 template <
class T,
int N,
class Cmp>
102 requires ValidCapacity<N>
103 size_t LimitedPriorityQueue<T, N, Cmp>::size()
const
108 template <
class T,
int N,
class Cmp>
109 requires ValidCapacity<N>
110 size_t LimitedPriorityQueue<T, N, Cmp>::capacity()
const
116 template <
class T,
int N,
class Cmp>
117 requires ValidCapacity<N>
118 bool LimitedPriorityQueue<T, N, Cmp>::pushImpl(
const T& _value, T** _addr)
124 *_addr = &m_data.front();
155 template <
class T,
int N,
class Cmp>
156 requires ValidCapacity<N>
157 bool LimitedPriorityQueue<T, N, Cmp>::push(T&& _value)
160 if (pushImpl(_value, &addr))
162 *addr = std::forward<T>(_value);
168 template <
class T,
int N,
class Cmp>
169 requires ValidCapacity<N>
170 bool LimitedPriorityQueue<T, N, Cmp>::push(
const T& _value)
173 if (pushImpl(_value, &addr))
181 template <
class T,
int N,
class Cmp>
182 requires ValidCapacity<N>
183 void LimitedPriorityQueue<T, N, Cmp>::pop()
188 template <
class T,
int N,
class Cmp>
189 requires ValidCapacity<N>
190 void LimitedPriorityQueue<T, N, Cmp>::reserve(
const int _capacity)
192 PONCA_ASSERT(_capacity >= 0);
193 PONCA_ASSERT(_capacity <= N);
194 m_capacity = _capacity;
195 if (m_size > _capacity)
199 template <
class T,
int N,
class Cmp>
200 requires ValidCapacity<N>
201 void LimitedPriorityQueue<T, N, Cmp>::clear()
208 template <
class T,
int N,
class Cmp>
209 requires ValidCapacity<N>
210 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.