Вопросы по теме 'range-v3'

диапазоны диапазонов в вектор векторов
Предположим, у меня есть диапазон T, называемый rng. я могу сделать auto groups = ranges::view::group_by(rng, bin_op); группы теперь представляют собой диапазон диапазонов Т. я тоже могу это сделать auto groups =...
1526 просмотров
schedule 13.10.2023

Замена данных на range-v3
TL;DR Как можно получить те же результаты, что и std::copy(std::begin(a), std::end(a), std::begin(b)); используя range-v3 и, возможно, его приятный синтаксис? ИЗМЕНИТЬ Причина, по которой у меня возникли проблемы, заключается в...
570 просмотров
schedule 04.08.2023

Как заполнить std::array диапазоном из range-v3?
Я новичок в библиотеке range-v3. Предположим, я хочу заполнить std::array случайными числами через некоторый интервал. С итераторами я бы сделал что-то вроде этот ответ , передав итераторы моему std::array в качестве аргументов....
861 просмотров
schedule 22.01.2024

range-v3: объединение диапазонов с разделителем
Я пытаюсь создать базовую демонстрацию библиотеки range-v3: взять несколько целых чисел, отфильтровать нечетные значения, преобразовать их в строки, а затем объединить их в список, разделенный запятыми. Например, { 8, 6, 7, 5, 3, 0, 9 } становится...
282 просмотров
schedule 06.11.2022

Почему эта реализация суммирования векторов в rangev3 медленнее, чем эквивалент STD?
Я рассматриваю возможность использования rangev3 в своей библиотеке. Мне нравится синтаксис rangev3, но приоритетом является производительность. Библиотека выполняет множество операций умножения и сложения векторов, в основном длиной 128 отсчетов....
256 просмотров
schedule 14.02.2022

Как проверить, вернули ли range :: алгоритмы, например, find_if значение?
Например, если я хочу найти наименьший элемент коллекции, но только наименьший элемент даже , я хотел бы вызвать ranges::min_element с отфильтрованным диапазоном следующим образом: using ranges::views::filter; using ranges::min_element;...
243 просмотров
schedule 18.07.2023

Существует ли аналог 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

Автоматически распаковывать кортеж при вызове функции в C++
Я использую range-v3, и иногда я использовал ranges::views::enumerate , чтобы получить идентификатор значения, которое я повторяю. enumerate view возвращает кортеж, содержащий идентификатор и значение, поэтому я хотел бы знать, можно ли...
49 просмотров
schedule 15.01.2024

Объединить диапазон диапазонов в диапазон
Пусть rw = ranges::views . Пытаюсь создать исключительно с помощью range-v3 аналог конструкции: std::vector<int> v; // range = {0, 1, 2} auto range = rw::ints (0, 3); for (int i : range) for (int j : range) v.push_back...
54 просмотров
schedule 25.04.2023