I'm sure I'm being a bit dense here, but apart from handling native arrays what does boost::swap give
you that std::swap doesn't?

Thanks,

- Rob.