#include <OwnVector.h>
Classes | |
class | const_iterator |
class | iterator |
struct | Ordering |
Public Types | |
typedef std::vector< T * > | base |
typedef T const & | const_reference |
typedef T * | pointer |
typedef P | policy_type |
typedef T & | reference |
typedef base::size_type | size_type |
typedef T | value_type |
Public Member Functions | |
reference | back () |
const_reference | back () const |
iterator | begin () |
const_iterator | begin () const |
void | clear () |
base const & | data () const |
bool | empty () const |
iterator | end () |
const_iterator | end () const |
iterator | erase (iterator pos) |
iterator | erase (iterator first, iterator last) |
void | fillPtrVector (std::type_info const &toType, std::vector< unsigned long > const &indices, std::vector< void const * > &ptrs) const |
void | fillView (ProductID const &id, std::vector< void const * > &pointers, FillViewHelperVector &helpers) const |
reference | front () |
const_reference | front () const |
template<typename D > | |
void | insert (const_iterator i, D *&d) |
template<typename D > | |
void | insert (const_iterator i, D *const &d) |
template<typename D > | |
void | insert (const_iterator i, std::unique_ptr< D > d) |
void | insert (const_iterator i, T const &valueToCopy) |
bool | is_back_safe () const |
OwnVector< T, P > & | operator= (OwnVector< T, P > const &) |
reference | operator[] (size_type) |
const_reference | operator[] (size_type) const |
OwnVector () | |
OwnVector (size_type) | |
OwnVector (OwnVector const &) | |
void | pop_back () |
template<typename D > | |
void | push_back (D *&d) |
template<typename D > | |
void | push_back (D *const &d) |
template<typename D > | |
void | push_back (std::unique_ptr< D > d) |
void | push_back (T const &valueToCopy) |
void | reserve (size_t) |
void | reverse () |
template<typename D > | |
void | set (size_t i, D *&d) |
template<typename D > | |
void | set (size_t i, D *const &d) |
template<typename D > | |
void | set (size_t i, std::unique_ptr< D > d) |
void | set (size_t i, T const &valueToCopy) |
void | setPtr (std::type_info const &toType, unsigned long index, void const *&ptr) const |
void | shrink_to_fit () |
size_type | size () const |
template<typename S > | |
void | sort (S s) |
void | sort () |
void | swap (OwnVector< T, P > &other) |
~OwnVector () | |
Static Public Member Functions | |
static short | Class_Version () |
Private Member Functions | |
void | destroy () |
Static Private Member Functions | |
template<typename O > | |
static Ordering< O > | ordering (O const &comp) |
Private Attributes | |
base | data_ |
Definition at line 24 of file OwnVector.h.
typedef std::vector<T*> edm::OwnVector< T, P >::base |
Definition at line 29 of file OwnVector.h.
typedef T const& edm::OwnVector< T, P >::const_reference |
Definition at line 37 of file OwnVector.h.
typedef T* edm::OwnVector< T, P >::pointer |
Definition at line 35 of file OwnVector.h.
typedef P edm::OwnVector< T, P >::policy_type |
Definition at line 38 of file OwnVector.h.
typedef T& edm::OwnVector< T, P >::reference |
Definition at line 36 of file OwnVector.h.
typedef base::size_type edm::OwnVector< T, P >::size_type |
Definition at line 33 of file OwnVector.h.
typedef T edm::OwnVector< T, P >::value_type |
Definition at line 34 of file OwnVector.h.
|
inline |
Definition at line 201 of file OwnVector.h.
Referenced by edm::OwnVector< T, P >::OwnVector().
|
inline |
Definition at line 205 of file OwnVector.h.
References edm::OwnVector< T, P >::begin(), clone(), edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, edm::OwnVector< T, P >::end(), mps_fire::i, noexcept, connectstrParser::o, edm::OwnVector< T, P >::OwnVector(), and edm::OwnVector< T, P >::size().
edm::OwnVector< T, P >::OwnVector | ( | OwnVector< T, P > const & | ) |
|
inline |
Definition at line 223 of file OwnVector.h.
References edm::OwnVector< T, P >::destroy().
|
inline |
Definition at line 395 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, edm::errors::NullPointerError, mps_fire::result, and edm::Exception::throwThis().
Referenced by SeedFromProtoTrack::init(), SeedCombiner::produce(), TrackListMerger::produce(), SimpleTrackListMerger::produce(), DTCombinatorialPatternReco::reconstruct(), DTCombinatorialExtendedPatternReco::reconstruct(), and edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inline |
Definition at line 409 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, edm::errors::NullPointerError, mps_fire::result, and edm::Exception::throwThis().
|
inline |
Definition at line 244 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by pat::PATObject< ObjectType >::addUserDataObject_(), HiggsToZZ4LeptonsSkimEff::analyze(), CSCSegtoRPC::CSCSegtoRPC(), edm::detail::doTheOffset(), DTSegtoRPC::DTSegtoRPC(), pat::PATJetSelector::filter(), RPCSeedOverlapper::isShareHit(), SiStripRecHitConverterAlgorithm::match(), edm::OwnVector< T, P >::OwnVector(), PFAlgo::processBlock(), MassKinFitterCandProducer::produce(), ParticleDecayProducer::produce(), CandOneToManyDeltaRMatcher::produce(), DTRecSegment4DProducer::produce(), DTSegment4DT0Corrector::produce(), RPCRecHitProducer::produce(), DTRecHitProducer::produce(), DTRecSegment2DProducer::produce(), DTRecSegment2DExtendedProducer::produce(), GEMRecHitProducer::produce(), ME0RecHitProducer::produce(), CSCOverlapsTrackPreparation::produce(), SiTrackerMultiRecHit::recHits(), TrackCandidate::recHits(), TrajectorySeed::recHits(), DTNoDriftAlgo::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), PFPhotonAlgo::RunPFPhoton(), SiTrackerMultiRecHit::sharesInput(), and TracktoRPC::TracktoRPC().
|
inline |
|
inlinestatic |
Definition at line 180 of file OwnVector.h.
|
inline |
Definition at line 445 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::destroy().
Referenced by RPCSeedOverlapper::CheckOverlap(), reco::CompositeCandidate::clearDaughters(), Vispa.Views.WidgetView.WidgetView::closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), CSCSegtoRPC::CSCSegtoRPC(), DTSegtoRPC::DTSegtoRPC(), SiStripElectronSeedGenerator::findSeedsFromCluster(), Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), SiStripRecHitConverterAlgorithm::match(), GlobalTrackerMuonAlignment::muonFitter(), ElectronSeedGenerator::prepareElTrackSeed(), pat::PATJetSlimmer::produce(), ConvBremSeedProducer::produce(), TSGForRoadSearch::pushTrajectorySeed(), ElectronSeedGenerator::run(), Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), Vispa.Views.WidgetView.WidgetView::setDataObjects(), BeautifulSoup.Tag::setString(), edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit(), GlobalTrackerMuonAlignment::trackFitter(), TracktoRPC::TracktoRPC(), Vispa.Views.TreeView.TreeView::updateContent(), Vispa.Views.TableView.TableView::updateContent(), Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), and Vispa.Views.PropertyView.PropertyView::updateContent().
|
inline |
Definition at line 440 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by MuonToSimAssociatorByHits::associateMuons(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), SiTrackerMultiRecHit::recHits(), reco::TrackExtraBase::recHitsBegin(), and edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inlineprivate |
Definition at line 433 of file OwnVector.h.
References b, edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, and mps_fire::i.
Referenced by edm::OwnVector< T, P >::clear(), and edm::OwnVector< T, P >::~OwnVector().
|
inline |
Definition at line 269 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by PFAlgo::processBlock(), Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), and Vispa.Gui.VispaWidget.TextField::setAutotruncate().
|
inline |
Definition at line 249 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by HiggsToZZ4LeptonsSkimEff::analyze(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), CSCSegtoRPC::CSCSegtoRPC(), edm::detail::doTheOffset(), DTSegtoRPC::DTSegtoRPC(), pat::PATJetSelector::filter(), RPCSeedOverlapper::isShareHit(), SiStripRecHitConverterAlgorithm::match(), edm::OwnVector< T, P >::OwnVector(), MassKinFitterCandProducer::produce(), ParticleDecayProducer::produce(), CandOneToManyDeltaRMatcher::produce(), DTRecSegment4DProducer::produce(), DTSegment4DT0Corrector::produce(), RPCRecHitProducer::produce(), DTRecHitProducer::produce(), DTRecSegment2DProducer::produce(), DTRecSegment2DExtendedProducer::produce(), GEMRecHitProducer::produce(), ME0RecHitProducer::produce(), CSCOverlapsTrackPreparation::produce(), SiTrackerMultiRecHit::recHits(), TrackCandidate::recHits(), TrajectorySeed::recHits(), DTNoDriftAlgo::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), PFPhotonAlgo::RunPFPhoton(), SiTrackerMultiRecHit::sharesInput(), and TracktoRPC::TracktoRPC().
|
inline |
Definition at line 259 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().
OwnVector< T, P >::iterator edm::OwnVector< T, P >::erase | ( | iterator | pos | ) |
Definition at line 451 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::iterator::i.
Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
OwnVector< T, P >::iterator edm::OwnVector< T, P >::erase | ( | iterator | first, |
iterator | last | ||
) |
Definition at line 457 of file OwnVector.h.
References b, edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, edm::OwnVector< T, P >::iterator::i, and mps_fire::i.
|
inline |
Definition at line 554 of file OwnVector.h.
References edm::detail::reallyfillPtrVector().
Referenced by edm::fillPtrVector(), and edm::OwnVector< reco::reco::PFBlockElement >::reverse().
void edm::OwnVector< T, P >::fillView | ( | ProductID const & | id, |
std::vector< void const * > & | pointers, | ||
FillViewHelperVector & | helpers | ||
) | const |
|
inline |
Definition at line 423 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by DAFTrackProducerAlgorithm::filter(), SiTrackerMultiRecHit::firstClusterRef(), MuonReSeeder::produce(), TrackCandidateProducer::produce(), cms::CosmicTrackFinder::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit(), InOutConversionTrackFinder::tracks(), and OutInConversionTrackFinder::tracks().
|
inline |
Definition at line 428 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
|
inline |
Definition at line 357 of file OwnVector.h.
References edm::OwnVector< T, P >::const_iterator::base_iter(), edmIntegrityCheck::d, and edm::OwnVector< T, P >::data_.
Referenced by pat::PATObject< ObjectType >::addUserDataObject_(), BeautifulSoup.PageElement::append(), PFElectronAlgo::SetLinks(), and edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inline |
Definition at line 364 of file OwnVector.h.
References edm::OwnVector< T, P >::const_iterator::base_iter(), edmIntegrityCheck::d, and edm::OwnVector< T, P >::data_.
Referenced by BeautifulSoup.PageElement::append().
|
inline |
Definition at line 370 of file OwnVector.h.
References edm::OwnVector< T, P >::const_iterator::base_iter(), and edm::OwnVector< T, P >::data_.
Referenced by BeautifulSoup.PageElement::append().
|
inline |
Definition at line 375 of file OwnVector.h.
References edm::OwnVector< T, P >::const_iterator::base_iter(), clone(), and edm::OwnVector< T, P >::data_.
Referenced by BeautifulSoup.PageElement::append().
|
inline |
Definition at line 390 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inline |
Definition at line 228 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, noexcept, edm::OwnVector< T, P >::swap(), and groupFilesInBlocks::temp.
|
inline |
|
inline |
|
inlinestaticprivate |
|
inline |
Definition at line 382 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inline |
Definition at line 290 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by reco::fitHelper::Adder< edm::OwnVector< T > >::add(), reco::CompositeCandidate::addDaughter(), MuonToSimAssociatorByHits::associateMuons(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), MuonErrorMatrixAdjuster::attachRecHits(), SeedFromGenericPairOrTriplet::buildSeed(), SeedForPhotonConversion1Leg::buildSeed(), SeedFromConsecutiveHitsCreator::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeed(), SeedForPhotonConversionFromQuadruplets::buildSeedBool(), RPCSeedOverlapper::CheckOverlap(), Traj2TrackHits::copy(), RPCSeedPattern::createFakeSeed(), MuonSeedFromRecHits::createSeed(), MuonSeedCreator::createSeed(), RPCSeedPattern::createSeed(), OutInConversionSeedFinder::createSeed(), CosmicMuonSeedGenerator::createSeed(), InOutConversionSeedFinder::createSeed(), CSCSegtoRPC::CSCSegtoRPC(), OutsideInMuonSeeder::doLayer(), DTSegtoRPC::DTSegtoRPC(), SiStripElectronAlgo::findElectron(), SiStripElectronSeedGenerator::findSeedsFromCluster(), SeedFromNuclearInteraction::hits(), CosmicLayerPairs::init(), MuonTrackLoader::loadTracks(), reco::modules::CosmicTrackSplitter::makeCandidate(), reco::modules::TrackerTrackHitFilter::makeCandidate(), CosmicSeedCreator::makeSeed(), SETSeedFinder::makeSeed(), TSGForOI::makeSeedsFromHits(), SiStripRecHitMatcher::match(), TrackMerger::merge(), GlobalTrackerMuonAlignment::muonFitter(), ElectronSeedGenerator::prepareElTrackSeed(), PFAlgoTestBenchElectrons::processBlock(), PFAlgo::processBlock(), SeedCombiner::produce(), DTSegment4DT0Corrector::produce(), MuonReSeeder::produce(), TrackListMerger::produce(), SimpleTrackListMerger::produce(), SETMuonSeedProducer::produce(), TrackCandidateProducer::produce(), TrackCandidateTopBottomHitFilter::produce(), TrajectorySeedFromMuonProducer::produce(), ConvBremSeedProducer::produce(), L2MuonSeedGeneratorFromL1T::produce(), L2MuonSeedGenerator::produce(), TrackerToMuonPropagator::produce(), CSCOverlapsTrackPreparation::produce(), TrajectorySeedProducer::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), TSGForRoadSearch::pushTrajectorySeed(), DTNoDriftAlgo::reconstruct(), RPCRecHitBaseAlgo::reconstruct(), ME0RecHitBaseAlgo::reconstruct(), GEMRecHitBaseAlgo::reconstruct(), DTRecHitBaseAlgo::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTRefitAndCombineReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), DTCombinatorialPatternReco::reconstruct(), DTCombinatorialExtendedPatternReco::reconstruct(), DTMeantimerPatternReco::reconstruct(), PFPhotonAlgo::RunPFPhoton(), SeedFromProtoTrack::SeedFromProtoTrack(), SeedGeneratorForCRack::seeds(), SeedGeneratorForCosmics::seeds(), SimpleCosmicBONSeeder::seeds(), edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit(), SiTrackerMultiRecHit::SiTrackerMultiRecHit(), TrackMerger::sortByHitPosition(), FastTrackerRecHitSplitter::split(), Traj2TrackHits::split(), TSGFromPropagation::trackerSeeds(), FastTSGFromPropagation::trackerSeeds(), GlobalTrackerMuonAlignment::trackFitter(), TracktoRPC::TracktoRPC(), PFBenchmarkAlgo::vector_add(), and MuonTrackLoader::~MuonTrackLoader().
|
inline |
|
inline |
|
inline |
Definition at line 316 of file OwnVector.h.
References clone(), and edm::OwnVector< T, P >::data_.
|
inline |
Definition at line 284 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by reco::modules::CosmicTrackSplitter::makeCandidate(), reco::modules::TrackerTrackHitFilter::makeCandidate(), TrackMerger::merge(), Traj2TrackHits::operator()(), SeedCombiner::produce(), TrackListMerger::produce(), SimpleTrackListMerger::produce(), ExtraFromSeeds::produce(), and edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit().
|
inline |
|
inline |
Definition at line 322 of file OwnVector.h.
References edmIntegrityCheck::d, edm::OwnVector< T, P >::data_, and mps_fire::i.
Referenced by pat::PATObject< ObjectType >::addUserDataObject_().
|
inline |
Definition at line 332 of file OwnVector.h.
References edmIntegrityCheck::d, edm::OwnVector< T, P >::data_, and mps_fire::i.
|
inline |
Definition at line 341 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, and mps_fire::i.
|
inline |
Definition at line 348 of file OwnVector.h.
References clone(), edm::OwnVector< T, P >::data_, and mps_fire::i.
|
inline |
Definition at line 535 of file OwnVector.h.
References diffTreeTool::index.
Referenced by edm::OwnVector< reco::reco::PFBlockElement >::reverse(), and edm::setPtr().
|
inline |
Definition at line 128 of file OwnVector.h.
Referenced by Traj2TrackHits::operator()().
|
inline |
Definition at line 264 of file OwnVector.h.
References edm::OwnVector< T, P >::data_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), ZMassHistogrammer::analyze(), ZHistogrammer::analyze(), myFastSimVal::analyze(), ZMuMuAnalyzer::analyze(), ZMuMuAnalyzer_cynematics::analyze(), DQMPFCandidateAnalyzer::analyze(), MuonToSimAssociatorByHits::associateMuons(), MuonToTrackingParticleAssociatorByHitsImpl::associateMuons(), PFRecoTauAlgorithm::buildPFTau(), FWPFBlockProxyBuilder::buildViewType(), RPCSeedOverlapper::CheckOverlap(), DTSegtoRPC::DTSegtoRPC(), ZToMuMuFilter::filter(), JetMatchingTools::getGenParticle(), RPCSeedOverlapper::isShareHit(), TSGForOI::makeSeedsFromHits(), SiStripRecHitConverterAlgorithm::match(), GlobalTrackerMuonAlignment::muonFitter(), TrajectorySeed::nHits(), reco::CompositeCandidate::numberOfDaughters(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), edm::OwnVector< T, P >::OwnVector(), PFBlockAlgo::packLinks(), PFAlgoTestBenchElectrons::processBlock(), PFAlgo::processBlock(), CandOneToManyDeltaRMatcher::produce(), FastTrackerRecHitMaskProducer::produce(), RPCRecHitProducer::produce(), DTRecSegment4DProducer::produce(), DTRecHitProducer::produce(), DTRecSegment2DProducer::produce(), DTRecSegment2DExtendedProducer::produce(), FakeTrackProducer< T >::produce(), TrackCandidateTopBottomHitFilter::produce(), GEMRecHitProducer::produce(), TrackingRecHitProducer::produce(), ME0RecHitProducer::produce(), PFEGammaProducer::produce(), TrackerToMuonPropagator::produce(), CSCOverlapsTrackPreparation::produce(), TrajectorySeedProducer::produce(), cms::CkfTrackCandidateMakerBase::produceBase(), PFAlgo::reconstructParticles(), AnalyticalTrackSelector::run(), PFPhotonAlgo::RunPFPhoton(), PFElectronAlgo::SetLinks(), SiTrackerMultiRecHit::sharesInput(), edm::OwnVector< T, P >::swap(), pat::Jet::tagInfoByType(), GlobalTrackerMuonAlignment::trackFitter(), and OutInConversionTrackFinder::tracks().
Definition at line 465 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::ordering().
Referenced by PFBenchmarkAlgo::vector_sort().
void edm::OwnVector< T, P >::sort | ( | ) |
Definition at line 470 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, and edm::OwnVector< T, P >::ordering().
Referenced by edm::OwnVector< reco::reco::PFBlockElement >::reverse().
|
inline |
Definition at line 475 of file OwnVector.h.
References edm::OwnVector< T, P >::data_, MillePedeFileConverter_cfg::e, edm::OwnVector< T, P >::fillView(), mps_fire::i, crabWrapper::key, edm::errors::NullPointerError, trackingPlots::other, edm::OwnVector< T, P >::size(), and edm::Exception::throwThis().
Referenced by edm::OwnVector< T, P >::operator=(), edm::OwnVector< reco::reco::PFBlockElement >::reverse(), TrajectorySeed::swap(), and TrackCandidate::TrackCandidate().
|
private |
Definition at line 197 of file OwnVector.h.
Referenced by edm::OwnVector< T, P >::back(), edm::OwnVector< T, P >::begin(), edm::OwnVector< T, P >::clear(), edm::OwnVector< T, P >::data(), edm::OwnVector< T, P >::destroy(), edm::OwnVector< T, P >::empty(), edm::OwnVector< T, P >::end(), edm::OwnVector< T, P >::erase(), edm::OwnVector< T, P >::front(), edm::OwnVector< T, P >::insert(), edm::OwnVector< T, P >::is_back_safe(), edm::OwnVector< T, P >::operator=(), edm::OwnVector< T, P >::operator[](), edm::OwnVector< T, P >::OwnVector(), edm::OwnVector< T, P >::pop_back(), edm::OwnVector< T, P >::push_back(), edm::OwnVector< T, P >::reserve(), edm::OwnVector< reco::reco::PFBlockElement >::reverse(), edm::OwnVector< T, P >::set(), edm::OwnVector< reco::reco::PFBlockElement >::shrink_to_fit(), edm::OwnVector< T, P >::size(), edm::OwnVector< T, P >::sort(), and edm::OwnVector< T, P >::swap().