Bohdan wrote: [snip] >> I therefore think that it is not necessary to change the current >> interface for information hiding purposes. Granted, it's not >> perfect, but the alternative I've outlined in my previous post isn't >> either, as Reece has pointed out. I might support both interfaces if >> there are other use cases that don't work with the current interface. >> >> Regards, >> >> Andreas > > I vote for both interfaces. If feature is easy to implement and > if it allows to avoid even forward state declaration than why > not ? I think you are right and initial state template parameter > will simpify code, but allowing default "InnerInitial = > detail::empty_list" as you did it for state template will allow > complete removing of > initial state from interface. > BTW what about run-time selection of initial states ? : > > StopWatch::StopWatch() > { > if( ... ) > initiate<MyInitialState1>(); > else > { > initiate<MyInitialState2>(); > initiate<MyOrthohonalInitialState2>(); > } > }
That'd be such a use case then ;-). I'll support this in the next release (in about a week). Thanks, Andreas _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost