A mini eBook on using Boost::statechart library for creating state machines in C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Chapter-1 Updated Nov 13, 2017
Chapter-2 Updated Typos Nov 13, 2017
Chapter-3 Updated typos Nov 13, 2017
Chapter-4 Minor Updates Nov 13, 2017
Chapter-5 Minor Update Nov 13, 2017
Chapter-6 Minor Text Updates Nov 13, 2017
Chapter-7 Minor Info Update Nov 13, 2017
Chapter-8 Minor Update Nov 13, 2017
Chapter-9 Updated Text Nov 13, 2017
Preface Updated Typos Nov 13, 2017
LICENSE Update LICENSE Sep 3, 2017
README.md Minor Updates Nov 13, 2017
StateMachine.png Add files via upload Jan 19, 2017


Creating C++ State Machine(s) Using Boost::statechart Library (Mini eBook)

alt tag

This mini eBook provides a step by step guide on using Boost::statechart (part of the boost C++ library @ www.boost.org) for creating state machines based software.

A large amount of code can potentially be written in the form of state machines. Sometimes even basic switch-case statements are a representation of miniature states. Many a time programmers create multiple states in the code without being explicitly aware of the fact that they are trying to emulate state machines.

Why should one use exiting state machine framework instead of creating its own?

Creating a proper state machine require lots of code and should behave as expected in most of the unpredictable scenarios. One may try it out, but it will take a hell lot of development and testing time, which instead could be used for coding the functionality.

Boost::statechart is a generic state machine which fulfills most of the basic requirements one can find in a state machines. It's my sincere opinion that one should at least explore this before deciding to write its own state machine.

This eBook is a work in progress as of now

How to use this eBook ?

This eBook recommends to follow "Chapter a Day" method. Each chapter is small enough to be digested in a day with sufficient practice.


Table of Contents


The materials herein are all (c) 2016 by www.9lean.com.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.

Publishing (Intent)

I intent to publish this mini eBook as soon as it completes.