Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#2311 closed Feature Requests (fixed)

any::operator= should have by-value argument

Reported by: niels_dekker Owned by: nasonov
Milestone: Boost 1.38.0 Component: any
Version: Boost 1.36.0 Severity: Problem
Keywords: Cc: niels_dekker

Description

When a copy assignment operator is implemented simply by doing copy-and-swap, it should pass its argument by value, instead of doing the copy inside the body of the function, to allow the compiler to do copy elision. As was discussed at the Boost developer mailing list, Improving the assignment operators of various Boost types.

So please consider the attached patch.

Attachments (1)

any_assignment.patch (394 bytes ) - added by niels_dekker 14 years ago.

Download all attachments as: .zip

Change History (6)

by niels_dekker, 14 years ago

Attachment: any_assignment.patch added

comment:1 by nasonov, 14 years ago

Type: BugsFeature Requests

This is not a bug, this is a feature request.

comment:2 by nasonov, 14 years ago

Resolution: fixed
Status: newclosed

(In [50120]) Fixes #2311: any::operator= should have by-value argument

comment:3 by nasonov, 14 years ago

(In [50122]) Fixes #2311: any::operator= should have by-value argument

comment:4 by nasonov, 14 years ago

Milestone: Boost 1.37.0Boost 1.38.0

comment:5 by niels_dekker, 14 years ago

Thank you very much, Alexander! I just double-checked, it looks fine to me.

Note: See TracTickets for help on using tickets.