|
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) |
|
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.
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().