QMCPACK
RefVectorWithLeader< T > Class Template Reference
+ Inheritance diagram for RefVectorWithLeader< T >:
+ Collaboration diagram for RefVectorWithLeader< T >:

Public Member Functions

 RefVectorWithLeader (T &leader)
 
 RefVectorWithLeader (T &leader, const std::vector< std::reference_wrapper< T >> &vec)
 
T & getLeader () const
 
T & operator[] (size_t i) const
 
template<typename CASTTYPE >
CASTTYPE & getCastedLeader () const
 
template<typename CASTTYPE >
CASTTYPE & getCastedElement (size_t i) const
 

Private Attributes

std::reference_wrapper< T > leader_
 

Detailed Description

template<typename T>
class qmcplusplus::RefVectorWithLeader< T >

Definition at line 23 of file RefVectorWithLeader.h.

Constructor & Destructor Documentation

◆ RefVectorWithLeader() [1/2]

RefVectorWithLeader ( T &  leader)
inline

Definition at line 26 of file RefVectorWithLeader.h.

26 : leader_(leader) {}
std::reference_wrapper< T > leader_

◆ RefVectorWithLeader() [2/2]

RefVectorWithLeader ( T &  leader,
const std::vector< std::reference_wrapper< T >> &  vec 
)
inline

Definition at line 28 of file RefVectorWithLeader.h.

28  : leader_(leader)
29  {
30  for (T& element : vec)
31  this->push_back(element);
32  }
std::reference_wrapper< T > leader_

Member Function Documentation

◆ getCastedElement()

CASTTYPE& getCastedElement ( size_t  i) const
inline

Definition at line 47 of file RefVectorWithLeader.h.

Referenced by SoaDistanceTableAAOMPTarget< T, D, SC >::acquireResource(), TwoBodyJastrow< FT >::acquireResource(), RealSpacePositionsOMPTarget::acquireResource(), MultiDiracDeterminant::acquireResource(), TestSOECPotential::addVPs(), SoaDistanceTableABOMPTarget< T, D, SC >::associateResource(), LCAOrbitalSet::extractBasisRefList(), RotatedSPOs::extractPhiRefList(), SpinorSet::extractSpinComponentRefList(), MultiSlaterDetTableMethod::mw_accept_rejectMove(), SlaterDet::mw_accept_rejectMove(), DiracDeterminantBatched< PL, VT, FPVT >::mw_accept_rejectMove(), TwoBodyJastrow< FT >::mw_accept_rejectMove(), RealSpacePositionsOMPTarget::mw_acceptParticlePos(), DiracDeterminantBatched< PL, VT, FPVT >::mw_calcRatio(), MultiSlaterDetTableMethod::mw_calcRatio(), TwoBodyJastrow< FT >::mw_calcRatio(), DiracDeterminantBatched< PL, VT, FPVT >::mw_completeUpdates(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGrad(), MultiSlaterDetTableMethod::mw_evalGrad_impl(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGradWithSpin(), CoulombPBCAA::mw_evaluate(), SoaDistanceTableABOMPTarget< T, D, SC >::mw_evaluate(), SlaterDet::mw_evaluateGL(), TwoBodyJastrow< FT >::mw_evaluateGL(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateGL(), SOECPotential::mw_evaluateImpl(), NonLocalECPotential::mw_evaluateImpl(), SlaterDet::mw_evaluateLog(), TwoBodyJastrow< FT >::mw_evaluateLog(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateLog(), BareKineticEnergy::mw_evaluatePerParticle(), CoulombPBCAA::mw_evaluatePerParticle(), CoulombPBCAB::mw_evaluatePerParticle(), DiracDeterminant< DU_TYPE >::mw_evaluateRatios(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateRatios(), TwoBodyJastrow< FT >::mw_evaluateRatios(), J1OrbitalSoA< FT >::mw_evaluateRatios(), SpinorSet::mw_evaluateVGLWithSpin(), BareKineticEnergy::mw_evaluateWithParameterDerivatives(), DiracDeterminantBatched< PL, VT, FPVT >::mw_invertPsiM(), SoaDistanceTableAAOMPTarget< T, D, SC >::mw_move(), MultiSlaterDetTableMethod::mw_prepareGroup(), DiracDeterminant< DU_TYPE >::mw_ratioGrad(), MultiSlaterDetTableMethod::mw_ratioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGrad(), TwoBodyJastrow< FT >::mw_ratioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGradWithSpin(), DiracDeterminantBatched< PL, VT, FPVT >::mw_recompute(), SoaDistanceTableAAOMPTarget< T, D, SC >::releaseResource(), SoaDistanceTableABOMPTarget< T, D, SC >::releaseResource(), and TwoBodyJastrow< FT >::releaseResource().

48  {
49  static_assert(std::is_const<T>::value == std::is_const<CASTTYPE>::value, "Unmatched const type qualifier!");
50  assert(dynamic_cast<CASTTYPE*>(&(*this)[i]) != nullptr);
51  return static_cast<CASTTYPE&>((*this)[i]);
52  }

◆ getCastedLeader()

CASTTYPE& getCastedLeader ( ) const
inline

Definition at line 39 of file RefVectorWithLeader.h.

Referenced by SOECPotential::acquireResource(), SoaDistanceTableAAOMPTarget< T, D, SC >::acquireResource(), SplineC2COMPTarget< ST >::acquireResource(), SplineC2ROMPTarget< ST >::acquireResource(), NonLocalECPotential::acquireResource(), SoaDistanceTableABOMPTarget< T, D, SC >::acquireResource(), BareKineticEnergy::acquireResource(), TwoBodyJastrow< FT >::acquireResource(), MultiSlaterDetTableMethod::acquireResource(), RealSpacePositionsOMPTarget::acquireResource(), SpinorSet::acquireResource(), DiracDeterminant< DU_TYPE >::acquireResource(), CoulombPBCAB::acquireResource(), MultiDiracDeterminant::acquireResource(), LCAOrbitalSet::acquireResource(), J1OrbitalSoA< FT >::acquireResource(), DiracDeterminantBatched< PL, VT, FPVT >::acquireResource(), SoaDistanceTableABOMPTarget< T, D, SC >::associateResource(), SlaterDet::extract_DetRef_list(), MultiSlaterDetTableMethod::extract_DetRef_list(), LCAOrbitalSet::extractBasisRefList(), RotatedSPOs::extractPhiRefList(), SpinorSet::extractSpinComponentRefList(), DiracDeterminantBatched< PL, VT, FPVT >::mw_accept_rejectMove(), TwoBodyJastrow< FT >::mw_accept_rejectMove(), RealSpacePositionsOMPTarget::mw_acceptParticlePos(), DiracDeterminantBatched< PL, VT, FPVT >::mw_calcRatio(), MultiSlaterDetTableMethod::mw_calcRatio(), TwoBodyJastrow< FT >::mw_calcRatio(), DiracDeterminantBatched< PL, VT, FPVT >::mw_completeUpdates(), RealSpacePositionsOMPTarget::mw_copyActivePos(), SoaDistanceTableAAOMPTarget< T, D, SC >::mw_evalDistsInRange(), MultiSlaterDetTableMethod::mw_evalGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGrad(), MultiSlaterDetTableMethod::mw_evalGrad_impl(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGradWithSpin(), CoulombPBCAA::mw_evaluate(), SoaDistanceTableABOMPTarget< T, D, SC >::mw_evaluate(), SpinorSet::mw_evaluate_notranspose(), LCAOrbitalSet::mw_evaluateDetRatios(), SplineC2COMPTarget< ST >::mw_evaluateDetRatios(), SplineC2ROMPTarget< ST >::mw_evaluateDetRatios(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateGL(), SOECPotential::mw_evaluateImpl(), NonLocalECPotential::mw_evaluateImpl(), BareKineticEnergy::mw_evaluatePerParticle(), CoulombPBCAA::mw_evaluatePerParticle(), CoulombPBCAB::mw_evaluatePerParticle(), TwoBodyJastrow< FT >::mw_evaluateRatios(), J1OrbitalSoA< FT >::mw_evaluateRatios(), LCAOrbitalSet::mw_evaluateValue(), LCAOrbitalSet::mw_evaluateValueImplGEMM(), LCAOrbitalSet::mw_evaluateValueVPsImplGEMM(), LCAOrbitalSet::mw_evaluateVGL(), SplineC2COMPTarget< ST >::mw_evaluateVGL(), SplineC2ROMPTarget< ST >::mw_evaluateVGL(), LCAOrbitalSet::mw_evaluateVGLandDetRatioGrads(), SplineC2COMPTarget< ST >::mw_evaluateVGLandDetRatioGrads(), SplineC2ROMPTarget< ST >::mw_evaluateVGLandDetRatioGrads(), SpinorSet::mw_evaluateVGLandDetRatioGradsWithSpin(), LCAOrbitalSet::mw_evaluateVGLImplGEMM(), SpinorSet::mw_evaluateVGLWithSpin(), BareKineticEnergy::mw_evaluateWithParameterDerivatives(), DiracDeterminantBatched< PL, VT, FPVT >::mw_invertPsiM(), SoaDistanceTableAAOMPTarget< T, D, SC >::mw_move(), MultiSlaterDetTableMethod::mw_prepareGroup(), MultiSlaterDetTableMethod::mw_ratioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGrad(), TwoBodyJastrow< FT >::mw_ratioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGradWithSpin(), TwoBodyJastrow< FT >::mw_recompute(), DiracDeterminantBatched< PL, VT, FPVT >::mw_recompute(), SOECPotential::releaseResource(), SplineC2COMPTarget< ST >::releaseResource(), SplineC2ROMPTarget< ST >::releaseResource(), NonLocalECPotential::releaseResource(), BareKineticEnergy::releaseResource(), SoaDistanceTableAAOMPTarget< T, D, SC >::releaseResource(), SoaDistanceTableABOMPTarget< T, D, SC >::releaseResource(), TwoBodyJastrow< FT >::releaseResource(), MultiSlaterDetTableMethod::releaseResource(), SpinorSet::releaseResource(), DiracDeterminant< DU_TYPE >::releaseResource(), RealSpacePositionsOMPTarget::releaseResource(), CoulombPBCAB::releaseResource(), MultiDiracDeterminant::releaseResource(), LCAOrbitalSet::releaseResource(), J1OrbitalSoA< FT >::releaseResource(), and DiracDeterminantBatched< PL, VT, FPVT >::releaseResource().

40  {
41  static_assert(std::is_const<T>::value == std::is_const<CASTTYPE>::value, "Unmatched const type qualifier!");
42  assert(dynamic_cast<CASTTYPE*>(&leader_.get()) != nullptr);
43  return static_cast<CASTTYPE&>(leader_.get());
44  }
std::reference_wrapper< T > leader_

◆ getLeader()

T& getLeader ( ) const
inline

Definition at line 34 of file RefVectorWithLeader.h.

Referenced by VirtualParticleSet::acquireResource(), SoaDistanceTableAAOMPTarget< T, D, SC >::acquireResource(), SplineC2COMPTarget< ST >::acquireResource(), SplineC2ROMPTarget< ST >::acquireResource(), LCAOrbitalSet::acquireResource(), QMCHamiltonian::acquireResource(), TrialWaveFunction::acquireResource(), ParticleSet::acquireResource(), SoaAtomicBasisSet< ROT, SH >::acquireResource(), QMCHamiltonian::extract_HC_list(), ParticleSet::extractCoordsRefList(), VirtualParticleSet::extractDTRefList(), ParticleSet::extractDTRefList(), ParticleSet::extractSKRefList(), TrialWaveFunction::extractWFCRefList(), DiracDeterminantBatched< PL, VT, FPVT >::mw_accept_rejectMove(), TwoBodyJastrow< FT >::mw_accept_rejectMove(), WaveFunctionComponent::mw_accept_rejectMove(), ParticleSet::mw_accept_rejectMove(), TrialWaveFunction::mw_accept_rejectMove(), DelayedUpdateBatched< PL, VALUE >::mw_accept_rejectRow(), RealSpacePositions::mw_acceptParticlePos(), RealSpacePositionsOMPTarget::mw_acceptParticlePos(), DiracDeterminantBatched< PL, VT, FPVT >::mw_calcRatio(), TwoBodyJastrow< FT >::mw_calcRatio(), TrialWaveFunction::mw_calcRatio(), WaveFunctionComponent::mw_calcRatio(), TrialWaveFunction::mw_calcRatioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_completeUpdates(), WaveFunctionComponent::mw_completeUpdates(), TrialWaveFunction::mw_completeUpdates(), ParticleSet::mw_computeNewPosDistTables(), DynamicCoordinates::mw_copyActivePos(), RealSpacePositionsOMPTarget::mw_copyActivePos(), ParticleSet::mw_donePbyP(), SoaDistanceTableAAOMPTarget< T, D, SC >::mw_evalDistsInRange(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGrad(), WaveFunctionComponent::mw_evalGrad(), DelayedUpdateBatched< PL, VALUE >::mw_evalGrad(), TrialWaveFunction::mw_evalGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evalGradWithSpin(), DelayedUpdateBatched< PL, VALUE >::mw_evalGradWithSpin(), WaveFunctionComponent::mw_evalGradWithSpin(), CoulombPBCAA::mw_evaluate(), SoaDistanceTableABOMPTarget< T, D, SC >::mw_evaluate(), QMCHamiltonian::mw_evaluate(), OperatorBase::mw_evaluate(), BsplineSet::mw_evaluate_notranspose(), SpinorSet::mw_evaluate_notranspose(), SPOSet::mw_evaluate_notranspose(), TrialWaveFunction::mw_evaluateDeltaLog(), TrialWaveFunction::mw_evaluateDeltaLogSetup(), LCAOrbitalSet::mw_evaluateDetRatios(), SplineC2COMPTarget< ST >::mw_evaluateDetRatios(), SPOSet::mw_evaluateDetRatios(), SplineC2ROMPTarget< ST >::mw_evaluateDetRatios(), MultiDiracDeterminant::mw_evaluateDetsAndGradsForPtclMove(), MultiDiracDeterminant::mw_evaluateDetsForPtclMove(), TwoBodyJastrow< FT >::mw_evaluateGL(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateGL(), WaveFunctionComponent::mw_evaluateGL(), TrialWaveFunction::mw_evaluateGL(), MultiDiracDeterminant::mw_evaluateGrads(), SOECPotential::mw_evaluateImpl(), NonLocalECPotential::mw_evaluateImpl(), WaveFunctionComponent::mw_evaluateLog(), TrialWaveFunction::mw_evaluateLog(), TwoBodyJastrow< FT >::mw_evaluateLog(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateLog(), SOECPComponent::mw_evaluateOne(), NonLocalECPComponent::mw_evaluateOne(), BareKineticEnergy::mw_evaluatePerParticle(), CoulombPBCAA::mw_evaluatePerParticle(), CoulombPBCAB::mw_evaluatePerParticle(), DiracDeterminantBatched< PL, VT, FPVT >::mw_evaluateRatios(), TwoBodyJastrow< FT >::mw_evaluateRatios(), J1OrbitalSoA< FT >::mw_evaluateRatios(), TrialWaveFunction::mw_evaluateRatios(), WaveFunctionComponent::mw_evaluateRatios(), SoaAtomicBasisSet< ROT, SH >::mw_evaluateV(), LCAOrbitalSet::mw_evaluateValue(), SoaLocalizedBasisSet< COT, ORBT >::mw_evaluateValue(), SPOSet::mw_evaluateValue(), QMCHamiltonian::mw_evaluateValueAndDerivatives(), LCAOrbitalSet::mw_evaluateValueImplGEMM(), SoaLocalizedBasisSet< COT, ORBT >::mw_evaluateValueVPs(), LCAOrbitalSet::mw_evaluateValueVPsImplGEMM(), LCAOrbitalSet::mw_evaluateVGL(), SoaLocalizedBasisSet< COT, ORBT >::mw_evaluateVGL(), SplineC2COMPTarget< ST >::mw_evaluateVGL(), SplineC2ROMPTarget< ST >::mw_evaluateVGL(), SPOSet::mw_evaluateVGL(), SoaAtomicBasisSet< ROT, SH >::mw_evaluateVGL(), LCAOrbitalSet::mw_evaluateVGLandDetRatioGrads(), SplineC2COMPTarget< ST >::mw_evaluateVGLandDetRatioGrads(), SplineC2ROMPTarget< ST >::mw_evaluateVGLandDetRatioGrads(), SPOSet::mw_evaluateVGLandDetRatioGrads(), SpinorSet::mw_evaluateVGLandDetRatioGradsWithSpin(), LCAOrbitalSet::mw_evaluateVGLImplGEMM(), SpinorSet::mw_evaluateVGLWithSpin(), DelayedUpdateBatched< PL, VALUE >::mw_getInvRow(), ParticleSet::mw_loadWalker(), VirtualParticleSet::mw_makeMoves(), VirtualParticleSet::mw_makeMovesWithSpin(), QMCHamiltonian::mw_makeNonLocalMoves(), SoaDistanceTableAAOMPTarget< T, D, SC >::mw_move(), WaveFunctionComponent::mw_prepareGroup(), TrialWaveFunction::mw_prepareGroup(), DelayedUpdateBatched< PL, VALUE >::mw_prepareInvRow(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGrad(), TwoBodyJastrow< FT >::mw_ratioGrad(), WaveFunctionComponent::mw_ratioGrad(), DiracDeterminantBatched< PL, VT, FPVT >::mw_ratioGradWithSpin(), WaveFunctionComponent::mw_ratioGradWithSpin(), WaveFunctionComponent::mw_recompute(), TrialWaveFunction::mw_recompute(), DiracDeterminantBatched< PL, VT, FPVT >::mw_recompute(), DelayedUpdateBatched< PL, VALUE >::mw_transferAinv_D2H(), ParticleSet::mw_update(), StructFact::mw_updateAllPart(), DelayedUpdateBatched< PL, VALUE >::mw_updateInvMat(), DelayedUpdateBatched< PL, VALUE >::mw_updateRow(), VirtualParticleSet::RefVectorWithLeaderParticleSet(), EstimatorManagerCrowd::registerListeners(), VirtualParticleSet::releaseResource(), SplineC2COMPTarget< ST >::releaseResource(), SplineC2ROMPTarget< ST >::releaseResource(), LCAOrbitalSet::releaseResource(), QMCHamiltonian::releaseResource(), TrialWaveFunction::releaseResource(), ParticleSet::releaseResource(), SoaAtomicBasisSet< ROT, SH >::releaseResource(), ResourceCollectionTeamLock< CONSUMER >::ResourceCollectionTeamLock(), qmcplusplus::TEST_CASE(), and ResourceCollectionTeamLock< CONSUMER >::~ResourceCollectionTeamLock().

34 { return leader_; }
std::reference_wrapper< T > leader_

◆ operator[]()

T& operator[] ( size_t  i) const
inline

Definition at line 36 of file RefVectorWithLeader.h.

36 { return std::vector<std::reference_wrapper<T>>::operator[](i).get(); }

Member Data Documentation

◆ leader_

std::reference_wrapper<T> leader_
private

The documentation for this class was generated from the following file: