Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2003-06-02 02:57:08

Andreas Huber wrote:

>Unfortunately, I don't have much experience with anything else than MS
>compilers. I will try to port to gcc, but I'll probably need help for
>not-so-conforming compilers like Borland.

I have experience with GCC, MS and Borland if you need help porting the

>void Pump::Start()
> initiate< Idle >(); // ***** here *****

Wouldn't this complicate the code that the programmer has to write, whereas
your version was simpler to implement. (Just my opinion).

>I did consider polymorphic events but I wasn't able to make double dispatch
>work *automatically* (i.e. without requiring the user to write parts of the
>dispatch code themselves).

>I personally need polymorphic events only very rarely. Whenever I did, I
>always able to change event granularity so that the need would go away. In
>your case that would mean to get rid of MouseUpEvent and MouseDownEvent
>alltogether and add the information to MouseEvent:

>Does the library/code generator you're currently using work with
>polymorphic events? Is not having polymorphic events a showstopper for you?
>If yes, I would be interested in a as-real-world-as-possible example.

I'm not sure on this, but would Windows-based code that redirects events to
a Window class be a polymorphic event, e.g.

   class WindowBase
         virtual void Paint( win::api::DC & hDC );
         // ...
   class MyGUIWindow: public WindowBase
         void Paint( win::api::DC & hDC ); // custom window graphics

Not sure how you would integrate this with a FSM though!


On the move? Get Hotmail on your mobile phone

Boost list run by bdawes at, gregod at, cpdaniel at, john at