定义超过 50 行的升压 msm 状态机
Defining boost msm state machine with more than 50 rows
我有状态机,其中有大约 60 行(转换)。它不再编译,因为 MPL 类型存在一些限制。
我从Boost MSM文档中发现,可以通过以下方法解决此限制
目前,实现更多目标的唯一解决方案是添加标头 到 MPL(幸运的是,这并不复杂)。
那么如何将标头添加到 MPL?
在任何#include <mpl...>
定义之前:
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
#define BOOST_MPL_LIMIT_VECTOR_SIZE 30 // or whatever you need
#define BOOST_MPL_LIMIT_MAP_SIZE 30 // or whatever you need
相关文章:
- 如何在使用 Boost MSM 编写的状态机中直接访问任何状态
- 启动状态机无法在启动时处理内部转换
- 实现C++状态机.如何解决Wpmf对流警告
- 无法使用模板参数编译提升元状态机
- Boost状态机语言-"操作"中的"发布"事件
- 将C++数据模型与Qt SCXML状态机一起使用
- 如何在 boost::msm 中实现可以访问状态机 (SM) 的后端/前端的"BaseState"
- 分层状态机涉及哪些原则,以及如何实现基本模型?
- 如何在状态内创建状态机?
- 状态机与开关情况
- C++状态机,继承了具有语法不正确的成员值的类
- c++有限状态机
- CXX 库,用于具有运行时操作的有限状态机/自动机
- QTSCXML状态机中的事件处理
- 如何动态创建状态机
- 状态机表示
- 将Java状态机示例转换为C++,陷入最后一道障碍
- 提升 msm 子状态机
- 定义超过 50 行的升压 msm 状态机
- 具有Boost MSM的分层状态机