Search code examples
c++boostboost-msm

boost msm, how can I determine if a transition occurred?


When I fire process_event("eventname"), How can I check if the state transition occurred or if no_transition was called?

Basically, I would like that the class that fires/calls process_event("eventname") be able to tell if the transition occurred. Currently I can't determine this.

Any ideas?

Thank you


Solution

  • The return value of process_event is:

    typedef enum
    {
        HANDLED_FALSE=0,
        HANDLED_TRUE =1,
        HANDLED_GUARD_REJECT=2,
        HANDLED_DEFERRED=4
    } HandledEnum;
    

    What you want is probably all except HANDLED_FALSE, which comes with no_transition.