Coreutils++
The GNU Coreutils implemented in C++
Loading...
Searching...
No Matches
ArgumentParser.hpp File Reference

implmentation details for the coreutlspp-wide argument parser More...

#include <algorithm>
#include <array>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <format>
#include <functional>
#include <stdexcept>
#include <string_view>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  coreutils::detail::ComptimeString< Length >
struct  coreutils::detail::ArgumentBase< PrimaryName, Aliases >
struct  coreutils::detail::ArgumentBase<"">
struct  coreutils::detail::Argument< ParseType, N, Converter, Names >
struct  coreutils::detail::Argument< T, NArgs::Many, Converter, Names... >
struct  coreutils::detail::Argument< T, NArgs::Many, Converter, "">
struct  coreutils::detail::Argument< T, NArgs::None, Converter, Names... >
struct  coreutils::detail::Argument< T, NArgs::One, Converter, Names... >

Namespaces

namespace  coreutils
namespace  coreutils::detail

Enumerations

enum class  coreutils::detail::ParseState : std::uint8_t { coreutils::detail::Start , coreutils::detail::Seeking , coreutils::detail::End }
enum struct  coreutils::detail::NArgs : std::uint8_t { coreutils::detail::None , coreutils::detail::One , coreutils::detail::Many }

Detailed Description

implmentation details for the coreutlspp-wide argument parser

Copyright (C) 2025 Sebastian Pineda (spine.nosp@m.da.w.nosp@m.pi.al.nosp@m.um@g.nosp@m.mail..nosp@m.com)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/