Описание тега apply-visitor

boost::apply_visitor - Позволяет во время компиляции проверять типобезопасное применение данного посетителя к содержимому данного варианта, гарантируя, что посетитель обрабатывает все типы.
1 ответ

Как вернуть значение шаблона из boost::apply_visitor?

Следующий код правильно выплевывает значения 999 а также "test"в консоль, но как мне вместо этого вернуть эти значения? Что-то вроде закомментированной строки было моей конечной целью; вернуть значение, которое я могу затем присвоить автоматической …
16 янв '15 в 05:25
1 ответ

Как сделать так, чтобы приложение-посетитель не сбрасывало квалификатор const?

Можно ли написать const функция с apply_visitor внутри? Например, этот код компилируется без ошибок: #include <stdio.h> #include <stdlib.h> #include <string> #include <boost/variant.hpp> using namespace std; typedef boost::va…
10 ноя '13 в 22:28
1 ответ

apply_visitor не меняет объект

Я унаследовал от boost::static_visitor<> и определил класс следующим образом: class move_visitor : public boost::static_visitor<> { private: double m_dx, m_dy; public: move_visitor() : m_dx(0.0), m_dy(0.0) {} move_visitor(double dx, doub…
1 ответ

Извлечение объектов из Boost:: вариант

Я пытался задать свой вопрос раньше, но я думаю, что способ, которым я задаю мой вопрос, не является правильным. поэтому я попробовал еще раз здесь: (до сих пор я не знаю, какой предмет будет уместным) сначала я определил typedef boost::variant<p…
18 июл '13 в 12:38
1 ответ

Как изменить boost::apply_visitor для возврата значения?

Я пытаюсь использовать boost:: option и boost::apply_visitor. Это уже работает, за исключением случаев, когда я пытаюсь заставить функции Vistor возвращать (булево) значение. Я видел много примеров того, как SO это делает, но я не смог создать рабоч…
24 ноя '15 в 09:15
2 ответа

Как конвертировать boost::Makevariantover в вектор

У меня есть импульс::makevariantover. Как я могу преобразовать это в вектор. Любые примеры будут полезны при использовании boost::apply_visitor class pixel_visitor : public boost::static_visitor<> { public: template <typename T> void ope…
08 апр '16 в 07:41
2 ответа

C++ Boost:: вариант универсального конвертера

В течение последних трех дней я пытался выяснить, как реализовать общий способ получения значения из boost:: variable<...>, но это было довольно сложно. Вот решение, которое я мог бы придумать, но оно совсем не общее: #include &lt;iostream&gt; #incl…
24 апр '14 в 00:40
1 ответ

CGAL:: ошибка пересечения

Я использую CGAL для расчета пересечений между 3d треугольниками. Мне нужно проверить, если пересечения возвращают точки или линии или треугольники. typedef CGAL::Cartesian&lt;double&gt; tc; typedef tc::Triangle_3 Triangle3; CGAL::cpp11::result_of&l…
04 авг '14 в 17:05
1 ответ

Почему этот двоичный файл apply_visitor не работает?

#include &lt;string&gt; #include "boost/variant/variant.hpp" #include "boost/variant/apply_visitor.hpp" using namespace std; class Base { public: Base(){} ~Base(){} void AddField(int tag, int value){std::cout &lt;&lt; "Base::AddField " &lt;&lt; tag …
07 мар '13 в 11:53
0 ответов

Вариант пиксельного буфера для вектора с использованием boost::apply_visitor

Я пытаюсь преобразовать variablepixelbuffer.vbuffer() в вектор двойных значений, используя apply_visitor в boost. Я пришел с этим фрагментом кода до сих пор: struct GetVector : public boost::static_visitor&lt;std::vector&lt;double&gt;&gt; { //values…
07 апр '16 в 05:45
1 ответ

Какой тип возврата boost::apply_visitor (отложенная версия)

В следующем коде я сохранил результат задержки apply_visitor в auto переменная. Какой тип я могу использовать вместо auto? Можно ли использовать std::function? #include "boost/variant/variant.hpp" #include "boost/variant/apply_visitor.hpp" using nam…
06 ноя '12 в 10:36
1 ответ

Ускорение: почему apply_visitor не работает в этом коде

Я получаю следующую ошибку компилятора: /usr/include/boost/variant/variant.hpp:832:32: ошибка: нет совпадения для вызова '(const StartsWith) (bool&)' для следующего кода. Кто-нибудь знает почему? #include "boost/variant/variant.hpp" #include "boost/…
07 ноя '12 в 07:38
2 ответа

Требуется ли класс посетителя boost:: option?

Должен ли я использовать класс посетителя, такой как class Visitor : public boost::static_visitor&lt;&gt; с бустом:: вариант? Если нет, есть ли причины не использовать посетителя? Есть ли причины предпочитать класс посетителя? Я задаю этот вопрос, п…
03 апр '13 в 14:01
1 ответ

Избегая избыточного кода в boost:: варианте посетителей

Я сталкиваюсь со следующей проблемой: у меня есть некоторые посетители для boost:: option, которые все делают то же самое для определенного типа, здесь foo, поэтому метод void operator()(const foo&amp; ast) { //allways the same } всегда одинаково у …
23 сен '16 в 10:32
2 ответа

Повышение: сравнение вариантов с apply_visitor

Может кто-нибудь сказать мне, почему я получаю ошибку компилятора для последней строки следующего кода? примечание: если я удалю следующую строку, мой код будет скомпилирован без ошибок: appliedEqualityVisitor(compareValue); Вот код: #include "boost…
06 ноя '12 в 13:21
1 ответ

Boost:: вариант посетитель выбирает неправильную перегрузку

Почему распечатывается следующее "A boolean!"? Я понимаю, что происходит какое-то странное преобразование, поскольку, если я явно создаю std::string, я получаю правильное поведение. Но почему выбирают разрешение перегрузки? visitor::operator()(bool)…
26 мар '13 в 11:39
0 ответов

Можно ли сохранить возвращаемое значение boost::apply_visitor в переменной-члене?

Можно ли сохранить возвращаемое значение boost::apply_visitor в переменной-члене класса?мне нужно получить Test::Do работать, но не знаю как. #include "boost/variant/variant.hpp" #include "boost/variant/apply_visitor.hpp" using namespace std; using …
10 мар '13 в 09:38
1 ответ

Использование apply_visitor для фильтрации от вектора варианта

Вчера я задал этот вопрос, и "juanchopanza" ответил на мой вопрос, но, к сожалению, я не могу поймать один из ограниченных типов. Поскольку использование "посетителя" более надежно, мне также интересно, кто-нибудь может дать мне решение с помощью "п…
17 июл '13 в 10:28
0 ответов

boost::variable перемещает семантику при использовании boost::apply_visitor

Когда я попытался построить один AST из другого ( постоянное свертывание), я заметил, что во время вызова посетителя происходит ненужное копирование. Но конструкция перехода должна быть там, если мы говорим о C++11/C++1y. Существуют ли непреодолимые…
1 ответ

Улучшенный вариант: ошибка компиляции apply_visitor

Этот простой пример кода для boost:: option и boost::apply_visitor: #include &lt;boost/variant/recursive_variant.hpp&gt; struct ExprFalse; struct ExprTrue; struct ExprMaybe; typedef boost::variant&lt; ExprFalse, ExprTrue, ExprMaybe &gt; Expression; …
16 дек '13 в 18:10