问题标签 [apply-visitor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - boost::apply_visitor 的返回类型是什么(延迟版)
在下面的代码中,我将延迟的结果存储apply_visitor
在一个auto
变量中。我可以用什么类型代替auto
?可以使用std::function
吗?
c++ - Boost:将变体与 apply_visitor 进行比较
有人可以告诉我为什么下面代码的最后一行出现编译器错误吗?
注意:如果我删除以下行,我的代码将被编译且没有错误:
这是代码:
c++ - Boost:为什么 apply_visitor 在此代码中不起作用
我收到以下编译器错误:
/usr/include/boost/variant/variant.hpp:832:32: error: no match for call to '(const StartsWith) (bool&)'</p>
对于以下代码。有人知道为什么吗?
c++ - 为什么这个二进制 apply_visitor 不起作用?
我收到此编译错误:
apply_visitor_unary.hpp:60:43: 错误:在“visitable”中请求成员“apply_visitor”,它是非类类型“int”</p>
我的代码有什么问题?
c++ - 是否可以将 boost::apply_visitor 的返回值存储在成员变量中?
是否可以将返回值存储boost::apply_visitor
在类的成员变量中?
我需要让Test::Do
功能正常工作,但不知道如何。
c++ - boost::variant 访问者选择了错误的重载
为什么会打印出以下内容"A boolean!"
?我意识到正在进行一些奇怪的转换,因为如果我明确地构造一个 std::string 我会得到正确的行为。但是为什么visitor::operator()(bool)
在以下情况下选择重载解析呢?
我正在运行 Visual Studio 2012(CTP 或不给出相同的结果)
c++ - boost::variant 访问者类是必需的吗?
class Visitor : public boost::static_visitor<>
我是否需要使用带有 boost::variant的访问者类?
如果不是,是否有理由不使用访问者?有理由更喜欢访客班吗?
我问这个问题是因为访问者类对于 boost::variant 的使用来说是一个多余的方面。
c++ - 使用 apply_visitor 从变体向量中过滤
昨天我问了这个问题,“juanchopanza”回答了我的问题,但不幸的是我无法抓住其中一种有界类型。由于使用“访问者”更健壮,我也想知道有人可以使用“访问者”给我一个解决方案吗?
我正在寻找过滤 boost 变体向量的最佳方法,它的定义如下:
当我调用此向量时,仅过滤 T2 有界类型并插入新向量的最佳方法是什么?或者以其他方式,我想要这样的东西
std::vector<T2> T2Vec =
...(如何使用apply_visitor从 Vec 过滤它)...
再次感谢!
编辑:@ ForEveR 的 solotion:
和:
你能告诉我这里有什么问题吗?
c++ - 从 boost::variant 中检索对象
我之前尝试过问我的问题,但我认为我问问题的方式不合适。所以我在这里再次尝试:(我仍然不知道什么主题合适)
首先我定义
我编写函数取决于它返回点、线、顶点甚至它们的组合的情况。
所以最后我们可能会有这样的东西 {ed, p0_modified, p0_modified, ed, m, ed, m, ed, p0_modified, p0_modified, ed, m, ....} {Line,Point,Point,Line,Vertex ,线,顶点,线,点,点,线,顶点, ...}
现在我在代码的另一部分(不同的文件)调用这个函数
我在这里调用了上面的函数:
c++ - 使用 boost::apply_visitor 时的 boost::variant 移动语义
当我尝试从另一个(常量折叠)构建一个 AST 时,我注意到在调用访问者时存在不必要的复制构造。但是,如果我们谈论 C++11/C++1y,则应该存在移动构造。
创建正确支持通用引用的访问者/多访问者版本是否有任何不可克服的困难?