ExtendedWhole::swap()
void ExtendedWhole::swap( ExtendedWhole& rhs) { using std::swap; Whole::swap(*this); swap(count, rhs.count); swap(body, rhs.body);}
Notes:
Swap looks pretty easy - we just swap the base class, and each of the members. Since each of these is a non-throwing operation the combination of them is also a non-throwing operation.