Boost logo

Boost :

Subject: [boost] boost [msm] deferring event by base type.
From: Richard Szabo (sz.richard_at_[hidden])
Date: 2010-06-24 16:02:32


I try to use the following code

struct base {};
struct event1 : public base {};

struct MyState1 : public msm::front::state<>
{
   typedef mpl::vector<base> deferred_events;
};

than MySm.process_event(event1());

when state machine in MyState1 causes that event gets dispatched and
not deferred the same code works if I replace

   typedef mpl::vector<base> deferred_events;

with

  typedef mpl::vector<event1> deferred_events;

than it works fine and event1 is deferred in MyState1;

It would be nice to able to defer event by it's base types it would
make code maintenance easier not have to declare all events one by one
for deferring.

Br.
Richie


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk