// SPDX-License-Identifier: Zlib // SPDX-FileCopyrightText: (c) 2024 a dinosaur #ifndef ARGPARSE_HPP #define ARGPARSE_HPP #include #include #include #include #include #include #include #include namespace ArgParse { struct Option { std::string_view argumentName; std::string_view helpString; char flag; bool required; static constexpr Option Optional(char flag, const std::string_view name, const std::string_view help) { return { name, help, flag, false }; } static constexpr Option Required(char flag, const std::string_view name, const std::string_view help) { return { name, help, flag, true }; } }; struct Options { const std::vector