On Thursday 13 February 2003 10:12 am, Peter Dimov wrote: > > ------Compatibility------ > > This version of ref.hpp is backwards-compatible with the existing > > version of > > ref.hpp on a compiler that can handle the new ref.hpp (needs partial > > specialization and proper SFINAE handling). At some point I'll write a > > stripped-down version that other compilers can handle. > > I tried to do this once and failed. It's hard to make operator() work on > deficient compilers (esp. the zero-arg version that is not a template) > without breaking ref(x) where x is not a function object.
Yep, this is the killer. Can't try to use result_type because it might not be there, can't detect result_type on broken compilers, and can't stop the declaration from being instantiated :(. Could just go with the limitation that arity 0 function objects won't work unless a return type is specified by the user. Doug _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost