Sorry for my late answer, I overlooked this message
:(
>Hello,
>
>I'm trying to
modify the Player example and to separate the on_exit/on_entry template function
definition from declaration so I can hide
>the actual implementation details.
>
>"My.h"
>...
>namespace
myNamespace
>{
>...
>// Concrete FSM
implementation
>struct player_state_machine : public
msm::front::state_machine_def<player_state_machine>
>{
>...
>struct
Playing : msm::front::state<>
>{
>template <class Event,
class player_state_machine >
>void on_entry(event const &,
player_state_machine & ); // { "My Secret Code
}
>}
>......
>}
>}
>
>
>"My.cpp"
>
>namespace
myNamespace
>{
>...
>template <class Event, class
player_state_machine >
>void
myNamespace::player_state_machine::Playing::on_entry(Event const &,
player_state_machine & );
>{
>Here I want to put the actual
implementation...
>}
>
>
>Is this feasible ?
I'm afraid no.
>If not - what are the alternatives ? As I previously said - putting
the implementation into the header is not an option.
You could forward the on_entry call to a
non-template method of Playing (or several overloaded non-template methods)
which you only declare in your header and implement in a cpp. The state itself
is usually not a template class.
>Any help will be appreciated.
>
>Evgeni
HTH,
Christophe