gsl::owner<T*> pri_pop() noexcept { if (head_ == nullptr) { return nullptr; } auto e = head_; head_ = e->fetch_next(); if (head_ == nullptr) { ACTX_ASSERTS(e == tail_); tail_ = nullptr; } return (gsl::owner<T*>)e; }
const_iterator operator++(int) {const_iterator rt(*this); fetch_next(); return rt;}
const_iterator& operator++() {fetch_next(); return *this;}