
On Thu, Feb 19, 2004 at 11:46:48PM +0800, Joel de Guzman wrote:
BOOST_FCPP_DEFER_DEFINITIONS
Why is this needed? Why not just make them const and forget about linker errors with multiple translation units?
Cool; I didn't realize this. I have been wanting to get rid of the DEFER_DEFINITIONS stuff, and you have shown me how. Thanks!
Oh, and BTW, there's a significant disadvantage of FC++'s definition of plus compared to LL (and Phoenix). I notice that there is no return type deduction and both arguments are of the same type. Hence, it's not very friendly to C++'s rich set of types (numeric and others). IMO,
T operator()( const T& x, const T& y ) const
is simplistic and wrong. It should be:
result_of_plus<X, Y>::type operator()(const X& x, const Y& y) const
This is probably a good idea; I hadn't considered this component when I was integrating other Boost stuff into FC++ to prepare for the review. -- -Brian McNamara (lorgon@cc.gatech.edu)