A swap
Function for Message
The library defines versions of swap
for both string
and set
(§ 9.2.5, p. 339). As a result, our Message
class will benefit from defining its own version of swap
. By defining a Message
-specific version of swap
, we can avoid extraneous copies of the contents
and folders
members.
However, our swap
function must also manage the Folder
pointers that point to the swapped Messages
. After a call such as swap(m1, m2)
, the Folder
s that had pointed to m1
must now point to m2
, and vice versa.
We’ll manage the Folder
pointers by making two passes through each of the folders
members. The first pass will remove the Message
s from their respective Folder
s. We’ll next call swap
to swap the data members. We’ll make the second pass through ...
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.