Какова категория итератора iota_view?C++

Программы на C++. Форум разработчиков
Anonymous
Какова категория итератора iota_view?

Сообщение Anonymous »

Я экспериментировал с std :: iterator_traits и std :: views :: iota . И вдруг я узнал, что std :: iterator_traits возвращает неожиданный тип для категории итератора. :

Код: Выделить всё

#include 

int main() {
auto view = std::views::iota(0ULL, 10000000000ULL);

static_assert(
std::is_same_v<
std::iterator_traits::iterator_category
, std::input_iterator_tag>
);
}
< /code>
libstdc++
:

Код: Выделить всё

#include 

int main() {
auto view = std::views::iota(0ULL, 10000000000ULL);

static_assert(
std::is_same_v<
std::iterator_traits::iterator_category
, std::output_iterator_tag>
);
}
< /code>
What is the reason for that? Why does category from traits differ from std::random_access_tag
?

Подробнее здесь: https://stackoverflow.com/questions/795 ... w-iterator

Вернуться в «C++»