in fatal/container/circular_queue.h [204:221]
reference emplace_front(UArgs &&...args) {
FATAL_ASSUME_LE(size_, queue_.size());
if (size_ == queue_.size()) {
grow();
}
FATAL_ASSUME_LT(size_, queue_.size());
auto offset = offset_ > 0 ? offset_ - 1 : offset_ = queue_.size() - 1;
FATAL_ASSUME_LT(offset, queue_.size());
auto p = new (std::addressof(queue_[offset].value)) value_type(
std::forward<UArgs>(args)...
);
offset_ = offset;
++size_;
return *p;
}