std::ranges::common_range
来自cppreference.com
在标头 <ranges> 定义
|
||
template< class T > concept common_range = |
(C++20 起) | |
common_range
概念是对 range
的精化,ranges::begin 与 ranges::end 对其返回相同类型(如所有标准库容器)。
示例
运行此代码
#include <ranges> struct A { char* begin(); char* end(); }; static_assert( std::ranges::common_range<A> ); struct B { char* begin(); bool end(); }; // 不是 common_range: begin/end 返回类型不同 static_assert( not std::ranges::common_range<B> ); struct C { char* begin(); }; // 不是 common_range, 甚至不是 range: 没有 end() static_assert( not std::ranges::common_range<C> ); int main() {}
参阅
转换 view 为 common_range (类模板) (范围适配器对象) |