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

Boost.Foreach - это библиотека C++, содержащая макрос для простого перебора элементов последовательности.
1 ответ

Как сделать мой класс повторяемым с помощью BOOST_FOREACH в C++?

РЕДАКТИРОВАТЬ: Я сдаюсь! Я использую просто for (string& word : sentence) { .. } вместо сейчас. BOOST_FOREACH безнадежно Спасибо. Я прочитал это, и это, и они не помогли вообще. Особенно хочу спросить про вторую ссылку. Почему вы должны определи…
26 дек '13 в 05:03
2 ответа

Невозможно выполнить итерацию для не копируемого контейнера, возвращаемого функцией

Я не уверен в названии, потому что я не уверен, что проблема связана с "копируемостью" моего контейнера. Я попробовал все, но не могу избавиться от этой ошибки. Вот упрощенная версия моего кода (пожалуйста, не оспаривайте дизайн класса, я действител…
19 май '15 в 19:21
2 ответа

BOOST_FOREACH Итерация над boost::shared_ptr<список>

Я делаю что-то похожее на этот пункт Правильное использование BOOST_FOREACH? Тем не менее, мой возвращенный список обернут в boost::shared_ptr. Если я не назначу список переменной до цикла BOOST_FOREACH, я получаю сбой во время выполнения, поскольку…
04 июл '11 в 15:45
2 ответа

Нужна помощь с ошибкой BOOST_FOREACH/ компилятора

Я знаю, что виноват boost или compiler, но я не вижу здесь другого объяснения. Я использую MSVC 2008 SP1 и повысить 1,43. В следующем коде выполнение фрагмента кода никогда не покидает третий цикл BOOST_FOREACH typedef Graph&lt;unsigned, unsigned&gt…
21 май '10 в 11:09
5 ответов

Почему BOOST_FOREACH не совсем эквивалентен ручному кодированию?

От повышения док, Это приводит к почти оптимальной генерации кода; производительность BOOST_FOREACH обычно находится в пределах нескольких процентов от эквивалентного кодированного вручную цикла. Я думаю, используя макросы и нестандартный оператор t…
21 фев '12 в 11:59
1 ответ

Разбор JSON с бустом свойства дерева

Я создаю приложение, которое получает информацию о фильме с themoviedb.com. Информация представлена ​​в файле JSON. Я пытаюсь сохранить информацию, используя дерево свойств boost. Но есть небольшая проблема. Я иллюстрирую проблему следующим кодом: #…
20 дек '12 в 12:29
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_FOREACH и плагина cxxtest

В настоящее время я работаю над проектом, в котором я использую: библиотеки повышения v1.39 Затмение CDT (Юнона) и Cygwin Плагин CxxTest: http://wiki.web-cat.org/WCWiki/EclipsePlugins/CxxTestPlugin и я столкнулся с проблемой, касающейся const_cast, …
09 авг '13 в 11:16
2 ответа

Изменения в контейнере, пока BOOST_FOREACH выполняет итерацию по нему?

Что произойдет, если контейнер, который перебирает BOOST_FOREACH, изменяется внутри области BOOST_FOREACH? BOOST_FOREACH "замораживает" начальное состояние?
21 апр '11 в 11:49
2 ответа

Использование BOOST_FOREACH с постоянным навязчивым списком

Рассмотрим следующий код для перебора навязчивого списка с помощью макроса BOOST_FOREACH: #include &lt;boost/foreach.hpp&gt; #include &lt;boost/intrusive/list.hpp&gt; typedef boost::intrusive::list&lt; boost::intrusive::list_base_hook&lt;&gt; &gt; M…
31 май '12 в 15:16
1 ответ

Как перечислить BOOST_ENUM с BOOST_FOREACH?

Может кто-нибудь объяснить мне, как перечислить BOOST_ENUM, используя BOOST_FOREACH? Пример ниже показывает, что я получил его для работы с std:: for_each, но не с BOOST_FOREACH. Образец кода: BOOST_ENUM_VALUES( MyEnum, const char *, (xMin)("xMin") …
30 окт '10 в 22:41
2 ответа

Это вызывает неопределенное поведение?

Адресное дезинфицирующее средство жалуется. struct X { iterator begin(); iterator end(); }; X foo(); const X&amp; bar(const X&amp; x) { return x; } BOOST_FOREACH(const auto&amp; xitem, bar(foo())) { //use xitem }
19 ноя '14 в 14:27
1 ответ

Получить указатель на текущий элемент BOOST_FOREACH

Учитывая следующий простой код: list&lt;MyClass&gt; m_listOfOBjects; .... MyClass* ptrToMyClass; BOOST_FOREACH(MyClass object, m_listOfObjects) { ptrToMyClass = &amp;object } Мой вопрос, указывает ли ptrToMyClass на временный объект или на реальный …
29 фев '16 в 06:31
0 ответов

BOOST_FOREACH сломан; это вообще возможно исправить?

Если вы используете имя переменной, имя которой совпадает с именем переменной цикла, BOOST_FOREACH запутывается: #include &lt;boost/foreach.hpp&gt; #include &lt;vector&gt; struct Test { }; std::vector&lt;int&gt; test(Test) { return std::vector&lt;in…
01 янв '13 в 02:23
1 ответ

Почему BOOST_FOREACH на карте работает только с typedef

Я пытался написать простой цикл map&lt;int, int&gt;элемент, и мне интересно, почему 1-й синтаксис, который я использовал, не работает / компилируется? Первая версия, которую я написал, была следующей, и она не компилируется с VS'2008 / boost версии …
18 мар '14 в 13:38
3 ответа

Итерация по контейнеру rvalue

Вызывает ли следующий код неопределенное поведение? std::map&lt;int, vector&lt;int&gt;&gt; foo() { return ... } BOOST_FOREACH(const int&amp; i, foo()[42]) { std::cout &lt;&lt; i &lt;&lt; std::endl; } Если не определено, каков хороший способ это испр…
10 фев '14 в 14:40
3 ответа

Переопределить макрос BOOST_FOREACH безопасно

У меня есть следующий макрос: #define FOREACH(decl, c) BOOST_FOREACH(decl, std::make_pair((c).begin(), (c).end())) (Я использую этот макрос, потому что мои контейнеры не реализуют изменяемый API итерации.) Проблема в том, что c оценивается дважды. М…
13 янв '12 в 23:42
4 ответа

Как я могу использовать BOOST_FOREACH с контейнером, поддерживающим только const_iterator?

У меня есть этот контейнер: class /*final*/ Row { public: typedef FieldIterator const_iterator; typedef FieldIterator iterator; FieldIterator begin() const; FieldIterator end() const; FieldIterator begin(); FieldIterator end(); ... }; Учитывая это, …
12 янв '12 в 13:11
4 ответа

Как я могу перебрать два вектора одновременно, используя BOOST_FOREACH?

Я хотел бы повторить следующее с BOOST FOREACH std::vector&lt;int&gt;::const_iterator i1; std::vector&lt;int&gt;::const_iterator i2; for( i1 = v1.begin(), i2 = v2.begin(); i1 &lt; v1.end() &amp;&amp; i2 &lt; v2.end(); ++i1, ++i2 ) { doSomething( *i1…
02 сен '11 в 16:51
1 ответ

Проблема с использованием get_value с деревьями свойств Boost

Я должен написать парсер XML с Boost. Однако у меня есть некоторые проблемы. Я могу получить доступ к имени узла без каких-либо проблем, но по какой-то причине я не могу получить доступ к атрибутам внутри тега с помощью get_value, который должен раб…
09 дек '14 в 10:54