
11 May
2010
11 May
'10
12:42 p.m.
Neil Groves skrev:
I have infrequently have abstract types that are assignable. I don't think this alters your key point about the forwarding but I think we should probably have this instead:
template< class Range, class Value > void fill( Rng&& rng, const Value& x );
Where 'Value' is required to be convertible to one of the right-hand side arguments of an assignment to a range_value<Rng>::type.
Does this look sensible to you?
I'm slightly against a template argument here as it means more code being generated. I would rather see the conversion to happen before the function is called. Would const typename range_value<Range>::type& not work? -Thorsten