Описание тега 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…
03 сен '18 в 02:54
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 <iostream> #incl…
24 апр '14 в 00:40
1
ответ
CGAL:: ошибка пересечения
Я использую CGAL для расчета пересечений между 3d треугольниками. Мне нужно проверить, если пересечения возвращают точки или линии или треугольники. typedef CGAL::Cartesian<double> tc; typedef tc::Triangle_3 Triangle3; CGAL::cpp11::result_of&l…
04 авг '14 в 17:05
1
ответ
Почему этот двоичный файл apply_visitor не работает?
#include <string> #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 << "Base::AddField " << tag …
07 мар '13 в 11:53
0
ответов
Вариант пиксельного буфера для вектора с использованием boost::apply_visitor
Я пытаюсь преобразовать variablepixelbuffer.vbuffer() в вектор двойных значений, используя apply_visitor в boost. Я пришел с этим фрагментом кода до сих пор: struct GetVector : public boost::static_visitor<std::vector<double>> { //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<> с бустом:: вариант? Если нет, есть ли причины не использовать посетителя? Есть ли причины предпочитать класс посетителя? Я задаю этот вопрос, п…
03 апр '13 в 14:01
1
ответ
Избегая избыточного кода в boost:: варианте посетителей
Я сталкиваюсь со следующей проблемой: у меня есть некоторые посетители для boost:: option, которые все делают то же самое для определенного типа, здесь foo, поэтому метод void operator()(const foo& 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. Существуют ли непреодолимые…
13 окт '13 в 08:18
1
ответ
Улучшенный вариант: ошибка компиляции apply_visitor
Этот простой пример кода для boost:: option и boost::apply_visitor: #include <boost/variant/recursive_variant.hpp> struct ExprFalse; struct ExprTrue; struct ExprMaybe; typedef boost::variant< ExprFalse, ExprTrue, ExprMaybe > Expression; …
16 дек '13 в 18:10