arg_router  1.4.0
C++ command line argument parsing and routing
arg_router::policy::program_name_t< S > Class Template Reference

#include <arg_router/policy/program_name.hpp>

Public Types

using string_type = S
 

Public Member Functions

constexpr program_name_t ([[maybe_unused]] S str={}) noexcept
 

Static Public Member Functions

constexpr static std::string_view program_name () noexcept
 

Detailed Description

template<typename S>
class arg_router::policy::program_name_t< S >

Represents the program name.

Used by help nodes to produce their output, though in principle can be used by anything that wants to.

If using C++17 then use the template variable helper with the S_ macro; for C++20 and higher, use the constructor directly with a compile-time string literal:

constexpr auto a = ar::policy::program_name<S_("hello")>;
constexpr auto b = ar::policy::program_name_t{"hello"_S};
#define S_(tok)
Note
Names must be greater than one character and cannot contain any whitespace characters
Template Parameters
SCompile-time string

Definition at line 26 of file program_name.hpp.

Member Typedef Documentation

◆ string_type

template<typename S >
using arg_router::policy::program_name_t< S >::string_type = S

String type.

Definition at line 30 of file program_name.hpp.

Constructor & Destructor Documentation

◆ program_name_t()

template<typename S >
constexpr arg_router::policy::program_name_t< S >::program_name_t ( [[maybe_unused] ] S  str = {})
inlineexplicitconstexprnoexcept

Constructor.

Parameters
strString instance

Definition at line 36 of file program_name.hpp.

Member Function Documentation

◆ program_name()

template<typename S >
constexpr static std::string_view arg_router::policy::program_name_t< S >::program_name ( )
inlinestaticconstexprnoexcept

Returns the program name.

Returns
Program name

Definition at line 42 of file program_name.hpp.


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