This documentation is automatically generated by online-judge-tools/verification-helper
#include "atcoder/internal_queue.hpp"
#ifndef ATCODER_INTERNAL_QUEUE_HPP
#define ATCODER_INTERNAL_QUEUE_HPP 1
#include <vector>
namespace atcoder {
namespace internal {
template <class T> struct simple_queue {
std::vector<T> payload;
int pos = 0;
void reserve(int n) {
payload.reserve(n);
}
int size() const {
return int(payload.size()) - pos;
}
bool empty() const {
return pos == int(payload.size());
}
void push(const T& t) {
payload.push_back(t);
}
T& front() {
return payload[pos];
}
void clear() {
payload.clear();
pos = 0;
}
void pop() {
pos++;
}
};
} // namespace internal
} // namespace atcoder
#endif // ATCODER_INTERNAL_QUEUE_HPP
#line 1 "atcoder/internal_queue.hpp"
#include <vector>
namespace atcoder {
namespace internal {
template <class T> struct simple_queue {
std::vector<T> payload;
int pos = 0;
void reserve(int n) {
payload.reserve(n);
}
int size() const {
return int(payload.size()) - pos;
}
bool empty() const {
return pos == int(payload.size());
}
void push(const T& t) {
payload.push_back(t);
}
T& front() {
return payload[pos];
}
void clear() {
payload.clear();
pos = 0;
}
void pop() {
pos++;
}
};
} // namespace internal
} // namespace atcoder