@@ -6,44 +6,44 @@ using namespace CXXStateTree;
66
77int main ()
88{
9- auto machine = Builder ()
10- .initial (" Main" )
11- .state (" Main" , [](State &s)
12- { s.initial_substate (" Idle" )
13- .substate (" Idle" , [](State &s)
14- { s.on (" Start" , " Running" , nullptr , []()
15- { std::cout << " Transition: Idle -> Running" << std::endl; }); })
9+ auto machine = Builder ()
10+ .initial (" Main" )
11+ .state (" Main" , [](State &s)
12+ { s.initial_substate (" Idle" )
13+ .substate (" Idle" , [](State &s)
14+ { s.on (" Start" , " Running" , nullptr , [](const std::any & )
15+ { std::cout << " Transition: Idle -> Running" << std::endl; }); })
1616
17- .substate (" Running" , [](State &s)
18- { s.on (" Stop" , " Idle" , nullptr , []()
19- { std::cout << " Transition: Running -> idle" << std::endl; }); })
17+ .substate (" Running" , [](State &s)
18+ { s.on (" Stop" , " Idle" , nullptr , [](const std::any & )
19+ { std::cout << " Transition: Running -> idle" << std::endl; }); })
2020
21- .on (" Switch" , " Alternate" , nullptr , []()
22- { std::cout << " Transition: Main -> Alternate" << std::endl; }); })
23- .state (" Alternate" , [](State &s)
24- { s.initial_substate (" Idle" )
25- .substate (" Idle" , [](State &s)
26- { s.on (" Start" , " Running" , nullptr , []()
27- { std::cout << " Transition: Idle -> Running" << std::endl; }); })
21+ .on (" Switch" , " Alternate" , nullptr , [](const std::any & )
22+ { std::cout << " Transition: Main -> Alternate" << std::endl; }); })
23+ .state (" Alternate" , [](State &s)
24+ { s.initial_substate (" Idle" )
25+ .substate (" Idle" , [](State &s)
26+ { s.on (" Start" , " Running" , nullptr , [](const std::any & )
27+ { std::cout << " Transition: Idle -> Running" << std::endl; }); })
2828
29- .substate (" Running" , [](State &s)
30- { s.on (" Stop" , " Idle" , nullptr , []()
31- { std::cout << " Transition: Running -> idle" << std::endl; }); })
32- .on (" Switch" , " Main" , nullptr , []()
33- { std::cout << " Transition: Alternate -> Main" << std::endl; }); })
34- .build ();
29+ .substate (" Running" , [](State &s)
30+ { s.on (" Stop" , " Idle" , nullptr , [](const std::any & )
31+ { std::cout << " Transition: Running -> idle" << std::endl; }); })
32+ .on (" Switch" , " Main" , nullptr , [](const std::any & )
33+ { std::cout << " Transition: Alternate -> Main" << std::endl; }); })
34+ .build ();
3535
36- std::cout << " Initial state: " << machine.current_state ().fullName () << std::endl;
37- machine.send (" Start" );
38- std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
39- machine.send (" Stop" );
40- std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
41- machine.send (" Switch" );
42- std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
43- machine.send (" Start" );
44- std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
45- machine.send (" Stop" );
46- std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
36+ std::cout << " Initial state: " << machine.current_state ().fullName () << std::endl;
37+ machine.send (" Start" );
38+ std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
39+ machine.send (" Stop" );
40+ std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
41+ machine.send (" Switch" );
42+ std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
43+ machine.send (" Start" );
44+ std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
45+ machine.send (" Stop" );
46+ std::cout << " Current state: " << machine.current_state ().fullName () << std::endl;
4747
48- return 0 ;
48+ return 0 ;
4949}
0 commit comments