tmp< T > Class Template Reference

A class for managing temporary objects. More...

Inheritance diagram for tmp< T >:
[legend]

Public Types

typedef T element_type
 Type of object being managed or referenced. More...
 
typedef T * pointer
 Pointer to type of object being managed or referenced. More...
 
typedef Foam::refCount refCount
 Reference counter class. More...
 

Public Member Functions

constexpr tmp () noexcept
 Construct with no managed pointer. More...
 
constexpr tmp (std::nullptr_t) noexcept
 Construct with no managed pointer. More...
 
 tmp (T *p)
 Construct, taking ownership of the pointer. More...
 
 tmp (const T &obj) noexcept
 Construct for a const reference to an object. More...
 
 tmp (tmp< T > &&t) noexcept
 Move construct, transferring ownership. More...
 
 tmp (const tmp< T > &&t) noexcept
 Move construct, transferring ownership. More...
 
 tmp (const tmp< T > &t)
 Copy construct, incrementing ref-count of managed pointer. More...
 
 tmp (const tmp< T > &t, bool reuse)
 Copy construct. Optionally reusing ref-counted pointer. More...
 
 ~tmp ()
 Destructor: deletes managed pointer when the ref-count is 0. More...
 
bool isTmp () const noexcept
 True if this is a managed pointer (not a const reference) More...
 
bool empty () const noexcept
 True if this is a non-null managed pointer. More...
 
bool valid () const noexcept
 
bool movable () const noexcept
 True if this is a non-null managed pointer with a unique ref-count. More...
 
word typeName () const
 Return type-name of the tmp, constructed from type-name of T. More...
 
T * get () noexcept
 Return pointer without nullptr checking. More...
 
const T * get () const noexcept
 Return const pointer without nullptr checking. More...
 
const T & cref () const
 
T & ref () const
 
T & constCast () const
 Non-const dereference, even if the object is const. More...
 
T * ptr () const
 
void clear () const noexcept
 
void reset () noexcept
 Release ownership of managed temporary object. More...
 
void reset (T *p) noexcept
 Delete managed temporary object and set to new given pointer. More...
 
void reset (tmp< T > &&other) noexcept
 Clear existing and transfer ownership. More...
 
void cref (const T &obj) noexcept
 Delete managed temporary object and set to const reference. More...
 
void swap (tmp< T > &other) noexcept
 Swaps the managed object with other. More...
 
const T & operator() () const
 Return const reference to the object. More...
 
 operator const T & () const
 Cast to underlying data type, using the cref() method. More...
 
const T * operator-> () const
 Dereferences (const) pointer to the managed object. More...
 
T * operator-> ()
 Dereferences (non-const) pointer to the managed object. More...
 
 operator bool () const noexcept
 Is non-null managed pointer or const object reference : valid() More...
 
void operator= (T *p)
 Take ownership of the pointer. More...
 
void operator= (const tmp< T > &t)
 Transfer ownership of the managed pointer. More...
 
void operator= (tmp< T > &&other) noexcept
 Clear existing and transfer ownership. More...
 
void operator= (std::nullptr_t)=delete
 No assignment from literal nullptr. More...
 
template<class... Args>
Foam::tmp< T > New (Args &&... args)
 
template<class U , class... Args>
Foam::tmp< T > NewFrom (Args &&... args)
 

Static Public Member Functions

template<class... Args>
static tmp< T > New (Args &&... args)
 Construct tmp of T with forwarding arguments. More...
 
template<class U , class... Args>
static tmp< T > NewFrom (Args &&... args)
 Construct tmp from derived type with forwarding arguments. More...
 

Detailed Description

template<class T>
class Foam::tmp< T >

A class for managing temporary objects.

This is a combination of std::shared_ptr (with intrusive ref-counting) and a shared_ptr without ref-counting and null deleter. This allows the tmp to double as a pointer management and an indirect pointer to externally allocated objects.

Source files
See also
Foam::autoPtr Foam::refCount

Definition at line 59 of file PtrList.H.

Member Typedef Documentation

◆ element_type

typedef T element_type

Type of object being managed or referenced.

Definition at line 92 of file tmp.H.

◆ pointer

typedef T* pointer

Pointer to type of object being managed or referenced.

Definition at line 95 of file tmp.H.

◆ refCount

Reference counter class.

Definition at line 99 of file tmp.H.

Constructor & Destructor Documentation

◆ tmp() [1/8]

constexpr tmp ( )
inlineconstexprnoexcept

Construct with no managed pointer.

Definition at line 70 of file tmpI.H.

◆ tmp() [2/8]

constexpr tmp ( std::nullptr_t  )
inlineconstexprnoexcept

Construct with no managed pointer.

Definition at line 78 of file tmpI.H.

◆ tmp() [3/8]

tmp ( T *  p)
inlineexplicit

Construct, taking ownership of the pointer.

Definition at line 86 of file tmpI.H.

◆ tmp() [4/8]

tmp ( const T &  obj)
inlinenoexcept

Construct for a const reference to an object.

Definition at line 102 of file tmpI.H.

◆ tmp() [5/8]

tmp ( tmp< T > &&  t)
inlinenoexcept

Move construct, transferring ownership.

Does not affect ref-count

Definition at line 110 of file tmpI.H.

◆ tmp() [6/8]

tmp ( const tmp< T > &&  t)
inlinenoexcept

Move construct, transferring ownership.

Does not affect ref-count

Note
Non-standard definition - should be non-const

Definition at line 121 of file tmpI.H.

◆ tmp() [7/8]

tmp ( const tmp< T > &  t)
inline

Copy construct, incrementing ref-count of managed pointer.

Note
Non-standard definition - should be non-const

Definition at line 132 of file tmpI.H.

◆ tmp() [8/8]

tmp ( const tmp< T > &  t,
bool  reuse 
)
inline

Copy construct. Optionally reusing ref-counted pointer.

Definition at line 154 of file tmpI.H.

◆ ~tmp()

~tmp ( )
inline

Destructor: deletes managed pointer when the ref-count is 0.

Definition at line 183 of file tmpI.H.

Member Function Documentation

◆ New() [1/2]

static tmp<T> New ( Args &&...  args)
inlinestatic

Construct tmp of T with forwarding arguments.

Parameters
argslist of arguments with which an instance of T will be constructed.
Note
Similar to std::make_shared, but the overload for array types is not disabled.

Referenced by solidAbsorption::a(), viscousDissipation::addSup(), interRegionHeatTransferModel::addSup(), adjointLaminar::adjointMeanFlowSource(), boundaryAdjointContribution::adjointTMVariable1Source(), boundaryAdjointContribution::adjointTMVariable2Source(), variablesSet::autoCreateMeshMovementField(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::beta(), blendingFactor::blendingFactor(), nutLowReWallFunctionFvPatchScalarField::calcNut(), deltaBoundary::cellCenters_d(), fvPatch::Cn(), adjointEikonalSolver::computeYPhi(), searchableBox::coordinates(), searchablePlate::coordinates(), searchableCylinder::coordinates(), searchableSurfaceCollection::coordinates(), searchableCone::coordinates(), triSurfaceMesh::coordinates(), NURBS3DVolume::coordinates(), displacementMeshMoverMotionSolver::curPoints(), triSurfaceTools::curvatures(), cyclicACMIFvPatch::delta(), cyclicAMIFvPatch::delta(), DESModelRegions::DESModelRegions(), adjointSpalartAllmaras::devReff(), adjointRASModel::diffusionCoeffVar1(), adjointRASModel::diffusionCoeffVar2(), adjointLaminar::distanceSensitivities(), momentumError::divDevRhoReff(), Bezier::dndbBasedSensitivities(), kEpsilonPhitF< BasicTurbulenceModel >::DphitEff(), multiphaseMangrovesSource::dragCoeff(), surfactantProperties::dSigma(), Bezier::dxdbFace(), adjointRotatingWallVelocityFvPatchVectorField::dxdbMult(), solidAbsorption::e(), cloudAbsorptionEmission::eDisp(), Stokes< BasicTurbulenceModel >::epsilon(), SpalartAllmaras< BasicTurbulenceModel >::epsilon(), energyTransport::execute(), boundedBackwardFaDdtScheme::facDdt(), boundBox::faceCentres(), parseDriver::field_cellCentre(), parseDriver::field_rand(), NURBS3DSurface::findClosestSurfacePoint(), adjointLaminar::FISensitivityTerm(), fft::forwardTransform(), interfaceTrackingFvMesh::freeSurfacePressureJump(), interfaceTrackingFvMesh::freeSurfaceSnGradU(), interfaceTrackingFvMesh::freeSurfaceSnGradUn(), noiseFFT::frequencies(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::gamma(), Foam::getField(), cancelATC::getFISensitivityTerm(), exprResult::getObjectResult(), adjointEikonalSolver::gradEikonal(), lduMatrix::H1(), multiphaseMangrovesSource::inertiaCoeff(), rotorDiskSource::inflowVelocity(), Foam::inv(), coordinateSystem::invTransformPointImpl(), Stokes< BasicTurbulenceModel >::k(), SpalartAllmaras< BasicTurbulenceModel >::k(), upwind< Type >::limiter(), cylindrical::localToGlobal(), meshRefinement::makeDisplacementField(), steadyStateDdtScheme< Type >::meshPhi(), incompressibleTwoPhaseMixture::mu(), incompressibleTwoPhaseMixture::muf(), laminar::mut(), faPatch::ngbPolyPatchFaceNormals(), faPatch::ngbPolyPatchPointNormals(), adjointTurbulenceModel::nuEff(), incompressibleTwoPhaseMixture::nuf(), Stokes< BasicTurbulenceModel >::nut(), adjointRASModel::nutJacobianTMVar1(), adjointRASModel::nutJacobianTMVar2(), LESeddyViscosity< BasicTurbulenceModel >::omega(), Stokes< BasicTurbulenceModel >::omega(), kEqn< BasicTurbulenceModel >::omega(), DeardorffDiffStress< BasicTurbulenceModel >::omega(), WALE< BasicTurbulenceModel >::omega(), Smagorinsky< BasicTurbulenceModel >::omega(), ShihQuadraticKE::omega(), LamBremhorstKE::omega(), LienLeschziner::omega(), dynamicKEqn< BasicTurbulenceModel >::omega(), SSG< BasicTurbulenceModel >::omega(), LienCubicKE::omega(), qZeta::omega(), realizableKE< BasicTurbulenceModel >::omega(), LRR< BasicTurbulenceModel >::omega(), SpalartAllmaras< BasicTurbulenceModel >::omega(), kEpsilon< EddyDiffusivity< compressible::turbulenceModel > >::omega(), LaunderSharmaKE< BasicTurbulenceModel >::omega(), RNGkEpsilon< BasicTurbulenceModel >::omega(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::omega(), mixtureKEpsilon< BasicTurbulenceModel >::omega(), kEpsilonPhitF< BasicTurbulenceModel >::omega(), NURBS3DVolume::patchDxDb(), NURBS3DVolume::patchDxDbFace(), noiseFFT::Pf(), semiPermeableBaffleMassFractionFvPatchScalarField::phiY(), boundBox::points(), searchablePlate::points(), treeBoundBox::points(), searchableCylinder::points(), searchableSurfaceCollection::points(), searchableCone::points(), lumpedPointMovement::pointsDisplacement(), lumpedPointMovement::pointsPosition(), Stokes< BasicTurbulenceModel >::R(), lumpedPointMovement::readDict(), reader::readField(), fft::realTransform1D(), fft::reverseTransform(), forces::rho(), coordinateSystem::rotationsImpl(), noRadiation::Rp(), opaqueSolid::Rp(), viewFactor::Rp(), solarLoad::Rp(), noRadiation::Ru(), opaqueSolid::Ru(), noFilm::Sh(), ThermoCloud< Foam::DSMCCloud >::Sh(), kinematicSingleLayer::Sh(), noRadiation::Shs(), constant::sigma(), temperatureDependent::sigma(), wedgeFvPatchField< Type >::snGrad(), noFilm::Srho(), kinematicSingleLayer::Srho(), stabilityBlendingFactor::stabilityBlendingFactor(), interfaceTrackingFvMesh::surfaceTensionGrad(), targetCoeffTrim::thetag(), boundaryAdjointContribution::TMVariable1(), boundaryAdjointContribution::TMVariable1Diffusion(), boundaryAdjointContribution::TMVariable2(), boundaryAdjointContribution::TMVariable2Diffusion(), Foam::transformFieldMask< tensor >(), coordinateSystem::transformPointImpl(), triSurfaceTools::vertexNormals(), triSurfaceTools::vertexTriads(), waveModel::waterLevel(), rotorDiskSource::writeField(), and TableBase< Type >::x().

◆ NewFrom() [1/2]

static tmp<T> NewFrom ( Args &&...  args)
inlinestatic

Construct tmp from derived type with forwarding arguments.

Parameters
argslist of arguments with which an instance of U will be constructed.
Note
Similar to New but for derived types

◆ isTmp()

bool isTmp ( ) const
inlinenoexcept

True if this is a managed pointer (not a const reference)

Definition at line 192 of file tmpI.H.

Referenced by atmAmbientTurbSource::atmAmbientTurbSource(), atmBuoyancyTurbSource::atmBuoyancyTurbSource(), atmLengthScaleTurbSource::atmLengthScaleTurbSource(), atmNutSource::atmNutSource(), atmPlantCanopyTurbSource::atmPlantCanopyTurbSource(), DispersionRASModel< CloudType >::cacheFields(), BrownianMotionForce< CloudType >::cacheFields(), tmp< Foam::fv::convectionScheme< scalar > >::operator=(), and regIOobject::store().

Here is the caller graph for this function:

◆ empty()

bool empty ( ) const
inlinenoexcept

True if this is a non-null managed pointer.

Definition at line 199 of file tmpI.H.

◆ valid()

bool valid ( ) const
inlinenoexcept

True if this is a non-null managed pointer, or is a const object reference

Definition at line 206 of file tmpI.H.

Referenced by basicMultiComponentMixture::basicMultiComponentMixture(), MovingPhaseModel< BasePhaseModel >::divU(), parseDriver::getField(), fvExprDriver::getVariable(), parseDriver::getVariableIfAvailable(), fvMeshSubsetProxy::interpolate(), twoPhaseSystem::solve(), Foam::writeAreaField(), Foam::writeDimField(), Foam::writePointField(), and Foam::writeVolField().

Here is the caller graph for this function:

◆ movable()

bool movable ( ) const
inlinenoexcept

True if this is a non-null managed pointer with a unique ref-count.

Definition at line 213 of file tmpI.H.

◆ typeName()

Foam::word typeName ( ) const
inline

Return type-name of the tmp, constructed from type-name of T.

Definition at line 220 of file tmpI.H.

◆ get() [1/2]

T * get ( )
inlinenoexcept

Return pointer without nullptr checking.

Definition at line 227 of file tmpI.H.

Referenced by parseDriver::getField(), and regIOobject::store().

Here is the caller graph for this function:

◆ get() [2/2]

const T * get ( ) const
inlinenoexcept

Return const pointer without nullptr checking.

Definition at line 234 of file tmpI.H.

◆ cref() [1/2]

const T & cref ( ) const
inline

Return the const object reference or a const reference to the contents of a non-null managed pointer.

Fatal for a null managed pointer

Definition at line 241 of file tmpI.H.

Referenced by fvExprDriver::getVariable(), and regIOobject::store().

Here is the caller graph for this function:

◆ ref()

T & ref ( ) const
inline

Return non-const reference to the contents of a non-null managed pointer.

Fatal for a null managed pointer or if the object is const.

Definition at line 258 of file tmpI.H.

Referenced by faMatrix< Type >::A(), fvMatrix< Type >::A(), MRFZoneList::absolute(), multiBandZoneAbsorptionEmission::aCont(), greyMeanAbsorptionEmission::aCont(), wideBandAbsorptionEmission::aCont(), phaseChange::addToDriftRate(), cloudAbsorptionEmission::aDisp(), adjointSensitivity::adjointMeshMovementSource(), pairGAMGAgglomeration::agglomerate(), GAMGInterface::agglomerateCoeffs(), adjointSolverManager::aggregateSensitivities(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::alpha(), ThermoCloud< Foam::DSMCCloud >::ap(), polyPatch::areaFraction(), Foam::atan2(), Foam::fac::average(), Foam::fvc::average(), snappySnapDriver::avgCellCentres(), alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::calcAlphat(), add::calcFieldType(), subtract::calcFieldType(), faceLimitedGrad< Type >::calcGrad(), faceMDLimitedGrad< Type >::calcGrad(), cellMDLimitedGrad< Type >::calcGrad(), curvatureSeparation::calcInvR1(), nutkWallFunctionFvPatchScalarField::calcNut(), nutUWallFunctionFvPatchScalarField::calcNut(), nutkRoughWallFunctionFvPatchScalarField::calcNut(), nutUSpaldingWallFunctionFvPatchScalarField::calcNut(), atmNutUWallFunctionFvPatchScalarField::calcNut(), atmNutkWallFunctionFvPatchScalarField::calcNut(), atmNutWallFunctionFvPatchScalarField::calcNut(), phaseSystem::calcPhi(), StandardChemistryModel< ReactionThermo, ThermoType >::calculateRR(), nutUTabulatedWallFunctionFvPatchScalarField::calcUPlus(), nutkFilmWallFunctionFvPatchScalarField::calcUTau(), nutUBlendedWallFunctionFvPatchScalarField::calcUTau(), nutUSpaldingWallFunctionFvPatchScalarField::calcUTau(), nutUWallFunctionFvPatchScalarField::calcYPlus(), primitiveMeshTools::cellDeterminant(), Foam::cmptMag(), optimisationType::computeDirection(), NURBS3DVolume::computeNewBoundaryPoints(), NURBS3DVolume::computeNewPoints(), NURBS3DVolume::computeParametricCoordinates(), Foam::constrainHbyA(), adjointSolverManager::constraintValues(), forceList::correct(), thermocapillaryForce::correct(), contactAngleForce::correct(), Maxwell< BasicTurbulenceModel >::correct(), DeardorffDiffStress< BasicTurbulenceModel >::correct(), ShihQuadraticKE::correct(), LamBremhorstKE::correct(), LienLeschziner::correct(), kOmega< BasicTurbulenceModel >::correct(), SpalartAllmaras< BasicTurbulenceModel >::correct(), LienCubicKE::correct(), SSG< BasicTurbulenceModel >::correct(), realizableKE< BasicTurbulenceModel >::correct(), kEpsilon< EddyDiffusivity< compressible::turbulenceModel > >::correct(), RNGkEpsilon< BasicTurbulenceModel >::correct(), LaunderSharmaKE< BasicTurbulenceModel >::correct(), LRR< BasicTurbulenceModel >::correct(), qZeta::correct(), SpalartAllmarasDES< BasicTurbulenceModel >::correct(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::correct(), mixtureKEpsilon< BasicTurbulenceModel >::correct(), kkLOmega::correct(), kEpsilonPhitF< BasicTurbulenceModel >::correct(), adjointSpalartAllmaras::correct(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), correctedLnGrad< Type >::correction(), fourthLnGrad< Type >::correction(), cubic< Type >::correction(), pointLinear< Type >::correction(), CentredFitSnGradScheme< Type, Polynomial, Stencil >::correction(), correctedSnGrad< Type >::correction(), faceCorrectedSnGrad< Type >::correction(), deferredCorrection< Type >::correction(), outletStabilised< Type >::correction(), kOmegaSSTLM< BasicTurbulenceModel >::correctReThetatGammaInt(), liquidFilmThermo::Cp(), constantFilmThermo::Cp(), heThermo< BasicSolidThermo, MixtureType >::Cp(), heThermo< BasicSolidThermo, MixtureType >::CpByCpv(), heThermo< BasicSolidThermo, MixtureType >::Cpv(), cellCellStencil::createField(), Foam::fvc::curl(), multiSolidBodyMotionSolver::curPoints(), solidBodyMotionSolver::curPoints(), volumetricBSplinesMotionSolver::curPoints(), velocityComponentLaplacianFvMotionSolver::curPoints(), displacementComponentLaplacianFvMotionSolver::curPoints(), displacementSBRStressFvMotionSolver::curPoints(), sixDoFRigidBodyMotionSolver::curPoints(), displacementInterpolationMotionSolver::curPoints(), heThermo< BasicSolidThermo, MixtureType >::Cv(), faMatrix< Type >::D(), fvMatrix< Type >::D(), fvMatrix< Type >::DD(), MomentumTransferPhaseSystem< BasePhaseSystem >::ddtCorrByAs(), fvFieldDecomposer::decomposeField(), cyclicFvPatch::delta(), cyclicFaPatch::delta(), fvMesh::delta(), blackBodyEmission::deltaLambdaT(), nonlinearEddyViscosity< incompressible::RASModel >::devRhoReff(), adjointSpalartAllmaras::diffusionCoeffVar1(), adjointSpalartAllmaras::distanceSensitivities(), Foam::fac::div(), NURBS3DVolume::dndbBasedSensitivities(), adjointSpalartAllmaras::dr_dDelta(), adjointSpalartAllmaras::dr_dNuTilda(), adjointSpalartAllmaras::dr_dStilda(), multiphaseMangrovesSource::dragCoeff(), SpalartAllmarasDES< BasicTurbulenceModel >::dTilda(), shapeSensitivities::dvdbMult(), blackBodyEmission::EbDeltaLambdaT(), multiBandZoneAbsorptionEmission::eCont(), greyMeanAbsorptionEmission::ECont(), wideBandAbsorptionEmission::ECont(), faPatch::edgeFaceCentres(), faMesh::edgeLengthCorrection(), faPatch::edgeNormals(), ThermoCloud< Foam::DSMCCloud >::Ep(), LESeddyViscosity< BasicTurbulenceModel >::epsilon(), edgeInterpolationScheme< scalar >::euclidianInterpolate(), scalarTransport::execute(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::F23(), EulerFaD2dt2Scheme< Type >::facD2dt2(), EulerFaDdtScheme< Type >::facDdt(), backwardFaDdtScheme< Type >::facDdt(), boundedBackwardFaDdtScheme::facDdt(), EulerFaDdtScheme< Type >::facDdt0(), backwardFaDdtScheme< Type >::facDdt0(), boundedBackwardFaDdtScheme::facDdt0(), gaussConvectionScheme< Type >::facDiv(), polyPatch::faceCellCentres(), primitiveMeshTools::faceConcavity(), lduMatrix::faceH(), PatchToPatchInterpolation< FromPatch, ToPatch >::faceInterpolate(), cellQuality::faceNonOrthogonality(), primitiveMeshTools::faceOrthogonality(), mappedPatchBase::facePoints(), polyMeshTools::faceSkewness(), primitiveMeshTools::faceSkewness(), cellQuality::faceSkewness(), PrimitivePatchInterpolation< Foam::PrimitivePatch >::faceToPointInterpolate(), gaussLaplacianScheme< Type >::facLaplacian(), EulerFaD2dt2Scheme< Type >::famD2dt2(), EulerFaDdtScheme< Type >::famDdt(), backwardFaDdtScheme< Type >::famDdt(), boundedBackwardFaDdtScheme::famDdt(), gaussConvectionScheme< Type >::famDiv(), gaussLaplacianScheme< Type >::famLaplacian(), Foam::edgeMeshTools::featureProximity(), volPointInterpolation::flatBoundaryField(), faMatrix< Type >::flux(), fvMatrix< Type >::flux(), correctedSnGrad< Type >::fullGradCorrection(), faceCorrectedSnGrad< Type >::fullGradCorrection(), skewCorrectedSnGrad< Type >::fullGradCorrection(), EulerDdtScheme< Type >::fvcDdt(), CoEulerDdtScheme< Type >::fvcDdt(), SLTSDdtScheme< Type >::fvcDdt(), backwardDdtScheme< Type >::fvcDdt(), ddtScheme< Type >::fvcDdtPhiCoeff(), ddtScheme< Type >::fvcDdtPhiCoeffExperimental(), steadyStateDdtScheme< Type >::fvcDdtPhiCorr(), steadyStateDdtScheme< Type >::fvcDdtUfCorr(), gaussConvectionScheme< Type >::fvcDiv(), gaussLaplacianScheme< Type, GType >::fvcLaplacian(), EulerD2dt2Scheme< Type >::fvmD2dt2(), EulerDdtScheme< Type >::fvmDdt(), CoEulerDdtScheme< Type >::fvmDdt(), backwardDdtScheme< Type >::fvmDdt(), SLTSDdtScheme< Type >::fvmDdt(), localEulerDdtScheme< Type >::fvmDdt(), gaussConvectionScheme< Type >::fvmDiv(), gaussLaplacianScheme< Type, GType >::fvmLaplacian(), gaussLaplacianScheme< Type, GType >::fvmLaplacianUncorrected(), heThermo< BasicSolidThermo, MixtureType >::gamma(), pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasHs(), fvMeshDistribute::generateTestField(), NURBS3DVolume::getDxCellsDb(), NURBS3DVolume::getDxDb(), cylindrical::globalToLocal(), kinematicSingleLayer::gNormClipped(), Foam::fac::grad(), lduMatrix::H(), faMatrix< Type >::H(), fvMatrix< Type >::H(), heThermo< BasicSolidThermo, MixtureType >::hc(), heThermo< BasicSolidThermo, MixtureType >::he(), AnisothermalPhaseModel< BasePhaseModel >::heEqn(), heheuPsiThermo< BasicPsiThermo, MixtureType >::heu(), coalCloudList::hsTrans(), InterfaceCompositionPhaseChangePhaseSystem< BasePhaseSystem >::iDmdt(), GAMGInterface::interfaceInternalField(), lduPrimitiveProcessorInterface::interfaceInternalField(), cyclicACMIGAMGInterface::internalFieldTransfer(), cyclicAMIGAMGInterface::internalFieldTransfer(), cyclicGAMGInterface::internalFieldTransfer(), cyclicFaPatch::internalFieldTransfer(), isoSurfaceTopo::interpolate(), pointToPointPlanarInterpolation::interpolate(), pointVolInterpolation::interpolate(), localMin< Type >::interpolate(), localMax< Type >::interpolate(), edgeInterpolationScheme< scalar >::interpolate(), surfaceInterpolationScheme< GType >::interpolate(), singleCellFvMesh::interpolate(), Foam::inv(), ReynoldsStress< RASModel< BasicTurbulenceModel > >::k(), SpalartAllmarasDES< BasicTurbulenceModel >::k(), heSolidThermo< BasicSolidThermo, MixtureType >::Kappa(), liquidFilmThermo::kappa(), constantFilmThermo::kappa(), boundaryAdjointContributionIncompressible::laminarDiffusivity(), Foam::levelSetFraction(), steadyOptimisation::lineSearchUpdate(), lnGradScheme< Type >::lnGrad(), Foam::fvc::magSqrGradGrad(), meshToMesh::mapSrcToTgt(), meshToMesh::mapTgtToSrc(), volSurfaceMapping::mapToSurface(), momentOfInertia::meshInertia(), CoEulerDdtScheme< Type >::meshPhi(), SLTSDdtScheme< Type >::meshPhi(), localEulerDdtScheme< Type >::meshPhi(), boundaryAdjointContributionIncompressible::momentumDiffusion(), regionModel1D::moveMesh(), fvMesh::movePoints(), primitiveMesh::movePoints(), liquidFilmThermo::mu(), constantFilmThermo::mu(), heheuPsiThermo< BasicPsiThermo, MixtureType >::mub(), heheuPsiThermo< BasicPsiThermo, MixtureType >::muu(), Foam::fac::ndiv(), multiphaseSystem::nearInterface(), faPatchField< Type >::New(), fvPatchField< vector >::New(), faPatch::ngbPolyPatchPointNormals(), Foam::fac::ngrad(), cellQuality::nonOrthogonality(), dynamicOversetFvMesh::normalisation(), Schaeffer::nu(), JohnsonJacksonSchaeffer::nu(), SpalartAllmaras::nutJacobianVar1(), consumptionSpeed::omega0Sigma(), optionAdjointList::operator()(), anisotropicFilter::operator()(), RaviPetersen::operator()(), fvPatch::patchInternalField(), faPatch::patchInternalField(), jumpCyclicFvPatchField< vector >::patchNeighbourField(), cyclicFaPatchField< Type >::patchNeighbourField(), cyclicFvPatchField< vector >::patchNeighbourField(), cyclicAMIFvPatchField< scalar >::patchNeighbourField(), cyclicACMIFvPatchField< Type >::patchNeighbourField(), PatchToPatchInterpolation< FromPatch, ToPatch >::pointInterpolate(), PatchTools::pointNormals(), PrimitivePatchInterpolation< Foam::PrimitivePatch >::pointToFaceInterpolate(), projectEdge::position(), projectCurveEdge::position(), blockEdge::position(), Foam::pow(), phasePressureModel::pPrime(), kineticTheoryModel::pPrime(), phasePressureModel::pPrimef(), boundaryAdjointContributionIncompressible::pressureSource(), SpalartAllmarasDES< BasicTurbulenceModel >::psi(), heheuPsiThermo< BasicPsiThermo, MixtureType >::psib(), heheuPsiThermo< BasicPsiThermo, MixtureType >::psiu(), laminar< ReactionThermo >::Qdot(), EDC< ReactionThermo >::Qdot(), diffusionMulticomponent< ReactionThermo, ThermoType >::Qdot(), solidChemistryModel< CompType, SolidThermo >::Qdot(), StandardChemistryModel< ReactionThermo, ThermoType >::Qdot(), greyDiffusiveViewFactorFixedValueFvPatchScalarField::qro(), nonlinearEddyViscosity< incompressible::RASModel >::R(), laminar< ReactionThermo >::R(), diffusionMulticomponent< ReactionThermo, ThermoType >::R(), reader::readField(), MRFZoneList::relative(), faMatrix< Type >::residual(), fvMatrix< Type >::residual(), LduMatrix< Type, DType, LUType >::residual(), lduMatrix::residual(), liquidFilmThermo::rho(), constantFilmThermo::rho(), phaseSystem::rho(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::rhoEff(), coalCloudList::rhoTrans(), fvDOM::Rp(), pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg(), solidChemistryModel< CompType, SolidThermo >::RRs(), solidChemistryModel< CompType, SolidThermo >::RRsHs(), eddyDissipationDiffusionModel< ReactionThermo, ThermoType >::rtDiff(), fvDOM::Ru(), patchProbes::sample(), probes::sample(), mappedPatchBase::samplePoints(), coalCloudList::Sh(), ThermoCloud< Foam::DSMCCloud >::Sh(), thermoSingleLayer::Sh(), primaryRadiation::Shs(), standardRadiation::Shs(), constantRadiation::Shs(), liquidFilmThermo::sigma(), constantFilmThermo::sigma(), cloudScatter::sigmaEff(), ThermoCloud< Foam::DSMCCloud >::sigmap(), skewCorrected< Type >::skewCorrection(), cellQuality::skewness(), snGradScheme< Type >::snGrad(), twoPhaseSystem::solve(), surfaceAlignedSBRStressFvMotionSolver::solve(), thermalBaffle::solveEnergy(), sensitivityBezierFI::solveMeshMovementEqn(), optionList::source(), Foam::fam::Sp(), Foam::sqr(), coalCloudList::Srho(), ReactingCloud< Foam::DSMCCloud >::Srho(), thermoSingleLayer::Srho(), Foam::stabilise(), regionFunctionObject::store(), Foam::fam::Su(), coalCloudList::SU(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::SU(), surfaceNormalFixedValueFvPatchVectorField::surfaceNormalFixedValueFvPatchVectorField(), multiphaseSystem::surfaceTension(), Foam::fam::SuSp(), coalCloudList::SYi(), ReactingCloud< Foam::DSMCCloud >::SYi(), thermoSingleLayer::T(), boundaryAdjointContributionIncompressible::tangentVelocitySource(), StandardChemistryModel< ReactionThermo, ThermoType >::tc(), heThermo< BasicSolidThermo, MixtureType >::THE(), temperatureDependentContactAngleForce::theta(), distributionContactAngleForce::theta(), perturbedTemperatureDependentContactAngleForce::theta(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::theta(), boundaryAdjointContributionIncompressible::TMVariable1(), boundaryAdjointContributionIncompressible::TMVariable2(), cyclicFaPatch::transfer(), Foam::transform(), sixDoFRigidBodyMotion::transform(), rigidBodyMotion::transformPoints(), Foam::transformPoints(), polynomial::Tsat(), function1::Tsat(), phaseSystem::U(), optimisationType::update(), inverseDistance::update(), adjointWallVelocityLowReFvPatchVectorField::updateCoeffs(), adjointFarFieldVelocityFvPatchVectorField::updateCoeffs(), adjointOutletPressureFvPatchScalarField::updateCoeffs(), adjointFarFieldPressureFvPatchScalarField::updateCoeffs(), lumpedMassWallTemperatureFvPatchScalarField::updateCoeffs(), surfaceNormalFixedValueFvPatchVectorField::updateCoeffs(), uniformNormalFixedValueFvPatchVectorField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs(), laminar::Us(), coalCloudList::UTrans(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::vDotSweep(), boundaryAdjointContributionIncompressible::velocitySource(), boundaryAdjointContributionIncompressible::wallDistance(), midPoint< Type >::weights(), outletStabilised< Type >::weights(), faNVDscheme< Type, NVDweight >::weights(), limitedSurfaceInterpolationScheme< Type >::weights(), triSurfaceTools::writeCurvature(), Foam::edgeMeshTools::writeFeatureProximity(), Foam::ensightOutput::writeVolField(), general::x(), general::y(), alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::yPlusTherm(), MRFZoneList::zeroFilter(), and wallLubricationModel::zeroGradWalls().

◆ constCast()

T & constCast ( ) const
inline

Non-const dereference, even if the object is const.

This is similar to ref(), but applies a const_cast to access const objects. Fatal for a null managed pointer.

Definition at line 282 of file tmpI.H.

Referenced by LESfilter::correctBoundaryConditions(), waveVelocityFvPatchVectorField::updateCoeffs(), and waveAlphaFvPatchScalarField::updateCoeffs().

Here is the caller graph for this function:

◆ ptr()

T * ptr ( ) const
inline

Return managed pointer for reuse, or clone() the const object reference.

Definition at line 296 of file tmpI.H.

Referenced by PtrList< transferModel >::append(), PtrDynList< Foam::profilingInformation >::append(), DispersionRASModel< CloudType >::cacheFields(), BrownianMotionForce< CloudType >::cacheFields(), gaussLaplacianScheme< Type, GType >::fvmLaplacian(), PtrListDictionary< phaseModel >::set(), PtrList< transferModel >::set(), PtrDynList< Foam::profilingInformation >::set(), regionFunctionObject::store(), and regIOobject::store().

Here is the caller graph for this function:

◆ clear()

void clear ( ) const
inlinenoexcept

If object pointer points to valid object: delete object and set pointer to nullptr

Definition at line 325 of file tmpI.H.

Referenced by MRFZoneList::absolute(), boundBox::add(), lduMatrix::Amul(), kEqn< BasicTurbulenceModel >::correct(), LamBremhorstKE::correct(), dynamicKEqn< BasicTurbulenceModel >::correct(), LienLeschziner::correct(), kOmega< BasicTurbulenceModel >::correct(), kEpsilon< EddyDiffusivity< compressible::turbulenceModel > >::correct(), LaunderSharmaKE< BasicTurbulenceModel >::correct(), RNGkEpsilon< BasicTurbulenceModel >::correct(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::correct(), mixtureKEpsilon< BasicTurbulenceModel >::correct(), kEpsilonPhitF< BasicTurbulenceModel >::correct(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), kOmegaSSTLM< BasicTurbulenceModel >::correctReThetatGammaInt(), triSurfaceTools::curvatures(), Foam::fvc::DDt(), Foam::fvm::div(), Foam::fam::div(), Foam::fvc::div(), Foam::fac::div(), edgeInterpolationScheme< scalar >::euclidianInterpolate(), Foam::fvc::flux(), fft::forwardTransform(), updateMethod::globalSum(), fvMeshSubsetProxy::interpolate(), edgeInterpolationScheme< scalar >::interpolate(), surfaceInterpolationScheme< GType >::interpolate(), Foam::inv(), Foam::fac::laplacian(), Foam::fam::laplacian(), Foam::fam::ndiv(), Foam::fac::ndiv(), anisotropicFilter::operator()(), noiseFFT::Pf(), realizableKE< BasicTurbulenceModel >::rCmu(), fft::realTransform1D(), Foam::fvc::reconstructMag(), MRFZoneList::relative(), fft::reverseTransform(), snGradScheme< Type >::snGrad(), Foam::fam::Sp(), Foam::stabilise(), Foam::fam::SuSp(), lduMatrix::Tmul(), Foam::transform(), PatchFunction1< scalar >::transform(), Foam::transformFieldMask< sphericalTensor >(), Foam::transformFieldMask< symmTensor >(), Foam::transformFieldMask< tensor >(), Foam::transformPoints(), Foam::fvc::volumeIntegrate(), Foam::writeAreaField(), Foam::writeDimField(), Foam::writePointField(), and Foam::writeVolField().

◆ reset() [1/3]

void reset ( )
inlinenoexcept

Release ownership of managed temporary object.

After this call no object is managed.

Definition at line 343 of file tmpI.H.

◆ reset() [2/3]

void reset ( T *  p)
inlinenoexcept

Delete managed temporary object and set to new given pointer.

Definition at line 352 of file tmpI.H.

◆ reset() [3/3]

void reset ( tmp< T > &&  other)
inlinenoexcept

Clear existing and transfer ownership.

Definition at line 361 of file tmpI.H.

◆ cref() [2/2]

void cref ( const T &  obj)
inlinenoexcept

Delete managed temporary object and set to const reference.

Definition at line 378 of file tmpI.H.

◆ swap()

void swap ( tmp< T > &  other)
inlinenoexcept

Swaps the managed object with other.

Definition at line 387 of file tmpI.H.

◆ operator()()

const T & operator() ( ) const
inline

Return const reference to the object.

Identical to cref() method.

Definition at line 408 of file tmpI.H.

◆ operator const T &()

operator const T & ( ) const
inline

Cast to underlying data type, using the cref() method.

Definition at line 415 of file tmpI.H.

◆ operator->() [1/2]

const T * operator-> ( ) const
inline

Dereferences (const) pointer to the managed object.

Fatal for a null managed pointer.

Definition at line 422 of file tmpI.H.

◆ operator->() [2/2]

T * operator-> ( )
inline

Dereferences (non-const) pointer to the managed object.

Fatal for a null managed pointer or if the object is const.

Definition at line 436 of file tmpI.H.

◆ operator bool()

operator bool ( ) const
inlineexplicitnoexcept

Is non-null managed pointer or const object reference : valid()

Definition at line 459 of file tmpI.H.

◆ operator=() [1/4]

void operator= ( T *  p)
inline

Take ownership of the pointer.

Fatal for a null pointer, or when the pointer is non-unique.

Definition at line 466 of file tmpI.H.

◆ operator=() [2/4]

void operator= ( const tmp< T > &  t)
inline

Transfer ownership of the managed pointer.

Fatal for a null managed pointer or if the object is const.

Definition at line 490 of file tmpI.H.

◆ operator=() [3/4]

void operator= ( tmp< T > &&  other)
inlinenoexcept

Clear existing and transfer ownership.

Definition at line 523 of file tmpI.H.

◆ operator=() [4/4]

void operator= ( std::nullptr_t  )
delete

No assignment from literal nullptr.

Consistent with run-time check for nullptr on assignment.

◆ New() [2/2]

Foam::tmp<T> New ( Args &&...  args)
inline

Definition at line 53 of file tmpI.H.

◆ NewFrom() [2/2]

Foam::tmp<T> NewFrom ( Args &&...  args)
inline

Definition at line 61 of file tmpI.H.


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