in fatal/container/circular_queue.h [249:270]
void pop_front(size_type count) {
FATAL_ASSUME_LE(count, size_);
auto chunk = std::min(count, queue_.size() - offset_);
for (auto const end = offset_ + chunk; offset_ < end; ++offset_) {
queue_[offset_].value.~value_type();
}
FATAL_ASSUME_LE(offset_, queue_.size());
if (offset_ == queue_.size()) {
offset_ = 0;
}
FATAL_ASSUME_LT(offset_, queue_.size());
FATAL_ASSUME_LE(chunk, count);
FATAL_ASSUME_EQ(offset_ == 0, count == chunk);
for (auto const end = count - chunk; offset_ < end; ++offset_) {
queue_[offset_].~value_type();
}
size_ -= count;
}