Описание тега range-v3
NoneRange -v3 - это библиотека диапазонов для C++11/14.
1
ответ
Как вы объявляете возвращаемое значение представления range-v3?
В настоящее время я могу составить представления range-v3 следующим образом: auto v = ranges::view::reverse | ranges::view::filter([](int l){return l>5;}); Но если бы я хотел вернуть v из функции, мне нужно было бы знать ее тип. Каков тип предста…
03 дек '18 в 19:33
1
ответ
Что такое Range V3 для MakeStream::iterate()?
C++ Streams имеет iterate() который принимает начальное значение, n и функция, f() затем производит сначала n с последующим f(n), f(f(n))... auto stream = MakeStream::iterate(1245, [](int x) { if(x % 2 == 0) { return x / 2; } else { return 3 * x + …
24 фев '16 в 18:53
1
ответ
Как определить эквивалентность между `range::view` объектом и`std::vector`?
Я использую отличную библиотеку range-v3. Одна из моих функций возвращает ranges::view объект, который я хотел бы сравнить с std::vector, Конечно, я могу сравнить поэлементно, но должен быть лучший способ. Как определить эквивалентность между ranges…
21 дек '17 в 21:42
1
ответ
Возвращать различные конструкции диапазона из функции
Я пытаюсь получить диапазон просмотра, который ведет себя как истинно-ложные маски. Чтобы делать логические операции, я хочу реализовать и и, и / или маски. У меня есть рабочее время компиляции или: struct make_or_mask_fn { template<typename... M…
29 авг '18 в 10:32
1
ответ
Почему диапазоны:: накапливать не передать init как std::move(init) при вызове?
По состоянию на коммит d5e9afc 17 марта 2010 года из накопления.hpp При прохождении диапазона init получает std::move когда-то так. T operator()(Rng && rng, T init, Op op = Op{}, P proj = P{}) const { return (*this)(begin(rng), end(rng), std…
24 апр '18 в 11:10
5
ответов
Как написать конвейер диапазона, который использует временные контейнеры?
У меня есть сторонняя функция с этой подписью: std::vector<T> f(T t); У меня также есть существующий потенциально бесконечный диапазон ( типа range-v3) T названный src, Я хочу создать конвейер, который отображает f ко всем элементам этого диап…
24 апр '16 в 07:56
2
ответа
C++ Boost Range. Массив пар из массива
У меня есть массив целых C, и его размер, т.е. int* arr, unsigned size, Я хочу иметь что-то похожее на что-то, что будет содержать пары элементов в качестве элементов. Чтобы уточнить, задача заключается в следующем: я получаю массив, как [1,2,3,4] и…
21 дек '18 в 09:52
1
ответ
Как создать декартову линейку продуктов из отфильтрованных данных?
Я пытаюсь создать линейку декартовых продуктов из меньших. я думал ranges::v3::view::cartesian_product будет работать, но как-то не так. Если я попытаюсь создать декартово произведение, используя контейнеры напрямую, у меня нет проблем. Следующие ко…
03 янв '19 в 20:35
1
ответ
Почему interleave_view отсутствует в библиотеке range-v3?
В примере с календарем Эрика Ниблера-v3 он использует перемежение, за которым следует чанк, чтобы транспонировать матрицу. Интересно, почему interleave не является частью библиотеки range-v3...
03 янв '19 в 12:36
2
ответа
Сделать пользовательский диапазон v3 view pipeable
Я пытаюсь реализовать замаскированный диапазон просмотра с помощью диапазона v3. Каким-то образом я оказался в ситуации, когда моя реализация ranges::view::masker(datarange, mask) работает, но трубопроводная версия ranges::view::all(datarange) | ran…
18 июл '18 в 11:24
1
ответ
Доступные для записи диапазоны почтовых индексов невозможны?
Следующая ошибка: #include <range/v3/view.hpp> #include <range/v3/view/zip.hpp> #include <range/v3/utility/iterator.hpp> // ... std::vector< std::tuple<int, std::string> > const data{ {1,"a"}, {2,"b"}, {3,"c"} }; std::v…
25 фев '19 в 03:03
0
ответов
Mutate элемент Range Range
У меня есть двумерный вектор перечислений std::vector<std::vector<enum>>перечисление может иметь значения a (0), b (1), c(2), Я хотел бы случайно установить один из aк c и думал, что я попробую библиотеку диапазонов. В настоящее время у …
01 мар '19 в 15:32
3
ответа
Несколько итераторов в сложный диапазон
Я пытаюсь получить несколько итераторов для более сложного диапазона (используя библиотеку range-v3) - вручную реализуем декартово произведение, используя filter, for_each а также yield, Тем не менее, когда я пытался удерживать несколько итераторов …
04 янв '19 в 22:40
1
ответ
Как скрыть сложный тип диапазона от диапазона-v3?
Мне нужен класс с методом, который возвращает некоторый диапазон, используя библиотеку range-v3. Чтобы реализовать такой класс, я могу написать все правильно в определении этого класса. Например: #include <iostream> #include <set> #inclu…
07 дек '18 в 15:06
2
ответа
Распаковка набора кортежей в n-арную функцию
Предположим, у меня есть ряд кортежей, например, из функции zip. Должны ли функции, работающие в этом диапазоне, быть всегда одинарными или существует какое-либо преобразование, которое распаковывает кортеж в аргументы функции. По сути, я хотел бы с…
01 фев '19 в 17:46
2
ответа
Библиотека C++ range-v3: "взятие" первых 3 совершенных чисел работает и останавливается; "первые четыре" не останавливаются после 4
Насколько я понимаю, операции просмотра библиотеки range-v3 (в настоящее время требуется C++17, но для того, чтобы стать официальной частью STL в C++20) предоставляют цепочечные STL-подобные алгоритмы, которые лениво оцениваются. В качестве эксперим…
16 ноя '18 в 16:26
1
ответ
Сохранить двунаправленность с помощью Ranges-v3 view::join
Я столкнулся с некоторыми трудностями с view::join функциональный объект (удивительной) библиотеки Ranges-v3. Мой клиентский код зависит от наличия обратного метода (и был бы очень признателен за итераторы произвольного доступа) для агрегированного …
15 мар '17 в 20:49
1
ответ
Неспособность вызвать обратное на последовательности Фибоначчи в диапазоне -3
Я не могу сделать view::reverse оперировать первыми 10 элементами (используя view::take(10)) последовательности Фибоначчи v генерируется с использованием range-v3"s view::generate #include <iostream> #include <range/v3/view/iota.hpp> #in…
19 мар '17 в 13:02
1
ответ
Диапазоны TS ломают изменения?
Говорят, что инъекция Ранг TS в std Пространство имен вызовет ряд критических изменений в стандартной библиотеке (например, эта ссылка). Кто-нибудь знает, что это за изменения?
30 ноя '16 в 14:50
2
ответа
Как преобразовать диапазон, пара за парой, с range-v3?
Я пишу алгоритм для удаления перекрытий, учитывая диапазон строк (я называю это "линиями" из-за неоднозначности термина "диапазон" в данном случае). Это как line похоже: struct line { int begin, width; int end() const { return begin + width; } }; Пр…
08 мар '17 в 22:46