#12761 closed Bugs (fixed)

intrusive::set::swap doesn't swap the comparison function

Reported by: fdegros@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: intrusive
Version: Boost 1.60.0 Severity: Problem
Keywords: Cc: fdegros@…


If you have two Boost intrusive set or multiset objets with a stateful comparison function, swapping them with the swap method doesn't seem to swap the state of their comparison functions.

Is it normal?

Using std::swap doesn't swap their comparison function either, which seems to suggest that set's and multiset's move assignment operator doesn't move the comparison function.

However, it seems that set's and multiset's move constructor does copy the comparison function (by using its copy constructor, not its move constructor though).

Attachments (0)

Change History (3)

comment:1 Changed 13 months ago by fdegros@…

Ping? Any idea or progress on this topic?

comment:2 Changed 13 months ago by Ion Gaztañaga

Thanks for the report and the ping. Yes, it's clearly a bug, I'd try to fix it ASAP.

comment:3 Changed 12 months ago by Ion Gaztañaga

Resolution: fixed
Status: newclosed

This was fixed some weeks ago in commit:

Thanks for the report.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Ion Gaztañaga.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.