$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Noel Yap (Noel.Yap_at_[hidden])
Date: 2003-05-04 17:30:23
"Justin M. Lewis" wrote:
> > Can we agree, then, that there's no need for c_out?
> >
>
> Of course not, because you haven't yet addressed the issue of non-copyable
> objects, OR polymorphic types, OR large structs that can't be copyed into a
> retrun value, OR a function where you have a lot of return types.
Yes, we have. One more time:
T f(); // if T has a cheap copy
T const& f(); // if f owns the return value, can handle polymorphic
types
dumb_ref< T > f(); // if T doesn't have a cheap copy, f has to own the
return value, can handle polymorphic types
dumb_ptr< T > f(); // if the return value can be NULL, f has to own
the return value, can handle polymorphic types
result< T > f(); // if the return value is gotten from an asynchronous
call
tuple< T, U > f(); // if f has many return values, I think one can use
bind, too
Did I miss anything? BTW, one can probably combine some of the above to
get the exact flavor of return one wants.
Noel