Вопросы по теме '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 просмотров
schedule
30.03.2023
Адаптер с фильтром диапазона усиления
Возможно ли/достижимо отрицать адаптер с фильтром повышения, например.
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 просмотров
schedule
21.03.2022
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 просмотров
schedule
10.12.2022
адаптер диапазона повышения, который делает коллекцию
Я хочу написать повышающий адаптер, чтобы поместить его в конец цепочки адаптеров для создания коллекции, например:
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