
Hi,
I am implementing a fsm for a kind of a project class, which tracks certain
changes like adding special files or starting a computation. To keep the
interface as small/clean as possible all interactions with the fsm should be
soley processed by the process_event method.
But seemingl I have to declare transition actions public in an outer state to
make them available for inner state reactions/transitions. Is there any nice
way to avoid this and to keep transition actions separated from the public
interface? (Declaring *all* inner states which need access to be friend seems
too ugly to me...)
A small code snippet to demonstrate my issue:
In Project.h:
struct Idle;
struct Project : sc::state_machine< Project, Idle >
{
public:
//....
void solve(const EvSolve &);
//...
};
//...
struct Idle : sc::simple_state< Idle, Project, mpl::list