I've noticed that call_traits doesn't support function references. I'm not sure whether it makes sense to store function references in optionals, though, but in any case.
Something like this fails: typedef void (&afuncref)(int); typedef call_traits<afunc>::reference t; The problem is that the call_traits templates have other typedefs in the same class, e.g. const_reference, which gets instantiated as well, and it adds the const qualifier to a function type. GCC doesn't complain, but e.g. Intel does. Is it still illegal to form a function type with cv-qualifiers, or was there a DR about that? Jaakko In our last exciting episode "Joel de Guzman" wrote: > Joel de Guzman <[EMAIL PROTECTED]> wrote: > > Hi again, > > > Take 2: > > > typedef typename call_traits<T>::param_type > > ctor_param; > > > typedef typename call_traits<typename > > remove_reference<T>::type>::param_type assign_param; > > > typedef typename call_traits<T>::reference > > return_type; > > > optional(typename call_traits<T>::param_type arg); > > void reset(assign_param arg); > > return_type operator*(); > Whoops! That should be: > optional(ctor_param arg); > void reset(assign_param arg); > return_type operator*(); > Anyway, it's the same. > -- > Joel de Guzman > http://www.boost-consulting.com > http://spirit.sf.net > _______________________________________________ > Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost Best Wishes, Jaakko Järvi _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost