TGViewer
C++ - Reddit C++ - Reddit @r_cpp · 227 subscribers
Post #24035 23
Looking for feedback on easyFSM, a C++14 state machine framework

Hey,

I started with a small traffic light simulator and realized I was writing a ton of boilerplate for state transitions. That led me to build easyFSM — a lightweight, C++14 template-based finite state machine framework.

It currently offers:
- Type-safe state and event enums
- Simple API for defining transitions
- Support for both action handler and observer patterns
- Real examples (traffic light, elevator, threaded systems)
- CMake-based, MIT licensed

I’d like to make this genuinely useful beyond toy examples, so I’m looking for feedback:
- Is the API intuitive to use?
- Any design or template issues you spot?
- Would you prefer a DSL for defining machines, or just plain C++?
- What would make it production-ready in your eyes?

Repo: https://github.com/paqu/easyFSM

All feedback welcome, paqu.

https://redd.it/1o42ly2
@r_cpp
GitHub GitHub - paqu/easyFSM Contribute to paqu/easyFSM development by creating an account on GitHub.
More from @r_cpp
  1. Oct 14, 2026I tested whether a coding agent would use C++23 ranges without being told Blog post: https…
  2. Oct 14, 2026C++ futures part 1: The mental model https://devblogs.microsoft.com/oldnewthing/20261012-0…
  3. Oct 14, 2026C++ futures part 2: The mental model for std::promise, std::packaged_task https://devblogs…
  4. Oct 12, 2026[Release] slick-logger v2.2.0 — Lock-free asynchronous C++20 logging with multi-process sh…
  5. Oct 12, 2026Cheap alternative to reboot parameters (nohz, rcu, isolcpus) for stable benchmarks When no…
  6. Oct 12, 2026This C++ drama is crazy - Adobe votes no https://www.youtube.com/watch?v=DEqx_NMMH9Q https…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →