// _____ _ _____ // |_ _|____ _| ||_ _|_ __ // | |/ _ \ \/ / __|| | \ \ / / // | | __/> <| |_ | | \ V / // |_|\___/_/\_\\__||_| \_/ // Author: Love Billenius // License: GPL-3 #pragma once #include static constexpr uint_fast8_t DEFAULT_NUMBER = 100; class Page { private: uint_fast8_t number{}; std::vector subpages; public: explicit Page(uint_fast8_t number = DEFAULT_NUMBER); Page operator--(int) const; Page operator++(int) const; Page &operator+=(int); Page &operator-=(int); std::string str() const; bool refresh(); private: [[nodiscard]] std::string url() const; [[nodiscard]] std::vector fetchSubpages() const; [[nodiscard]] bool contentEquals(const std::vector &subpagesOther) const; };