12 using TBitBoard = uint64_t;
15 static constexpr int N_COLUMNS = 7;
17 void insert(
const TBitBoard move,
const int score) {
19 for (; pos && m_arrayPrioQueue[pos - 1].score >= score; --pos)
20 m_arrayPrioQueue[pos] = m_arrayPrioQueue[pos - 1];
21 m_arrayPrioQueue[pos].move = move;
22 m_arrayPrioQueue[pos].score = score;
25 inline TBitBoard pop() {
26 return size ? m_arrayPrioQueue[--size].move : UINT64_C(0);
29 void reset() { size = 0; }
31 MoveList() : size{0}, m_arrayPrioQueue{} {}
43 } m_arrayPrioQueue[N_COLUMNS];