“cpp/experimental/ranges/iterator/Iterator”的版本间的差异
来自cppreference.com
< cpp | experimental | ranges
(++) |
小 |
||
第2行: | 第2行: | ||
{{cpp/experimental/ranges/iterator/navbar}} | {{cpp/experimental/ranges/iterator/navbar}} | ||
{{ddcl|header=experimental/ranges/iterator|since=ranges|1= | {{ddcl|header=experimental/ranges/iterator|since=ranges|1= | ||
− | template <class I> | + | template< class I > |
concept bool Iterator = | concept bool Iterator = | ||
− | + | requires(I i) { | |
− | + | { *i } -> auto&&; // 要求 可解引用 | |
− | + | } && | |
− | + | WeaklyIncrementable<I>; | |
− | + | ||
}} | }} | ||
第15行: | 第14行: | ||
{{cpp/experimental/ranges/equality preservation}} | {{cpp/experimental/ranges/equality preservation}} | ||
− | === 注 | + | === 注 === |
{{tt|Iterator}} 自身仅指定解引用和自增迭代器的操作。大多数算法将要求额外操作: | {{tt|Iterator}} 自身仅指定解引用和自增迭代器的操作。大多数算法将要求额外操作: | ||
− | * 比较迭代器与哨位(见 {{rconcept|Sentinel}} | + | * 比较迭代器与哨位(见 {{rconcept|Sentinel}}); |
− | * 从迭代器读取值(见 {{rconcept|Readable}} 及 {{rconcept|InputIterator}} | + | * 从迭代器读取值(见 {{rconcept|Readable}} 及 {{rconcept|InputIterator}}); |
− | * 写入值到迭代器(见 {{rconcept|Writable}} 及 {{rconcept|OutputIterator}} | + | * 写入值到迭代器(见 {{rconcept|Writable}} 及 {{rconcept|OutputIterator}}) |
− | * 更丰富的迭代器动作集合(见 {{rconcept|ForwardIterator}} | + | * 更丰富的迭代器动作集合(见 {{rconcept|ForwardIterator}}、{{rconcept|BidirectionalIterator}}、{{rconcept|RandomAccessIterator}}) |
− | {{c|-> auto&&}} 制约解引用的结果类型不能为 {{c|void}} | + | {{c|-> auto&&}} 制约解引用的结果类型不能为 {{c|void}}。 |
{{langlinks|en}} | {{langlinks|en}} |