To sum up, in this case the next guard is tried and the next until no more is left. If all return false, processing in this region is finished.
Each region processes independently from others but if one guard rejected the event, this event is seen as processed.
>Regarding the const events: I am programming an MSM to proxy network
>traffic and once a message with data was received it'll be analysed and
>moved between different states. Message instances implement move semantics.
>Currently, the MSM has an initial state `ready` where the `message_in`
>event is handled. This event contains the message to be analysed. From my
>current understanding I either have to make message field in `message_in`
>event mutable or MSM needs to to support r-value references. Can somebody
>tell me what's going to happen if the action only accepts r-value reference
>to an event instance? Currently, it seems to work, but would like to
>understand the implications.
MSM is still C++98. const& were necessary to pass temporary objects.