Skip to content

Commit

Permalink
Simplify get_arg_index_by_name
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaut committed May 15, 2021
1 parent 54f22a3 commit 588bdb5
Showing 1 changed file with 8 additions and 14 deletions.
22 changes: 8 additions & 14 deletions include/fmt/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -2444,27 +2444,21 @@ constexpr int get_arg_index_by_name(basic_string_view<Char> name) {
if constexpr (detail::is_statically_named_arg<T>()) {
if (name == T::name) return N;
}
if constexpr (sizeof...(Args) == 0) {
return invalid_arg_index;
} else {
if constexpr (sizeof...(Args) > 0)
return get_arg_index_by_name<N + 1, Args...>(name);
}
return invalid_arg_index;
}
#endif

template <typename... Args, typename Char>
constexpr int get_arg_index_by_name(basic_string_view<Char> name) {
if constexpr (sizeof...(Args) == 0) {
return invalid_arg_index;
} else {
FMT_CONSTEXPR int get_arg_index_by_name(basic_string_view<Char> name) {
#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS
if constexpr (sizeof...(Args) > 0)
return get_arg_index_by_name<0, Args...>(name);
}
}
#else
template <typename... Args, typename Char>
constexpr int get_arg_index_by_name(basic_string_view<Char>) {
#endif
(void)name;
return invalid_arg_index;
}
#endif

template <typename Char, typename ErrorHandler, typename... Args>
class format_string_checker {
Expand Down

0 comments on commit 588bdb5

Please sign in to comment.