Boost C++ Libraries

PrevUpHomeNext
Introduction
Overview
Features/Benchmarks
Tutorial/Workshop
UML vs SML
User Guide
Examples
FAQ
CHANGELOG

Boost Licence Version Build Status Build Status Codecov Github Issues


Introduction

[Boost::ext].SML (State Machine Language/Lite/Library)
Your scalable C++14 one header only State Machine Library with no dependencies (Try it online!) GitHub
  Download        Changelog        Tutorial        Examples

UML State Machine

Do I need a State Machine?

State Machine design pattern prevents you from creating and maintaining spaghetti code.

void some_function() {
    ...
    if ((is_running && !is_jumping) || just_started) {
        ...
    } else if (is_boss_level && extra_feature_enabled && !ab_test) {
        ...
    } else {
        ...
    }
}

If above code looks somewhat similar to your code base or if you like to avoid it [Boost].SML may suit you!

Real Life examples?

CPP(BTN) CPP(BTN) CPP(BTN) CPP(BTN)

 

Why [Boost].SML?

Problems with Boost.MSM - eUML

[Boost].SML design goals

What 'lite' implies?

Supported UML features

Additional features

Acknowledgements


PrevUpHomeNext