|
Boost : |
From: Douglas Gregor (gregod_at_[hidden])
Date: 2003-02-13 10:33:14
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk