Coreutils++
The GNU Coreutils implemented in C++
Loading...
Searching...
No Matches
coreutils::ArgumentParser< Program, Args > Class Template Referencefinal

#include <ArgumentParser.hpp>

Public Member Functions

constexpr ArgumentParser (int argc, const char **argv)
constexpr auto ParseArgsOrExit ()
constexpr void PrintVersion () const
constexpr void PrintHelp () const
template<class Out>
constexpr Out & get ()

Private Attributes

std::span< const char * > args_ {}
std::tuple< Args... > arg_values_ {}

Static Private Attributes

static constexpr std::string_view license_info_

Constructor & Destructor Documentation

◆ ArgumentParser()

template<IsProgramInfo Program, Arg... Args>
coreutils::ArgumentParser< Program, Args >::ArgumentParser ( int argc,
const char ** argv )
inlineexplicitconstexpr

Member Function Documentation

◆ get()

template<IsProgramInfo Program, Arg... Args>
template<class Out>
Out & coreutils::ArgumentParser< Program, Args >::get ( )
inlineconstexpr

◆ ParseArgsOrExit()

template<IsProgramInfo Program, Arg... Args>
auto coreutils::ArgumentParser< Program, Args >::ParseArgsOrExit ( )
inlineconstexpr

◆ PrintHelp()

template<IsProgramInfo Program, Arg... Args>
void coreutils::ArgumentParser< Program, Args >::PrintHelp ( ) const
inlineconstexpr

◆ PrintVersion()

template<IsProgramInfo Program, Arg... Args>
void coreutils::ArgumentParser< Program, Args >::PrintVersion ( ) const
inlineconstexpr

Member Data Documentation

◆ arg_values_

template<IsProgramInfo Program, Arg... Args>
std::tuple<Args...> coreutils::ArgumentParser< Program, Args >::arg_values_ {}
private

◆ args_

template<IsProgramInfo Program, Arg... Args>
std::span<const char*> coreutils::ArgumentParser< Program, Args >::args_ {}
private

◆ license_info_

template<IsProgramInfo Program, Arg... Args>
std::string_view coreutils::ArgumentParser< Program, Args >::license_info_
staticconstexprprivate
Initial value:
{
"Copyright (C) 2025 Free Software Foundation, Inc.\nLicense GPLv3+: "
"GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis "
"is free software: you are free to change and redistribute it.\nThere "
"is NO WARRANTY, to the extent permitted by law."}

The documentation for this class was generated from the following file: