jeudi 30 juin 2016

How to dynamically create state machine using boost msm


I have no idea yet how to create a FSM using boost msm dynamically, such as reading template xml-files, for instance, that describe the machine. Any idea how to address the problem? I want to use the functor approach with boost msm 1.61. Thanks in advance for ideas and my apologies for not presenting anything yet, but I really have to clue so far...

UPDATE

I have made a little progress such that I can create a base class for the front end the common way:

class SMBase : public msmf::state_machine_def<SMBase>
{
 ...
};
using SMBaseBackend = msm::back::state_machine<SMBase>;

class SMDerived : public SMBase
{
 ...
};
using SMDerivedBackend = msm::back::state_machine<SMDerived>;


class SMDerived2 : public SMBase
{
 ...
};
using SMDerived2Backend = msm::back::state_machine<SMDerived2>;

However, the state machine itself is steered by the backend, and I can see no way so far chosing the latter on runtime (for instance using a

map<int, smart_pointer<SMBaseBackend> >

). Any help is appreciated.


Aucun commentaire:

Enregistrer un commentaire