小编sch*_*ltz的帖子

StateMachine与std :: variant,获得自定义模板扣除权

使用以下代码如何正确编写自定义模板推导?

template<class R, class State, class... Ts> struct visitor : Ts... { using  Ts::operator()...; };
template<class R, class State, class... Ts> visitor(State, Ts...)->visitor<class R, State,Ts...>;

using Event = std::variant<HeartBeat, ConfigurationRead>;
using State = std::variant<Idle, Starting, Running, Error>;

void case3()
{
    Event e;
    State currentState;
    State newState = std::visit( visitor{
        [](Idle&& state, HeartBeat event) {std::cout << "Currently stopped, heartbeat received.\n"; return Error{}; }
    }, currentState, e);
}
Run Code Online (Sandbox Code Playgroud)

我已经看了几个例子,但我找不到一个使用std :: visit的返回.

c++17 std-variant

5
推荐指数
1
解决办法
149
查看次数

Boost::graph 获取到根的路径

我有以下图表

boost::adjacency_list<boost::setS, boost::vecS, boost::directedS, GraphItem>;
Run Code Online (Sandbox Code Playgroud)

我需要一直到父节点的路径到根节点。我无法更改图形的类型,是否有任何算法以及它有什么复杂性?

c++ boost-graph c++14

2
推荐指数
1
解决办法
557
查看次数

标签 统计

boost-graph ×1

c++ ×1

c++14 ×1

c++17 ×1

std-variant ×1