Algorithm

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

View the Project on GitHub yosupo06/Algorithm

:heavy_check_mark: src/datastructure/simplequeue.hpp

Required by

Verified with

Code

#pragma once

template <class T> struct SimpleQueue {
    V<T> payload;
    size_t pos = 0;
    void reserve(size_t size) { payload.reserve(size); }
    size_t size() const { return payload.size() - pos; }
    bool empty() const { return pos == payload.size(); }
    void push(const T& t) { payload.push_back(t); }
    T& front() {
        assert(!empty());
        return payload[pos];
    }
    void clear() {
        payload.clear();
        pos = 0;
    }
    void pop() {
        assert(!empty());
        pos++;
    }
};
#line 2 "src/datastructure/simplequeue.hpp"

template <class T> struct SimpleQueue {
    V<T> payload;
    size_t pos = 0;
    void reserve(size_t size) { payload.reserve(size); }
    size_t size() const { return payload.size() - pos; }
    bool empty() const { return pos == payload.size(); }
    void push(const T& t) { payload.push_back(t); }
    T& front() {
        assert(!empty());
        return payload[pos];
    }
    void clear() {
        payload.clear();
        pos = 0;
    }
    void pop() {
        assert(!empty());
        pos++;
    }
};
Back to top page