当前位置: 首页 > news >正文

C++ 有限元状态机

测试 
#include <iostream>
#include "state_machine.h"class Context {
public:char input;
};class TurnOn : public sm::Event<Context> {
public:bool triggered() {if(context->input=='1') {std::cout << "switch on" << std::endl;return true;}return false;}
};class TurnOff : public sm::Event<Context> {
public:bool triggered() {if(context->input=='2') {std::cout << "switch off" << std::endl;return true;}return false;}
};class On : public sm::State<Context> {void enter() {std::cout << "enter On state" << std::endl;}void execute() {std::cout << "execute On state" << std::endl;}void exit() {std::cout << "exit On state" << std::endl;}
};class Off : public sm::State<Context> {void enter() {std::cout << "enter Off state" << std::endl;}void execute() {std::cout << "execute Off state" << std::endl;}void exit() {std::cout << "exit Off state" << std::endl;}
};int main() {TurnOn turn_on;TurnOff turn_off;On on;Off off;Context context;sm::StateMachine<2, 2, Context> sm(&on, &context);sm.transit(&on, &off, &turn_off);sm.transit(&off, &on, &turn_on);sm.start();while(true) {std::cin >> context.input;sm.update();}
}
效果 

enter On state
1
execute On state
2
switch off
exit On state
enter Off state
execute Off state
3
execute Off state
1
switch on
exit Off state
enter On state
execute On state
0

参考

https://github.com/Eryk-Mozdzen/state-machine-cpp


创作不易,小小的支持一下吧!


http://www.mrgr.cn/news/18704.html

相关文章:

  • 【unity知识】Animator动画状态的基本属性介绍
  • 9.2C++
  • 使用Pinia作为状态管理库来存储用户登录的token
  • OI-Beats 中级信息学竞赛 Wiki 发布
  • 数据分析-MAC 编程环境安装教程
  • GPT-4 vs LLaMA3.1:核心技术架构与应用场景对比
  • Endtest使用体验
  • Anaconda安装和环境配置教程(深度学习准备)
  • 如何实现对窗口window的viewtree进行dump Hierarchy-安卓framework实战开发
  • Linux\Docker部署Postgres
  • 开源模型应用落地-LlamaIndex学习之旅-LLMs-集成vLLM(一)
  • 思维导图软件界的top4黑马!让你的创意如泉涌,项目不再拖沓
  • 【大数据】生活中三大数据的概念及其关系
  • vue-router基本流程及其案例分析
  • 【百日算法计划】:每日一题,见证成长(007)
  • 【位运算】--- 进阶题目赏析
  • 【数据分享】地级市-国际互联网用户数(2001-2019年)
  • 【Git】IDEA代码合并|merge into
  • 自动生成视频的软件有哪些??5款工具助你快速成片
  • ElasticSearch-数据建模