Boost logo

Boost Users :

From: Igor R (boost.lists_at_[hidden])
Date: 2008-08-05 07:35:03


Hello,

I noticed that if I declare an event as deferred in a "parent" state
(unintentionally), and define the reaction in some "indirect" inner
state, then this reaction has no chance to be called.
Is this the correct behavior or a bug?

Example (pseudo-code):

struct Parent : simple_state<..., Inner1>
{
  defer Ev1; //of course, this is unnecessary; but if this an error?
if I leave this line, then when we come to Inner1_3, the Ev1 is *not*
processed; if I remove this line, everything is ok!
};

struct Inner1
{
  defer Ev1;
  transit<Ev1to2, Inner2>
};

struct Inner1
{
  defer Ev1;
  transit<Ev2to3, Inner3>
};

struct Inner1
{
  in_state_reaction<Ev1>
};

Thank you.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net