std::ranges::common_range
来自 cppreference.com
定义在头文件 <ranges> 中 |
||
template< class T > concept common_range = |
(自 C++20 起) | |
common_range
概念是对 range
的细化,对于该概念,std::ranges::begin() 和 std::ranges::end() 返回相同类型(例如,所有标准库容器)。
[编辑] 示例
运行此代码
#include <ranges> struct A { char* begin(); char* end(); }; static_assert( std::ranges::common_range<A> ); struct B { char* begin(); bool end(); }; // not a common_range: begin/end have different types static_assert( not std::ranges::common_range<B> ); struct C { char* begin(); }; // not a common_range, not even a range: has no end() static_assert( not std::ranges::common_range<C> ); int main() {}
[编辑] 另请参阅
将 view 转换为 common_range (类模板) (范围适配器对象) |