Spec-Zone.ru › C++

std::default_sentinel_t, std::default_sentinel

Определено в заголовке <iterator>
struct default_sentinel_t {};
(1) (с C++20)
inline constexpr default_sentinel_t default_sentinel{};
(2) (с C++20)
1) default_sentinel_t — это пустой тип класса, используемый для обозначения конца диапазона. Его можно использовать вместе с типами итераторов, которые знают границу своего диапазона (например, std::counted_iterator).
2) default_sentinel — это константа типа default_sentinel_t.

Пример

#include <algorithm>
#include <iostream>
#include <iterator>
#include <list>
 
int main()
{
    std::list<int> l{3, 1, 4, 1, 5, 9, 2, 6};
 
    std::ranges::copy(std::counted_iterator(std::begin(l), 4),
        std::default_sentinel, std::ostream_iterator<int>{std::cout, " "});
    std::cout << '\n';
}

Вывод:

3 1 4 1

См. также

istream_iterator
итератор ввода, читающий из std::basic_istream
(шаблон класса)
istreambuf_iterator
итератор ввода, читающий из std::basic_streambuf
(шаблон класса)
counted_iterator
(C++20)
адаптер итератора, отслеживающий расстояние до конца диапазона
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/default_sentinel_t

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API