[Development] QVector rvalue overloads for convenience functions?
Allan Sandfeld Jensen
kde at carewolf.com
Sat Mar 3 21:25:46 CET 2018
On Samstag, 3. März 2018 21:11:18 CET Mandeep Sandhu wrote:
> On Sat, Mar 3, 2018 at 11:46 AM, Christian Ehrlicher <Ch.Ehrlicher at gmx.de>
>
> wrote:
> > Hi,
> >
> > recently rvalue overloads for QVector::append(T), push_back(T) and others
> > were added to QVector. But not for the convenience functions like
> > operator<<(T) or operator +=(T). Is this an oversight
>
> Why would an rvalue overload (by that I assume you mean move semantics)
> apply to the += operator? You're not discarding the existing object, just
> adding values from whats pointed to by the other reference.
>
> As for the << operator, it _might_ be an oversight, I'm not sure. Someone
> else can chime in.
>
Both of them could make sense assuming we are talking about the single value
variants. I guess it is an oversight, feel free to add them.
inline QVector<T> &operator+=(T &&t)
{ append(std::move(t)); return *this; }
inline QVector<T> &operator<< (T &&t)
{ append(std::move(t)); return *this; }
Note they might be missing from qvarlengtharray too.
'Allan
More information about the Development
mailing list