【发布时间】:2020-10-06 14:44:44
【问题描述】:
在 C++ 中是否有一个已经定义的概念用于指定特定类型的范围 20 或在范围内-TS?
类似:
template < class T, class InnerType >
concept RangeOf =
requires(T&& t) {
requires std::same_as<
std::remove_cvref_t<decltype(*std::ranges::begin(t))>,
InnerType
>;
std::ranges::end(t);
};
允许,for example:
void print(const RangeOf<char> auto& char_seq) { /* ... */ }
【问题讨论】:
-
当你使用你所展示的概念时会发生什么?
-
@cigien 该概念允许匹配特定内部类型的范围,例如字符范围,问题是这样的概念是否已经提出或定义。
-
好的,然后编辑您的问题以明确代码有效,并且您在询问 STL 中是否已经存在这样的概念。
标签: c++ range c++20 c++-concepts