PureFSM
pure::guard_any_of< Guard, Guards > Struct Template Reference

Guard OR operation. More...

+ Inheritance diagram for pure::guard_any_of< Guard, Guards >:
+ Collaboration diagram for pure::guard_any_of< Guard, Guards >:

Detailed Description

template<class Guard, class... Guards>
struct pure::guard_any_of< Guard, Guards >

Guard OR operation.

Template Parameters
Guarda first guard of a pack
Guards...the rest guards

Allows to specify a set of guards for the transition. Must contain at least one guard. Transition will be performed if there is an event match and the current guard is matched with any guard of a set.

Be aware that State Machine does not check if guard sets are intersected. E.g if transition table contains two transitions with any_of guard sets, and these sets contains at least one guard, that is the same, the behaviour is undefined, if the current guard matched with intersected guard.

E.g there are two transitions with guard sets, \(T_1 = \{a_1, ..., a_n\}\) and \(T_2 = \{b_1, ..., b_n\}\). In case if \(T_1 \cap T_2 = G, G \neq \emptyset\), the behaviour is undefined. If the current guard \(g_c \in G\), then it is matched with both transitions.


The documentation for this struct was generated from the following file: