MPQC 2.3.1
Public Member Functions | Protected Member Functions | List of all members
sc::RefBase Class Referenceabstract

Provides a few utility routines common to all Ref template instantiations. More...

#include <ref.h>

Inheritance diagram for sc::RefBase:
sc::Ref< DiagSCMatrix > sc::Ref< SCDimension > sc::Ref< SCMatrix > sc::Ref< SCVector > sc::Ref< SymmSCMatrix > sc::Ref< sc::MolecularCoor > sc::Ref< sc::Molecule > sc::Ref< sc::SCMatrixKit > sc::Ref< sc::MessageGrp > sc::Ref< sc::ThreadGrp > sc::Ref< sc::MemoryGrp > sc::Ref< sc::IntegralCCA > sc::Ref< sc::Wavefunction > sc::Ref< GaussianBasisSet > sc::Ref< GaussianShell > sc::Ref< Integral > sc::Ref< OneBodyInt > sc::Ref< OneBodyDerivInt > sc::Ref< sc::GaussianBasisSet > sc::Ref< sc::Integral > sc::Ref< sc::TwoBodyInt > sc::Ref< sc::TwoBodyDerivInt > sc::Ref< sc::Units > sc::Ref< sc::ThreadLock > sc::Ref< sc::KeyVal > sc::Ref< sc::AtomInfo > sc::Ref< sc::TriangulatedImplicitSurface > sc::Ref< sc::BEMSolvent > sc::Ref< sc::DenIntegrator > sc::Ref< sc::DenFunctional > sc::Ref< sc::PointGroup > sc::Ref< sc::RegionTimer > sc::Ref< sc::SCExtrapData > sc::Ref< sc::SCExtrapError > sc::Ref< sc::BatchElectronDensity > sc::Ref< sc::Int1eV3 > sc::Ref< sc::DipoleData > sc::Ref< sc::SCMatrixBlockList > sc::Ref< sc::HessianUpdate > sc::Ref< sc::Vertex > sc::Ref< sc::EfieldDotVectorData > sc::Ref< sc::ShellPairsCints > sc::Ref< sc::FJT > sc::Ref< sc::MolecularEnergy > sc::Ref< sc::Volume > sc::Ref< sc::PointChargeData > sc::Ref< sc::IntegralStorer > sc::Ref< sc::IntCoorGen > sc::Ref< sc::SetIntCoor > sc::Ref< sc::IntCoor > sc::Ref< sc::DescribedClass > sc::Ref< sc::Function > sc::Ref< sc::SCMatrixDiagBlock > sc::Ref< sc::SCMatrixRectBlock > sc::Ref< sc::SCVectorSimpleBlock > sc::Ref< sc::SCMatrixLTriBlock > sc::Ref< sc::SCF > sc::Ref< sc::R12IntEval > sc::Ref< sc::MP2R12Energy > sc::Ref< sc::SCVector > sc::Ref< sc::TwoBodyGrid > sc::Ref< sc::MOIndexSpace > sc::Ref< sc::MachineTopology > sc::Ref< sc::RenderedMolecule > sc::Ref< sc::MolecularFrequencies > sc::Ref< sc::MolecularHessian > sc::Ref< sc::OneBodyIntIter > sc::Ref< sc::Int1eCCA > sc::Ref< sc::Int1eCints > sc::Ref< sc::OneBodyInt > sc::Ref< sc::SOBasis > sc::Ref< sc::Convergence > sc::Ref< sc::OneBodyWavefunction > sc::Ref< sc::LSDACFunctional > sc::Ref< sc::PsiSCF > sc::Ref< sc::PsiInput > sc::Ref< sc::PsiFile11 > sc::Ref< sc::PsiExEnv > sc::Ref< sc::LineOpt > sc::Ref< sc::R12IntEvalInfo > sc::Ref< sc::R12Amplitudes > sc::Ref< sc::MOIntsTransformFactory > sc::Ref< sc::IntegrationWeight > sc::Ref< sc::RadialIntegrator > sc::Ref< sc::AngularIntegrator > sc::Ref< sc::Material > sc::Ref< sc::Appearance > sc::Ref< sc::Transform > sc::Ref< sc::MoleculeColorizer > sc::Ref< sc::RenderedObject > sc::Ref< sc::SCBlockInfo > sc::Ref< sc::SelfConsistentExtrapolation > sc::Ref< sc::AccumH > sc::Ref< sc::SCMatrixSubblockIter > sc::Ref< sc::SCMatrixBlock > sc::Ref< sc::SavableState > sc::Ref< sc::PrimPairsCints > sc::Ref< sc::ShellPairCints > sc::Ref< sc::PetiteList > sc::Ref< sc::Edge > sc::Ref< sc::TriInterpCoef > sc::Ref< sc::TriangleIntegrator > sc::Ref< sc::TriangulatedSurface > sc::Ref< sc::Int2eCCA > sc::Ref< sc::Int2eCints > sc::Ref< sc::Int2eV3 > sc::Ref< sc::R12IntsAcc > sc::Ref< sc::TwoBodyMOIntsTransform > sc::Ref< sc::OverlapOrthog > sc::Ref< T >

Public Member Functions

virtual RefCountparentpointer () const =0
 Returns the DescribedClass pointer for the contained object.
 
void require_nonnull () const
 Requires that a nonnull reference is held.
 

Protected Member Functions

void warn (const char *msg) const
 Print a warning message.
 
void warn_ref_to_stack () const
 Called when stack data is referenced.
 
void warn_skip_stack_delete () const
 Called when the deletion of stack data is skipped.
 
void warn_bad_ref_count () const
 Called when the reference count is corrupted.
 
void ref_info (RefCount *p, std::ostream &os) const
 Print information about the reference.
 
void ref_info (std::ostream &os) const
 
void check_pointer () const
 
void reference (RefCount *)
 
int dereference (RefCount *)
 

Detailed Description

Provides a few utility routines common to all Ref template instantiations.

Member Function Documentation

◆ parentpointer()

virtual RefCount * sc::RefBase::parentpointer ( ) const
pure virtual

Returns the DescribedClass pointer for the contained object.

Implemented in sc::Ref< T >, sc::Ref< DiagSCMatrix >, sc::Ref< GaussianBasisSet >, sc::Ref< GaussianShell >, sc::Ref< Integral >, sc::Ref< OneBodyDerivInt >, sc::Ref< OneBodyInt >, sc::Ref< sc::AccumH >, sc::Ref< sc::AngularIntegrator >, sc::Ref< sc::Appearance >, sc::Ref< sc::AtomInfo >, sc::Ref< sc::BatchElectronDensity >, sc::Ref< sc::BEMSolvent >, sc::Ref< sc::Convergence >, sc::Ref< sc::DenFunctional >, sc::Ref< sc::DenIntegrator >, sc::Ref< sc::DescribedClass >, sc::Ref< sc::DipoleData >, sc::Ref< sc::Edge >, sc::Ref< sc::EfieldDotVectorData >, sc::Ref< sc::FJT >, sc::Ref< sc::Function >, sc::Ref< sc::GaussianBasisSet >, sc::Ref< sc::HessianUpdate >, sc::Ref< sc::Int1eCCA >, sc::Ref< sc::Int1eCints >, sc::Ref< sc::Int1eV3 >, sc::Ref< sc::Int2eCCA >, sc::Ref< sc::Int2eCints >, sc::Ref< sc::Int2eV3 >, sc::Ref< sc::IntCoor >, sc::Ref< sc::IntCoorGen >, sc::Ref< sc::Integral >, sc::Ref< sc::IntegralCCA >, sc::Ref< sc::IntegralStorer >, sc::Ref< sc::IntegrationWeight >, sc::Ref< sc::KeyVal >, sc::Ref< sc::LineOpt >, sc::Ref< sc::LSDACFunctional >, sc::Ref< sc::MachineTopology >, sc::Ref< sc::Material >, sc::Ref< sc::MemoryGrp >, sc::Ref< sc::MessageGrp >, sc::Ref< sc::MOIndexSpace >, sc::Ref< sc::MOIntsTransformFactory >, sc::Ref< sc::MolecularCoor >, sc::Ref< sc::MolecularEnergy >, sc::Ref< sc::MolecularFrequencies >, sc::Ref< sc::MolecularHessian >, sc::Ref< sc::Molecule >, sc::Ref< sc::MoleculeColorizer >, sc::Ref< sc::MP2R12Energy >, sc::Ref< sc::OneBodyInt >, sc::Ref< sc::OneBodyIntIter >, sc::Ref< sc::OneBodyWavefunction >, sc::Ref< sc::OverlapOrthog >, sc::Ref< sc::PetiteList >, sc::Ref< sc::PointChargeData >, sc::Ref< sc::PointGroup >, sc::Ref< sc::PrimPairsCints >, sc::Ref< sc::PsiExEnv >, sc::Ref< sc::PsiFile11 >, sc::Ref< sc::PsiInput >, sc::Ref< sc::PsiSCF >, sc::Ref< sc::R12Amplitudes >, sc::Ref< sc::R12IntEval >, sc::Ref< sc::R12IntEvalInfo >, sc::Ref< sc::R12IntsAcc >, sc::Ref< sc::RadialIntegrator >, sc::Ref< sc::RegionTimer >, sc::Ref< sc::RenderedMolecule >, sc::Ref< sc::RenderedObject >, sc::Ref< sc::SavableState >, sc::Ref< sc::SCBlockInfo >, sc::Ref< sc::SCExtrapData >, sc::Ref< sc::SCExtrapError >, sc::Ref< sc::SCF >, sc::Ref< sc::SCMatrixBlock >, sc::Ref< sc::SCMatrixBlockList >, sc::Ref< sc::SCMatrixDiagBlock >, sc::Ref< sc::SCMatrixKit >, sc::Ref< sc::SCMatrixLTriBlock >, sc::Ref< sc::SCMatrixRectBlock >, sc::Ref< sc::SCMatrixSubblockIter >, sc::Ref< sc::SCVector >, sc::Ref< sc::SCVectorSimpleBlock >, sc::Ref< sc::SelfConsistentExtrapolation >, sc::Ref< sc::SetIntCoor >, sc::Ref< sc::ShellPairCints >, sc::Ref< sc::ShellPairsCints >, sc::Ref< sc::SOBasis >, sc::Ref< sc::ThreadGrp >, sc::Ref< sc::ThreadLock >, sc::Ref< sc::Transform >, sc::Ref< sc::TriangleIntegrator >, sc::Ref< sc::TriangulatedImplicitSurface >, sc::Ref< sc::TriangulatedSurface >, sc::Ref< sc::TriInterpCoef >, sc::Ref< sc::TwoBodyDerivInt >, sc::Ref< sc::TwoBodyGrid >, sc::Ref< sc::TwoBodyInt >, sc::Ref< sc::TwoBodyMOIntsTransform >, sc::Ref< sc::Units >, sc::Ref< sc::Vertex >, sc::Ref< sc::Volume >, sc::Ref< sc::Wavefunction >, sc::Ref< SCDimension >, sc::Ref< SCMatrix >, sc::Ref< SCVector >, and sc::Ref< SymmSCMatrix >.

◆ require_nonnull()

void sc::RefBase::require_nonnull ( ) const

Requires that a nonnull reference is held.

If not, the program will abort.


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

Generated at Fri Dec 2 2022 21:09:13 for MPQC 2.3.1 using the documentation package Doxygen 1.9.8.