7 #include "arg_router/traits.hpp"
8 #include "arg_router/utility/string_view_ops.hpp"
51 return prefix == other.prefix &&
name == other.name;
61 return !(*
this == other);
76 using namespace utility::string_view_ops;
88 for (
auto i = 0u; i < view.size(); ++i) {
90 if (i != (view.size() - 1)) {
105 using namespace config;
109 return {prefix_type::long_, token};
126 template <
typename Node>
128 std::string_view token)
130 using namespace config;
132 if constexpr (traits::has_long_name_method_v<Node>) {
135 return {prefix_type::long_, token};
138 if constexpr (traits::has_short_name_method_v<Node>) {
constexpr auto short_prefix
constexpr auto long_prefix
constexpr std::string_view to_string(prefix_type prefix) noexcept
token_type get_token_type(std::string_view token)
std::vector< T, config::allocator< T > > vector
std::string_view name
Token name, stripped of prefix (if any)
constexpr bool operator==(const token_type &other) const noexcept
prefix_type prefix
Prefix type.
constexpr token_type(prefix_type p, std::string_view n) noexcept
constexpr bool operator!=(const token_type &other) const noexcept