
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