2023-01-23 17:31:08 -05:00
|
|
|
// Copyright 2023 xensik. All rights reserved.
|
2020-05-21 07:32:38 -04:00
|
|
|
//
|
|
|
|
// Use of this source code is governed by a GNU GPLv3 license
|
|
|
|
// that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <cstdio>
|
2023-12-01 09:48:33 -05:00
|
|
|
#include <cstring>
|
2023-03-29 09:45:50 -04:00
|
|
|
#include <ctime>
|
2023-03-06 06:34:13 -05:00
|
|
|
|
2020-05-21 07:32:38 -04:00
|
|
|
#include <algorithm>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <array>
|
2023-03-06 06:34:13 -05:00
|
|
|
#include <deque>
|
2020-05-21 07:32:38 -04:00
|
|
|
#include <filesystem>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <fstream>
|
2020-05-21 07:32:38 -04:00
|
|
|
#include <functional>
|
|
|
|
#include <iostream>
|
2023-01-30 07:48:27 -05:00
|
|
|
#include <list>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <map>
|
|
|
|
#include <memory>
|
2023-01-30 07:48:27 -05:00
|
|
|
#include <queue>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <regex>
|
|
|
|
#include <set>
|
2020-05-21 07:32:38 -04:00
|
|
|
#include <sstream>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <stack>
|
|
|
|
#include <stdexcept>
|
|
|
|
#include <string>
|
2020-05-21 07:32:38 -04:00
|
|
|
#include <unordered_map>
|
2023-02-12 06:56:27 -05:00
|
|
|
#include <unordered_set>
|
2022-04-12 13:13:10 -04:00
|
|
|
#include <vector>
|
2023-03-06 06:34:13 -05:00
|
|
|
#include <version>
|
2020-05-21 07:32:38 -04:00
|
|
|
|
2023-03-06 06:34:13 -05:00
|
|
|
#ifdef __cpp_lib_format
|
2023-02-27 14:09:31 -05:00
|
|
|
#include <format>
|
|
|
|
namespace fmt = std;
|
|
|
|
#else
|
2023-02-28 10:32:53 -05:00
|
|
|
#include <fmt/core.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _WINDOWS_
|
|
|
|
#undef ERROR
|
|
|
|
#undef IN
|
|
|
|
#undef TRUE
|
|
|
|
#undef FALSE
|
|
|
|
#undef far
|
2023-02-27 14:09:31 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
using namespace std::literals;
|
2023-01-23 17:31:08 -05:00
|
|
|
|
|
|
|
namespace xsk
|
|
|
|
{
|
|
|
|
|
|
|
|
using usize = std::size_t;
|
|
|
|
using u8 = std::uint8_t;
|
|
|
|
using u16 = std::uint16_t;
|
|
|
|
using u32 = std::uint32_t;
|
|
|
|
using u64 = std::uint64_t;
|
|
|
|
using i8 = std::int8_t;
|
|
|
|
using i16 = std::int16_t;
|
|
|
|
using i32 = std::int32_t;
|
|
|
|
using i64 = std::int64_t;
|
|
|
|
using f32 = float;
|
|
|
|
using f64 = double;
|
|
|
|
|
2023-05-13 13:24:57 -04:00
|
|
|
} // namespace xsk
|