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 unsigned int getSize()
const {
return size; }
31 void reset() { size = 0; }
33 MoveList() : size{0}, m_arrayPrioQueue{} {}
45 } m_arrayPrioQueue[N_COLUMNS];