Boost logo

Boost :

Subject: Re: [boost] [msm] eUML guard/action location
From: David Abrahams (dave_at_[hidden])
Date: 2010-01-09 17:34:39


At Mon, 14 Dec 2009 13:31:29 +0100,
Christophe Henry wrote:
>
> >Are all those parentheses used for optional arguments, or could we consider eliminating them?
>
> I'd love to eliminate them but don't see how. They actually are constructors.
> The complete expression would be something like:
>
> typedef BOOST_TYPEOF(build_stt((
> DestState() = CurrentState() + cool_event()[guard()]/action(),
> DestState2() = CurrentState() + cool_event()[guard2()]/action2()
> ) ) ) transition_table;
>
> So I'm really just pretending to pass on-the-fly instances of
> arguments from types DestState, CurrentState, etc. to evaluate the
> result with typeof after proto is done.

You could declare those instances at namespace scope, in the same way
most Proto terminals are declared, non?

-- 
Dave Abrahams           Meet me at BoostCon: http://www.boostcon.com
BoostPro Computing
http://www.boostpro.com

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