Namespaces
Variants

operator- (std::counted_iterator<I>, std::default_sentinel_t)

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
friend constexpr std:: iter_difference_t < I > operator - (
const counted_iterator & x, std:: default_sentinel_t ) ;
(1) (C++20 起)
friend constexpr std:: iter_difference_t < I > operator - (
std:: default_sentinel_t , const counted_iterator & y ) ;
(2) (C++20 起)
1) 返回至终点的负距离。
2) 返回距末尾的正向距离。

此函数模板对普通的 非限定查找 限定查找 不可见,仅当 std::counted_iterator<I> 作为参数关联类时,通过 实参依赖查找 才能找到该模板。

目录

参数

x, y - 用于计算差值的迭代器适配器

返回值

1) - x. count ( )
2) y. count ( )

示例

#include <initializer_list>
#include <iterator>
int main()
{
    constexpr static auto v = {1, 2, 3, 4};
    constexpr std::counted_iterator<std::initializer_list<int>::iterator>
        it{v.begin(), 3};
    constexpr auto d1 = it - std::default_sentinel;
    static_assert(d1 == -3); // (1)
    constexpr auto d2 = std::default_sentinel - it;
    static_assert(d2 == +3); // (2)
}

参见

前进或后退 counted_iterator
(公开成员函数)
(C++20)
前进迭代器
(函数模板)
(C++20)
计算两个迭代器适配器间的距离
(函数模板)
用于知晓其范围边界的迭代器的默认哨兵
(类)