Вопросы по теме 'std-ranges'

Существует ли аналог ranges::views::group_by, который учитывает все элементы, а не только смежные?
В std::ranges C++20 мы можем ожидать получения C++20 1views C++20 1group__by__fn.html" rel="nofollow noreferrer"> views::group_by 1 . Это может быть очень удобно, но во время игры я обнаружил проблему. Из руководства Эрика Ниблера мы можем...
537 просмотров
schedule 25.10.2023

Объединение нескольких адаптеров диапазона в один диапазон в C++20
Рассмотрим следующий случай: std::vector<int> v{0, 1, 2, 3, 4, 5}; // 0 1 2 3 4 5 auto rng1 = std::views::all(v); // 5 4 3 2 1 0 auto rng2 = std::views::reverse(v); // 4 2 0 auto rng3 = std::views::filter(rng2, [](int x){return x % 2 ==...
368 просмотров
schedule 29.03.2023

std :: regular_invocable и аргументы по значению
Предполагается ли, что следующий пример демонстрирует нарушение предусловия? #include <memory> #include <iostream> #include <vector> #include <ranges> int main() { std::vector<int> x{1, 2, 3, 4}; auto r = x |...
76 просмотров
schedule 05.04.2022

Почему views::reverse не работает с iota_view‹int64_t, int64_t›
У меня есть следующая программа на C++ , и по какой-то причине я не могу использовать int64_t в качестве аргумента шаблона. #include <iostream> #include <ranges> template<typename T> void fn() { for (auto val :...
183 просмотров
schedule 07.04.2024

Как правильно определить is-derived-from-view-interface?
LWG3549 предлагает view_interface<D> не должен наследовать view_base , что позволяет адаптерам диапазона лучше выполнять пустую базовую оптимизацию. В последнем [range.view] определение понятия view было изменено. следующие...
62 просмотров
schedule 30.10.2022