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

Как перебрать два контейнера, подобных STL (декартово произведение)
Я хотел бы уменьшить следующее с помощью BOOST typedef std::vector<int>::const_iterator Iterator; for(Iterator i = v1.begin(), ie = v1.end(); i != ie; ++i) { for(Iterator j = v2.begin(), je = v2.end(); j != je; ++j) { doSomething( *i,...
1957 просмотров
schedule 23.12.2022

Метафункция для проверки совместимости объекта с диапазоном повышения
Существует ли или как бы вы написали класс метафункций, который проверяет, совместим ли класс с boost::range ? Я хочу использовать идиому boost::enable , что-то вроде template <typename T> Constructor::Constructor(const T& t,...
215 просмотров
schedule 19.03.2023

Пример итератора ввода, где `end ()` фактически обозначает один после конца?
Сейчас я пытаюсь осмыслить некоторые идеи относительно. Итераторы С++, и мне было интересно... Учитывая инкрементный/однопроходный / Итератор ввода/вывода , может ли вообще существовать такая вещь, как одиночная позиция/элемент для такого...
485 просмотров
schedule 15.06.2022

повысить multi_index_container, алгоритмы изменения диапазона и константность
Я использую boost multi_index_container, который запрашивается с помощью equal_range, а результат возвращается функцией с помощью range::join и boost::any_range Аргумент ссылки any_range определяется как константная ссылка на тип — должен быть...
379 просмотров

Объединить boost::spirit и boost::any_range?
Функция boost::spirit::qi::parse() ожидает, что два итератора будут определять входной диапазон. Это хорошо работает, если я пытаюсь разобрать std::string или std::istream . Теперь я хочу реализовать более общий интерфейс для моего парсера....
118 просмотров
schedule 01.04.2022

«использовать алгоритмы; не пишите код» для многошаговой логики?
Этот вопрос заставляет меня задуматься: «Вообще не используйте явный цикл! Используйте алгоритмы STL/Boost», но при детальном рассмотрении я замечаю, что существует adjacent_difference и accumulate , а в Boost где-то есть zip , while...
178 просмотров
schedule 08.05.2023

Как использовать boost::range::adaptors::transformed вместо std::unordered_set?
Я пытаюсь использовать boost::adaptors::transformed вместо std::unordered_set, но, похоже, это приводит к странному поведению даже в довольно небольших экспериментах. Я использую Boost 1.58.0 на Ubuntu 16.04 с gcc 5.4.0. Добавленные элементы...
1642 просмотров
schedule 03.10.2022