腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
boost
msm
无法
处理
多态
事件
?
、
、
我正在使用
boost
:
msm
来创建一个状态机。在
处理
事件
时,状态机似乎并不关心
多态
性。假设我有多个
事件
都是从一个基本
事件
派生的: struct EvtBase { virtual ~EvtBase();} struct EvtB :> event_list {std::make_shared<EvtA>(), std::make_shared<EvtB>()}; 当我通过状态机
处
浏览 28
提问于2021-09-15
得票数 1
1
回答
在
boost
::
msm
中作为inital活动状态的子状态机
、
、
、
、
struct E { template <class TEvent, class TStateMachine::
msm
::front::state<> { void on_entry(E const& event, TStateMachine::
msm
::front::state_mach
浏览 7
提问于2014-10-01
得票数 2
回答已采纳
1
回答
如何使用前向声明和
boost
::
msm
来避免循环依赖?
、
、
、
、
我试图用
boost
::
msm
实现一个简单的协议。当数据包到达时,它们将被
处理
并发送到状态机(SM),以便相应地进行
处理
。守则包括: #ifndef
事件
#定义
事件
// -
事件
结构Event1 {};结构Event2 {};#endif //
事件
#include #include>#包括“state 1.h”#include“state 2.h”命名空间
ms
浏览 2
提问于2018-06-04
得票数 1
回答已采纳
1
回答
从子状态机延迟
事件
、
、
、
这个主状态机有一个状态(为了简单起见,我们称它为SubMachineEntry ),它表示子状态机的入口点:namespacemsmb =
boost
::
msm
::back;msmf::Row < SomeState, enterSub, SubMachineEntry, msmf::none, msmf::none我的问题是,在子状态机退出之前,可能会分派某个
事件
(toProcessInOuter),并且应该在子状
浏览 3
提问于2018-12-21
得票数 0
回答已采纳
1
回答
如何防止正交区域转移用于错误
处理
、
、
、
我想使用
Boost
MSM
创建以下状态机:如果正交状态为"B“,我希望能够防止Error
事件
触发AllOk + Error == InError转换。类似于:然而,我
无法
找到如何使用
Boost
MSM
,也没有使用常规的UML命名,这使我认为我走错了方向。有一个经典的"UML习语“来
处理
这种行为吗?AllOk + Error == InError设置了一个警戒线,检查另一个
浏览 10
提问于2020-05-04
得票数 1
回答已采纳
1
回答
启动状态机
无法
在启动时
处理
内部转换。
、
、
只有SubSM
处理
“触发器”
事件
。 有什么问题吗?当调用start时SM还没有准备好吗?#include <iostream> #include <
boo
浏览 8
提问于2020-05-13
得票数 3
回答已采纳
1
回答
Boost
MSM
:使用状态机本身作为隐式顶级状态
、
、
C直接
处理
事件
e,而A和B不这样做,但我想回退到
事件
e的默认
处理
程序( Samek称之为“终极钩子”模式)(当在状态A和B中找不到
处理
程序时将调用该
处理
程序)。然而,使用
Boost
MSM
,我不能在状态机级别实现这个
处理
程序,而必须引入一个包含A、B和C的额外容器状态S。 有没有一种方法可以直接在状态机级别实现
事件
处理
程序,而不需要这种容器状态?
浏览 10
提问于2019-11-20
得票数 0
回答已采纳
1
回答
带升压
MSM
的分层状态机
、
我有一个用
Boost
MSM
实现的非常大的状态机,最后今天我超出了向量限制50 (有太多的
事件
出现在我的状态机上,这是
无法
避免的)。问题是,
MSM
是否支持分层状态机。例如(如果我错了请纠正我),在分层状态机中,如果某个
事件
没有在特定状态下
处理
,则该
事件
将被转发到当前状态的父状态&以此类推。作为减少转换表大小的一部分,我希望创建一个父状态,其中具有公共
处理
程序的
事件
将被
处理
,从而减少转换表的大
浏览 4
提问于2016-08-29
得票数 4
回答已采纳
5
回答
Boost
Statechart诉Meta State Machine
、
、
、
、
很明显,
boost
包含两个独立的状态机库:和 (
MSM
)。这些标语给出了非常相似的描述:
Boost
.Statechart -任意复杂的有限状态机可以在易读和可维护的C++代码中实现.
浏览 16
提问于2010-11-25
得票数 153
回答已采纳
1
回答
查找
boost
::
msm
基本状态机中的
多态
性示例
、
、
我对c++、
boost
和使用状态机都很陌生。有没有人知道
多态
提升的例子::
msm
状态机?在再次仔细阅读了基本示例之后,我意识到要使它具有
多态
性,我应该在子类中定义后端并从前端继承。 //front-end #include <
boost
/
msm</
浏览 4
提问于2013-08-31
得票数 0
回答已采纳
1
回答
为什么返回类型而不是对象是有效的,误解了代码片段
、
、
我尝试了一下
boost
msm
lite,它是一个非常好的状态机实现。像往常一样,我试图理解它是如何工作的,并找到了一个我
无法
理解的代码片段。Chrs> return event<aux::string<Chrs...>>;<bool, T>::value)> auto operator[](const T &
浏览 9
提问于2016-09-07
得票数 4
回答已采纳
1
回答
升压式
MSM
在电流状态切换
、
、
假设我有一个超级简单的状态机:struct run {};{ struct Idle : public
boost
::
msm
::front::state<> {}; struct Run
浏览 1
提问于2018-07-11
得票数 1
回答已采纳
2
回答
为什么
boost
::
msm
::front::state_machine只能支持它的转换表最多10个状态?
、
、
、
我试图用几个状态、保护和操作来建立自己的状态机,但是当转换表中的状态数超过10个状态时,就会弹出大量的错误消息,但我仍然
无法
从它们推断错误的来源。我已将我的代码简化如下:#include <
boost
/
msm
/back/state_machine.hpp> #include <
boost
/
msm
/back/state_machine.hp
浏览 0
提问于2018-02-27
得票数 1
回答已采纳
1
回答
在使用type_info时为子类获取shared_ptr
、
、
、
、
应用程序类最终将包含一个map,它将type_info映射到一个
处理
程序函数(我知道如何使用operator<)将
事件
路由到它们的特定
处理
程序。使用带有原始指针的
多态
可以做到这一点,但如果将shared_ptrs引入其中,我将
无法
做到这一点。它总是报告说,type_info是基类的,无论我是使用shared_ptr的type_info (并不奇怪,智能指针在
多态
上没有关联)还是使用.get()的指向类的type_info。我并不是在寻找在
事件
子类本身中定义
浏览 3
提问于2015-03-27
得票数 3
回答已采纳
1
回答
推进
msm
euml融合问题
、
我实际上是在使用eUML进行
boost
::
msm
,这确实是一件很棒的事情,我以前用它创建了一些更简单的FSM。
BOOST
_
MSM
_EUML_STATE((act_do_a), state_1)
BOOST
_
MSM
_EUML_STATE_5)
BOOST
_
M
浏览 0
提问于2017-01-04
得票数 0
1
回答
从状态内部的自定义函数(而不是动作)调用process_event?
、
、
我试图使用std::thread在用
Boost
MSM
库编码的状态机中实现并行行为。我使用std::thread从状态A的on_entry方法启动一个线程,我想知道如何调用process_event方法,以便从该线程中触发一个
事件
。下面是一个最低限度的工作示例:#include <thread> #include <
boost
/
msm
/back/sta
浏览 2
提问于2017-03-22
得票数 0
回答已采纳
1
回答
Boost
MSM
只
处理
内部转换
、
、
、
我正在使用新的
Boost
1.44.0
MSM
库来生成状态机。在这个状态机中,有两类
事件
( class1和class2 )。class1
事件
可以由状态S1或S2
处理
,而class2
事件
只能由状态S2
处理
。// State S1 and S2 allow any cla
浏览 6
提问于2010-10-14
得票数 5
回答已采纳
1
回答
无法
用模板参数编译
boost
Meta状态机
、
无法
确定在_TSm__中违反了哪条规则。_Sm__是编译的,_TSm__不是: 错误C2974:'
boost
::mpl::vector':'T3#include <
boost
/
msm
/back/state_machine.hpp> #include <
boost
/
ms
浏览 0
提问于2018-07-11
得票数 1
回答已采纳
1
回答
msm
用法:如何设置目标状态的属性
、
我定义了一个
事件
,它将调用到目标状态的转换。我想通过
事件
数据来设置目标的属性。我的选择是: 1.在操作或保护中设置属性:但它仍然处于源状态。如果我在目标条目中设置了目标状态属性,那么我会填写得不好:但是属性值是在接收
事件
时被计算出来的,所以我应该再次重新计算:( 任何人都可以给我更多的想法。谢谢!
浏览 0
提问于2016-02-18
得票数 0
回答已采纳
1
回答
状态机、封装和OOP设计
、
在有限状态机中,我有描述
事件
、源状态、目标状态、动作和保卫<code>E 210</code>s的转换表。 这是我第一次使用更高级的状态机设计。在过去,我只使用开关状态并执行代码。
浏览 1
提问于2018-07-11
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
聊聊C+的类和面向对象编程
boost:asio中的buffer与streambuf简介
对编程范式的简单思考
一起学习Boost标准库-Boost.texical
Java面向对象的原理,你明白了吗
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券