void pop_front()

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;
  }