Описание тега boost-iterators

2 ответа

boost zip_iterator игнорирует правильность констант

В течение цикла внутри main() функция следующего кода, я могу изменить переменные внутри переменной ab даже когда const auto& используется в цикле. Есть ли способ избежать этого? #include <functional> #include <iostream> #include &lt…
13 сен '17 в 13:48
1 ответ

Использование boost::iterator

Я написал разреженный векторный класс (см. № 1, № 2.) Я хотел бы предоставить два вида итераторов: Первый набор, обычные итераторы, может указывать на любой элемент, установленный или не заданный. Если они читаются из, они возвращают либо установлен…
12 май '10 в 21:48
1 ответ

Реализуйте ленивый генератор как forward_iterator в C++

MyGenerator представляет (возможно) конечную последовательность целых чисел, которая является дорогой для вычисления. Поэтому я не хочу генерировать их все заранее и поместить в контейнер. struct MyGenerator{ bool HasNext(); int Next(); } Чтобы напе…
22 дек '14 в 14:01
1 ответ

Пользовательский итератор для пользовательского контейнера

Я проектирую контейнер, который представляет собой сетку, представленную как одномерный массив (шаблонный). Я публикую здесь фрагмент кода, на самом деле это еще не все. Он используется в качестве скользящей сетки занятости в роботизированном прилож…
02 мар '13 в 18:42
1 ответ

Реализовать итератор для каждого элемента контейнера значений для каждого ключа карты, используя бустер-итератор

Как реализовать итератор только для значений карты /unordered_map, используя boost::iterator_adaptor? Я пробовал следующий код, но он не работает из-за строки с комментарием. Есть ли решение, чтобы избежать проблемы? Вопрос здесь немного отличается …
11 мар '16 в 11:33
1 ответ

Косвенный_итератор для карты<T, shared_ptr <U >>

Я пытаюсь реализовать итератор map&lt;T, shared_ptr&lt;U&gt;&gt; что "удаляет" shared_ptrто есть ссылки на pair&lt;T, U&amp;&gt;, Мне нужно это, чтобы адаптировать мою обертку map на основе диапазона для цикла. boost::indirect_iterator кажется, что-…
22 мар '13 в 18:15
1 ответ

Преобразовать два вектора в вектор кортежей, используя stl и boost

Я имею vector&lt;time&gt; tt; vector&lt;space&gt; xx; я хотел бы получить vector&lt;tuple&lt;time,space&gt;&gt; trajectory; это то, что я до сих пор std::for_each(boost::make_zip_iterator( boost::make_tuple(tt.begin(),xx.begin(), boost::make_tuple(t…
16 янв '13 в 01:36
1 ответ

Как можно избежать конфликтов boost::compute::zip_iterator и boost::iterators::zip_iterator при совместном использовании boost compute и boost::range?

Я хотел бы использовать boost::compute and boost::range вместе, как показано ниже, но если я раскомментирую #include &lt;boost/range/combine.hpp&gt; линия я получаю сообщение о том, что boost::compute::zip_iterator а также boost::iterators::zip_iter…
1 ответ

Итерация потоков в обратном порядке

Я хотел бы использовать std::find_if пройти через содержимое std::streambuf задом наперед. Это включает в себя создание std::reverse_iterator из std::istream_iterator или же std::istreambuf_iterator, К сожалению, попытка сделать это, как показано в …
04 июл '13 в 01:17
1 ответ

Могу ли я использовать один и тот же класс для изменяемых и константных итераторов при реализации пользовательского итератора с помощью boost::iterator_adapter?

У меня есть класс, который владеет std::vector и должен обеспечить begin(), end(), cbegin() а также cend() методы. Поскольку я не хочу раскрывать детали реализации, то есть использовать std::vector Я должен иметь свой собственный итератор. Как я пон…
23 май '17 в 13:39
0 ответов

Могу ли я "подтолкнуть" boost::iterator на boost iostream

Мне удалось получить работу: 1) кодер / декодер base 64, использующий boost::archive::iterators, полученный из Base64, кодирует с использованием исключения броска boost 2) компрессор, использующий boost:: iostreams, как показано здесь: проблема boos…
20 янв '14 в 14:03
1 ответ

Увеличить iterator_facade и форвардные объявления

Я хочу создать пользовательский контейнер, который поддерживает итераторы. Это выглядит так: class SomeContainer { ... public: typedef SomeIterator iterator; iterator begin() { ... } iterator end() { ... } }; Затем я создаю итератор для этого: class…
14 авг '12 в 19:02
2 ответа

Шаблонная функция C++ с аргументом указателя, взятым из итератора, выдает ошибку

Извините, если название не было достаточно описательным, я понятия не имею, что не так с этим: template &lt;class S, class P&gt; P* findPolicy(boost::ptr_vector&lt;P&gt; &amp;policies,S *state) { typename boost::ptr_vector&lt;P&gt;::iterator it; for…
0 ответов

Boost Python Tuple Iterator

Я пытаюсь экспортировать итератор над кортежами из C++ в Python, используя следующий код: class PyContainer { public: PyContainer(int maxSize) : maxSize(maxSize) { cout &lt;&lt; "Constructor called with maxSize = " &lt;&lt; maxSize &lt;&lt; endl; } …
1 ответ

Пользовательский итератор, использующий повышающий итератор

У меня есть собственная структура данных, например: class Node; class GraphDM { public: GraphDM(); // these are to iterate on all items of _faninNodes // like all elements in multimap FaninIter faninBegin(); FaninIter faninEnd(); // these are to ite…
04 мар '16 в 18:04
1 ответ

Определение основанного на прокси OutputIterator с точки зрения boost::iterator_facade

Я написал этот код на C++17 и ожидал, что он будет работать "из коробки". class putc_iterator : public boost::iterator_facade&lt; putc_iterator, void, std::output_iterator_tag &gt; { friend class boost::iterator_core_access; struct proxy { void oper…
18 апр '17 в 19:52
2 ответа

Почему boost filter_iterator имеет странную функцию make_filter_iterator?

После некоторой боли мне удалось взломать этот минимальный пример boost filter_iterator using namespace std; std::function&lt;bool(uint32_t)&gt; stlfunc= [](uint32_t n){return n%3==0;}; int main() { vector&lt;uint32_t&gt; numbers{11,22,33,44,55,66,7…
20 мар '13 в 20:36
2 ответа

Эффективный способ ссылки на имя типа итератора без ввода всего определения контейнера?

Есть ли более эффективный способ ссылки на имя типа итератора контейнера, чем ввод std::unordered_map&lt;keyclass, valueclass&gt;::iterator каждый раз, когда мне нужен итератор? Есть конечно typedef boost::unordered_map&lt;keyclass, valueclass&gt;::…
07 фев '13 в 11:52
0 ответов

Повысьте реализацию iterator_facade

Я надеюсь, что кто-то, знакомый с реализацией boost iterator_facade, сможет пролить свет на то, почему следующая мета-функция используется при выборе writable_postfix_increment_proxy или же postfix_increment_proxy, template &lt;class Reference, clas…
25 окт '18 в 23:52
1 ответ

Какая польза от типа вложенного указателя в iterator_traits?

std::iterator_traits Шаблон класса определяет 5 вложенных типов: iterator_category, value_type, difference_type, pointer а также reference, Просмотр источников &lt;algorithm&gt; заголовок обоих libC++ и libstdC++, можно увидеть множество применений …