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

#include <arg_router/policy/display_name.hpp>

Public Types

using string_type = S
 

Public Member Functions

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

Static Public Member Functions

constexpr static std::string_view display_name () noexcept
 

Detailed Description

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

Represents the display name of a node.

A display name is a label given to a node that appears in the help output, but is not used in the token parsing.

In the default validator, this policy is not allowed to be used with long_name and short_name - as we shouldn't be trying to confuse the user...

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::display_name<S_("hello")>;
constexpr auto b = ar::policy::display_name_t{"hello"_S};
#define S_(tok)
Note
Display names must not be empty
Template Parameters
SCompile-time string

Definition at line 29 of file display_name.hpp.

Member Typedef Documentation

◆ string_type

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

String type.

Definition at line 33 of file display_name.hpp.

Constructor & Destructor Documentation

◆ display_name_t()

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

Constructor.

Parameters
strString instance

Definition at line 39 of file display_name.hpp.

Member Function Documentation

◆ display_name()

template<typename S >
constexpr static std::string_view arg_router::policy::display_name_t< S >::display_name ( )
inlinestaticconstexprnoexcept

Returns the name.

Returns
Display name

Definition at line 45 of file display_name.hpp.


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