...
This commit is contained in:
@@ -8,35 +8,11 @@
|
||||
#include <ranges>
|
||||
#include <string_view>
|
||||
|
||||
#include "mcc_traits.h"
|
||||
|
||||
namespace mcc
|
||||
{
|
||||
|
||||
namespace traits
|
||||
{
|
||||
|
||||
template <typename R>
|
||||
concept mcc_char_view = std::ranges::view<R> && std::same_as<std::ranges::range_value_t<R>, char>;
|
||||
|
||||
|
||||
// input range of char/const char
|
||||
template <typename R, typename CharT = char>
|
||||
concept mcc_input_char_range =
|
||||
std::ranges::input_range<R> && std::is_same_v<std::remove_cv_t<std::ranges::range_value_t<R>>, CharT>;
|
||||
|
||||
|
||||
// output range of char/const char
|
||||
template <typename R, typename CharT = char>
|
||||
concept mcc_output_char_range =
|
||||
std::ranges::output_range<R, CharT> && std::same_as<std::remove_cv_t<std::ranges::range_value_t<R>>, CharT>;
|
||||
|
||||
|
||||
template <typename R>
|
||||
concept mcc_view_or_output_char_range = mcc_char_view<R> || mcc_output_char_range<R>;
|
||||
|
||||
|
||||
|
||||
} // namespace traits
|
||||
|
||||
namespace utils
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user