Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

High-Performance Flat Finite State Machine Framework

License

NotificationsYou must be signed in to change notification settings

andrew-gresyk/FFSM2

Repository files navigation

License: MITGitHub Release Date
CII Best Practices
GCC, ClangARM GCCMS VS
GitterDiscordTwitter Follow


FFSM2

High-Performance Flat Finite State Machine

Header-only flat FSM framework in C++11, with fully statically-defined structure (no dynamic allocations), built with variadic templates.


Compiler Support

  • Visual Studio: 2015, 2017, 2019,2022
  • GCC:9, 10, 11, 12, 13, 14
  • GCC (ARM):9
  • Clang:13, 14, 15, 16, 17, 18
  • AppleClang:15, 16

Quick Start


See Also


Documentation


Feature Highlights

  • PermissiveMIT License
  • Written in widely-supported modern(ish) C++11
  • Header-only
  • Convenient, minimal boilerplate
  • Fully static, no dynamic allocations
  • Uses inline-friendly compile-time polymorphism, no virtual methods are used
  • Type-safe transitions:FSM.changeTo<TargetState>() with optional payloads
  • Flexible configuration usingFFSM2_ENABLE_* macros
  • Scalable, supports robust state re-use via state injections
  • Gamedev-friendly, supports explicitState::update()
  • Also supports traditional event-based workflow withState::react()
  • Inspect anything: previous and current transitions, state activation status, and more!
  • Game AI-friendly with dynamic planning support
  • Debug-assisted, includes automatic structure and activity visualization API
  • Built-in logging support

3rd Party Libraries


Get In Touch


Special Thanks

Sponsor this project

 

Contributors3

  •  
  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp