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

Как реализовать адаптер диапазона с boost::joined_range
Вот пример адаптера диапазона, основанного на 2 4 6 2. html" rel="nofollow">Реализовать адаптер диапазона с аргументами : #include <boost/range/join.hpp> #include <boost/range/algorithm.hpp> #include <boost/range/adaptors.hpp>...
1055 просмотров
schedule 28.03.2023

Составление адаптеров в Boost::range
Я начал играть с Boost::Range, чтобы иметь конвейер ленивых преобразований в C++ . Теперь моя проблема заключается в том, как разделить конвейер на более мелкие части. Предположим, у меня есть: int main(){ auto map =...
2498 просмотров

Адаптер с фильтром диапазона усиления
Возможно ли/достижимо отрицать адаптер с фильтром повышения, например. std::vector<int> v = {1, 2, 3, 4, 5}; for(auto i : v | !filtered(is_even)) std::cout << i << std::endl; // prints 1,3,5 вместо того, чтобы делать...
1584 просмотров
schedule 29.07.2023

С++: как найти max_element с помощью boost::range?
Я пытаюсь вернуть итератор на самый большой элемент в отфильтрованном диапазоне. Вот что у меня есть до сих пор: #include <boost/lambda/lambda.hpp> #include <boost/range/adaptors.hpp> #include <boost/range/algorithm.hpp>...
1875 просмотров
schedule 20.06.2023

Цикл for на основе диапазона с boost :: adapter :: indexed
Цикл for на основе диапазона C ++ 11 разыменовывает итератор. Значит ли это, что нет смысла использовать его с boost::adaptors::indexed ? Пример: boost::counting_range numbers(10,20); for(auto i : numbers | indexed(0)) { cout << "number...
1920 просмотров
schedule 20.10.2022

Использование адаптеров диапазона повышения с диапазоном итератора каталога
Редактировать: я добавил несколько решений под своим вопросом, основываясь на ответе Джонатана Я хочу иметь список обычных файлов с определенным шаблоном имени в данном каталоге. Я взял один из примеров из boost.filesystem (буст 1.53) и...
4682 просмотров
schedule 19.04.2022

Как использовать MFC CString с библиотекой алгоритма строки повышения
Предварительное примечание : string_algo отлично работает с std::wstring , и, конечно, я могу (и делаю) сначала преобразовать объект(ы) CString в std::wstring, если и когда мне понадобится алгоритм из string_algo. Было бы очень хорошо, если бы я...
1004 просмотров

Boost-range не работает с изменяемой лямбдой с ++ 1y init-capture
Я хочу вычислить поэлементную разницу двух векторов, используя Boost.Range и лямбда-выражения C ++ 1y с захватом инициализации . Работает более простой случай вычитания фиксированного (т.е. первого) элемента одного вектора. Однако, когда я...
443 просмотров
schedule 16.02.2023

Почему ADL не работает с Boost.Range?
Учитывая: #include <cassert> #include <boost/range/irange.hpp> #include <boost/range/algorithm.hpp> int main() { auto range = boost::irange(1, 4); assert(boost::find(range, 4) == end(range)); } Демо Live Clang...
980 просмотров

адаптер диапазона повышения, который делает коллекцию
Я хочу написать повышающий адаптер, чтобы поместить его в конец цепочки адаптеров для создания коллекции, например: set<string> s = input | filtered(...) | transformed(...) | to_set; Использование метода operator| 1.html" rel="nofollow...
806 просмотров
schedule 25.11.2022

Как инкапсулировать пользовательский итератор в функцию с помощью boost-range
В последнее время я использовал boost-range для создания диапазонов элементов, удовлетворяющих определенным критериям. Во всех случаях я все время использую один и тот же тип отфильтрованного диапазона, поэтому я попытался инкапсулировать это...
172 просмотров
schedule 09.08.2022

Как использовать итераторы boost::range со стандартными итераторами
У меня есть функции, которые принимают std::vector итераторов, например typedef std::vector<Point> Points; Points ConvexHull(Points::const_iterator first, Points::const_iterator last); Обычно я передаю им итераторы std , но иногда...
1070 просмотров
schedule 02.06.2022