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 Tpointer
 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...
 
Tget () noexcept
 Return pointer without nullptr checking. More...
 
const Tget () const noexcept
 Return const pointer without nullptr checking. More...
 
const Tcref () const
 
Tref () const
 
TconstCast () const
 Non-const dereference, even if the object is const. More...
 
Tptr () 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 Toperator() () const
 Return const reference to the object. More...
 
 operator const T & () const
 Cast to underlying data type, using the cref() method. More...
 
const Toperator-> () const
 Dereferences (const) pointer to the managed object. More...
 
Toperator-> ()
 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< TNew (Args &&... args)
 
template<class U , class... Args>
Foam::tmp< TNewFrom (Args &&... args)
 

Static Public Member Functions

template<class... Args>
static tmp< TNew (Args &&... args)
 Construct tmp of T with forwarding arguments. More...
 
template<class U , class... Args>
static tmp< TNewFrom (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: