This commit is contained in:
Timur A. Fatkhullin
2025-09-25 00:08:08 +03:00
parent f729799335
commit b8383c1375
4 changed files with 303 additions and 85 deletions

View File

@@ -23,6 +23,11 @@ template <typename R>
concept mcc_char_view = std::ranges::view<R> && std::same_as<std::ranges::range_value_t<R>, char>;
// range of char/const char
template <typename R, typename CharT = char>
concept mcc_char_range = std::ranges::range<R> && std::same_as<std::remove_cv_t<std::ranges::range_value_t<R>>, CharT>;
// input range of char/const char
template <typename R, typename CharT = char>
concept mcc_input_char_range =
@@ -39,6 +44,9 @@ template <typename R>
concept mcc_view_or_output_char_range = mcc_char_view<R> || mcc_output_char_range<R>;
template <typename R>
concept mcc_range_of_char_range = std::ranges::range<R> && mcc_char_range<std::ranges::range_value_t<R>>;
template <typename R>
concept mcc_range_of_input_char_range =
std::ranges::range<R> && traits::mcc_input_char_range<std::ranges::range_value_t<R>>;