library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub yuruhi/library

:warning: atcoder/internal_queue.hpp

Required by

Code

#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
Back to top page