I would like to create a state_machine class that contains some context information that can be written by orthogonal<0> and read by orthogonal<1>. Graphically:
_______________
| State Machine |
|_______________|______________
| |
| StateA1 <------> StateA2 |
| - - - - - - - - - - - - - - |
| StateB1 <------> StateB2 |
|_______________________________|
I declare using
struct StateA1, StateB1;
struct MyStateMachine : sc::state_machine< MyStateMachine, mpl::list<StateA1, StateB1> > {};
struct StateA1 : sc::simple_state<StateA1, MyStateMachine::orthogonal<0> > {};
but get a compile error on line 2 as "orthogonal not a member of MyStateMachine". Do I need to declare one state in MyStateMachine, and make the mpl::list a second template argument to it in order to get what I want?
Thanks in advance,
Chris