Skip to content

A simple, header only, finite state machine implementation for C++.

License

Notifications You must be signed in to change notification settings

laszlo-kiss/FiniteStateMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

FiniteStateMachine

Simple state machine classes in C++.

The state machine may have any number of states and events. There can be two types of Events, external and internal. External events are generated by the 'outside world' or users of the state machine. Internal events may be generated by the state machinery itself and are considered high priority (thus serviced before external events). Their use is optional.

Each state may have an optional entry and exit method in addition to the event handler methods.

See: https://en.wikipedia.org/wiki/Finite-state_machine

Install

Place in a convenient include directory and include in a C++11 source file.

Features

  • Header only.
  • No dependencies for synchronous state machines.
  • Boost ASYNC dependency for asynchronous state machines.
  • Supports both synchronous and asynchronous use (examples included).

Tested on:

  • Mac OS X 10.10 (Xcode 7 - Apple LLVM version 7.0.0 (clang-700.1.76))

Alternatives

License

  • MIT

About

A simple, header only, finite state machine implementation for C++.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages