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 (literal nullptr). More...
 
 tmp (T *p)
 Construct, taking ownership of the pointer. More...
 
constexpr tmp (const T &obj) noexcept
 Construct for a const reference to an object. More...
 
 tmp (tmp< T > &&rhs) noexcept
 Move construct, transferring ownership. More...
 
 tmp (const tmp< T > &&rhs) noexcept
 Move construct, transferring ownership. More...
 
 tmp (const tmp< T > &rhs)
 Copy construct, incrementing ref-count of managed pointer. More...
 
 tmp (const tmp< T > &rhs, bool reuse)
 Copy/move construct. Optionally reusing ref-counted pointer. More...
 
 ~tmp ()
 Destructor: deletes managed pointer when the ref-count is 0. More...
 
bool good () const noexcept
 True if pointer/reference is non-null. More...
 
bool is_const () const noexcept
 If the stored/referenced content is const. More...
 
bool is_pointer () const noexcept
 True if this is a managed pointer (not a reference) More...
 
bool movable () const noexcept
 True if this is a non-null managed pointer with a unique ref-count. 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
 
Tptr () const
 Return managed pointer for reuse, or clone() the object reference. More...
 
void clear () const noexcept
 
void reset (tmp< T > &&other) noexcept
 Clear existing and transfer ownership. More...
 
void reset (T *p=nullptr) noexcept
 Delete managed temporary object and set to new given pointer. More...
 
void cref (const tmp< T > &other) noexcept
 Clear existing and set (const) reference from other. More...
 
void cref (const T &obj) noexcept
 Clear existing and set (const) reference. More...
 
void cref (const T *p) noexcept
 Clear existing and set (const) reference to pointer content. More...
 
void ref (T &obj) noexcept
 Clear existing and set to (non-const) reference. More...
 
void ref (T *p) noexcept
 Clear existing and set (non-const) reference to pointer content. More...
 
void swap (tmp< T > &other) noexcept
 Swaps the managed object with other. More...
 
const Toperator-> () const
 Dereferences (const) pointer to the managed object. More...
 
Toperator-> ()
 Dereferences (non-const) pointer to the managed object. More...
 
const Toperator() () const
 Return const reference to the object - same as cref() method. More...
 
 operator bool () const noexcept
 True if pointer/reference is non-null. Same as good() More...
 
 operator const T & () const
 Cast to underlying data type, using the cref() method. More...
 
void operator= (const tmp< T > &other)
 Transfer ownership of the managed pointer. More...
 
void operator= (tmp< T > &&other) noexcept
 Clear existing and transfer ownership. More...
 
void operator= (T *p)
 Take ownership of the pointer. More...
 
void operator= (std::nullptr_t) noexcept
 Reset via assignment from literal nullptr. More...
 
bool valid () const noexcept
 Identical to good(), or bool operator. More...
 
bool isTmp () const noexcept
 Identical to is_pointer() More...
 
bool empty () const noexcept
 Deprecated(2020-07) True if a null managed pointer. 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...
 
static word typeName ()
 The type-name, constructed from type-name of T. 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::refPtr Foam::refCount

Definition at line 64 of file tmp.H.

Member Typedef Documentation

◆ element_type

typedef T element_type

Type of object being managed or referenced.

Definition at line 95 of file tmp.H.

◆ pointer

typedef T* pointer

Pointer to type of object being managed or referenced.

Definition at line 98 of file tmp.H.

◆ refCount

Reference counter class.

Definition at line 102 of file tmp.H.

Constructor & Destructor Documentation

◆ tmp() [1/8]

constexpr tmp
inlineconstexprnoexcept

Construct with no managed pointer.

Definition at line 78 of file tmpI.H.

◆ tmp() [2/8]

constexpr tmp ( std::nullptr_t  )
inlineconstexprnoexcept

Construct with no managed pointer (literal nullptr).

Definition at line 86 of file tmpI.H.

References Foam::noexcept.

◆ tmp() [3/8]

tmp ( T p)
inlineexplicit

Construct, taking ownership of the pointer.

Definition at line 94 of file tmpI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, p, tmp< T >::typeName(), and refCount::unique().

Here is the call graph for this function:

◆ tmp() [4/8]

constexpr tmp ( const T obj)
inlineconstexprnoexcept

Construct for a const reference to an object.

Definition at line 111 of file tmpI.H.

◆ tmp() [5/8]

tmp ( tmp< T > &&  rhs)
inlinenoexcept

Move construct, transferring ownership.

Does not affect ref-count

Definition at line 119 of file tmpI.H.

◆ tmp() [6/8]

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

Move construct, transferring ownership.

Does not affect ref-count

Note
Non-standard definition - should be non-const

Definition at line 130 of file tmpI.H.

◆ tmp() [7/8]

tmp ( const tmp< T > &  rhs)
inline

Copy construct, incrementing ref-count of managed pointer.

Note
Non-standard definition - should be non-const

Definition at line 141 of file tmpI.H.

◆ tmp() [8/8]

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

Copy/move construct. Optionally reusing ref-counted pointer.

Definition at line 164 of file tmpI.H.

◆ ~tmp()

~tmp
inline

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

Definition at line 197 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.

◆ 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

◆ typeName()

Foam::word typeName
inlinestatic

The type-name, constructed from type-name of T.

Definition at line 53 of file tmpI.H.

References Foam::name(), and T.

Referenced by tmp< Foam::surfaceInterpolationScheme< Type > >::tmp(), and tmp< T >::tmp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ good()

bool good ( ) const
inlinenoexcept

True if pointer/reference is non-null.

Definition at line 169 of file tmp.H.

References bool.

◆ is_const()

bool is_const ( ) const
inlinenoexcept

If the stored/referenced content is const.

Definition at line 172 of file tmp.H.

◆ is_pointer()

bool is_pointer ( ) const
inlinenoexcept

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

Definition at line 175 of file tmp.H.

Referenced by regIOobject::store().

Here is the caller graph for this function:

◆ movable()

bool movable
inlinenoexcept

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

Definition at line 206 of file tmpI.H.

◆ get() [1/2]

T * get ( )
inlinenoexcept

Return pointer without nullptr checking.

Definition at line 184 of file tmp.H.

Referenced by 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 187 of file tmp.H.

◆ cref() [1/4]

◆ ref() [1/3]

T & ref
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 227 of file tmpI.H.

Referenced by faMatrix< Type >::A(), fvMatrix< Type >::A(), MRFZoneList::absolute(), sensitivitySurface::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), multiBandZoneAbsorptionEmission::aCont(), greyMeanAbsorptionEmission::aCont(), wideBandAbsorptionEmission::aCont(), SemiImplicitSource< Type >::addSup(), phaseChange::addToDriftRate(), cloudAbsorptionEmission::aDisp(), adjointkOmegaSST::adjointMeanFlowSource(), adjointSensitivity::adjointMeshMovementSource(), surfaceWriter::adjustFieldTemplate(), pairGAMGAgglomeration::agglomerate(), adjointSolverManager::aggregateSensitivities(), KinematicCloud< CloudType >::alpha(), liquidFilmBase::alpha(), multiphaseInterSystem::alphaEff(), multiphaseInterSystem::alphahe(), MassTransferPhaseSystem< BasePhaseSystem >::alphaTransfer(), polyPatch::areaFraction(), Foam::atan2(), Foam::fac::average(), Foam::fvc::average(), averageNeighbourFvGeometryScheme::averageCentres(), averageNeighbourFvGeometryScheme::averageNeighbourCentres(), snappySnapDriver::avgCellCentres(), add::calcFieldType(), subtract::calcFieldType(), fourthGrad< Type >::calcGrad(), gaussGrad< Type >::calcGrad(), iterativeGaussGrad< Type >::calcGrad(), leastSquaresGrad< Type >::calcGrad(), LeastSquaresGrad< Type, Stencil >::calcGrad(), cellMDLimitedGrad< Type >::calcGrad(), faceLimitedGrad< Type >::calcGrad(), faceMDLimitedGrad< Type >::calcGrad(), curvatureSeparation::calcInvR1(), nutUSpaldingWallFunctionFvPatchScalarField::calcNut(), phaseSystem::calcPhi(), StandardChemistryModel< ReactionThermo, ThermoType >::calculateRR(), Zuber::CHF(), HuaXu::CHFSubCool(), Tatsumoto::CHFSubCool(), Foam::cmptMag(), optimisationType::computeDirection(), incompressibleAdjointSolver::computeGradDxDbMultiplier(), NURBS3DVolume::computeNewBoundaryPoints(), NURBS3DVolume::computeNewPoints(), NURBS3DVolume::computeParametricCoordinates(), Foam::constrainHbyA(), adjointSolverManager::constraintValues(), shapeSensitivitiesBase::constructVolSensitivtyField(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::correct(), kL< BasicTurbulenceModel >::correct(), adjointkOmegaSST::correct(), adjointSpalartAllmaras::correct(), kkLOmega::correct(), LamBremhorstKE::correct(), LienCubicKE::correct(), LienLeschziner::correct(), qZeta::correct(), ShihQuadraticKE::correct(), mixtureKEpsilon< BasicTurbulenceModel >::correct(), kOmegaSSTBase< BasicEddyViscosityModel >::correct(), SpalartAllmarasDES< BasicTurbulenceModel >::correct(), Maxwell< BasicTurbulenceModel >::correct(), DeardorffDiffStress< BasicTurbulenceModel >::correct(), EBRSM< BasicTurbulenceModel >::correct(), kEpsilon< BasicTurbulenceModel >::correct(), kEpsilonPhitF< BasicTurbulenceModel >::correct(), kOmega< BasicTurbulenceModel >::correct(), LaunderSharmaKE< BasicTurbulenceModel >::correct(), LRR< BasicTurbulenceModel >::correct(), realizableKE< BasicTurbulenceModel >::correct(), RNGkEpsilon< BasicTurbulenceModel >::correct(), SpalartAllmaras< BasicTurbulenceModel >::correct(), SSG< BasicTurbulenceModel >::correct(), contactAngleForce::correct(), forceList::correct(), thermocapillaryForce::correct(), correctedLnGrad< Type >::correction(), fourthLnGrad< Type >::correction(), correctedSnGrad< Type >::correction(), faceCorrectedSnGrad< Type >::correction(), relaxedSnGrad< Type >::correction(), deferredCorrection< Type >::correction(), linearUpwind< Type >::correction(), linearUpwindV< Type >::correction(), CentredFitSnGradScheme< Type, Polynomial, Stencil >::correction(), cubic< Type >::correction(), outletStabilised< Type >::correction(), pointLinear< Type >::correction(), MassTransferPhaseSystem< BasePhaseSystem >::correctMassSources(), kOmegaSSTLM< BasicTurbulenceModel >::correctReThetatGammaInt(), multiphaseInterSystem::Cp(), constantFilmThermo::Cp(), multiphaseInterSystem::CpByCpv(), heThermo< BasicThermo, MixtureType >::CpByCpv(), multiphaseInterSystem::Cpv(), heThermo< BasicThermo, MixtureType >::Cpv(), heThermo< BasicPsiThermo, MixtureType >::Cpv(), cellCellStencil::createField(), Foam::fvc::curl(), motionSmootherAlgo::curPoints(), displacementInterpolationMotionSolver::curPoints(), displacementComponentLaplacianFvMotionSolver::curPoints(), velocityComponentLaplacianFvMotionSolver::curPoints(), displacementLaplacianFvMotionSolver::curPoints(), displacementSBRStressFvMotionSolver::curPoints(), solidBodyDisplacementLaplacianFvMotionSolver::curPoints(), velocityLaplacianFvMotionSolver::curPoints(), laplacianMotionSolver::curPoints(), volumetricBSplinesMotionSolver::curPoints(), rigidBodyMeshMotion::curPoints(), sixDoFRigidBodyMotionSolver::curPoints(), multiphaseInterSystem::Cv(), multiphaseSystem::Cvm(), faMatrix< Type >::D(), fvMatrix< Type >::D(), InterfaceCompositionModel< Thermo, OtherThermo >::D(), fvMatrix< Type >::DD(), MomentumTransferPhaseSystem< BasePhaseSystem >::ddtCorrByAs(), fvFieldDecomposer::decomposeField(), fvMesh::delta(), cyclicFvPatch::delta(), blackBodyEmission::deltaLambdaT(), adjointSpalartAllmaras::diffusionCoeffVar1(), adjointSpalartAllmaras::distanceSensitivities(), Foam::fam::div(), Foam::fac::div(), NURBS3DVolume::dndbBasedSensitivities(), adjointSpalartAllmaras::dr_dDelta(), adjointkOmegaSST::dR_dF1(), adjointkOmegaSST::dR_dnut(), adjointSpalartAllmaras::dr_dNuTilda(), adjointSpalartAllmaras::dr_dStilda(), multiphaseSystem::dragCoeff(), SpalartAllmarasDES< BasicTurbulenceModel >::dTilda(), shapeSensitivities::dvdbMult(), blackBodyEmission::EbDeltaLambdaT(), multiBandZoneAbsorptionEmission::eCont(), greyMeanAbsorptionEmission::ECont(), wideBandAbsorptionEmission::ECont(), Foam::fac::edgeIntegrate(), Foam::fac::edgeSum(), cloudAbsorptionEmission::EDisp(), edgeInterpolationScheme< Type >::euclidianInterpolate(), scalarTransport::execute(), kOmegaSSTBase< BasicEddyViscosityModel >::F23(), EulerFaD2dt2Scheme< Type >::facD2dt2(), backwardFaDdtScheme< Type >::facDdt(), EulerFaDdtScheme< Type >::facDdt(), boundedBackwardFaDdtScheme::facDdt(), backwardFaDdtScheme< Type >::facDdt0(), EulerFaDdtScheme< Type >::facDdt0(), boundedBackwardFaDdtScheme::facDdt0(), gaussConvectionScheme< Type >::facDiv(), polyPatch::faceCellCentres(), lduMatrix::faceH(), PatchToPatchInterpolation< FromPatch, ToPatch >::faceInterpolate(), cellQuality::faceNonOrthogonality(), cellQuality::faceSkewness(), PrimitivePatchInterpolation< Patch >::faceToPointInterpolate(), gaussLaplacianScheme< Type >::facLaplacian(), EulerFaD2dt2Scheme< Type >::famD2dt2(), boundedBackwardFaDdtScheme::famDdt(), backwardFaDdtScheme< Type >::famDdt(), EulerFaDdtScheme< Type >::famDdt(), gaussConvectionScheme< Type >::famDiv(), gaussLaplacianScheme< Type >::famLaplacian(), Foam::edgeMeshTools::featureProximity(), adjointkOmegaSST::FISensitivityTerm(), adjointSpalartAllmaras::FISensitivityTerm(), volPointInterpolation::flatBoundaryField(), kOmegaSSTLM< BasicTurbulenceModel >::Flength(), faMatrix< Type >::flux(), fvMatrix< Type >::flux(), porosityModel::force(), correctedSnGrad< Type >::fullGradCorrection(), faceCorrectedSnGrad< Type >::fullGradCorrection(), backwardDdtScheme< Type >::fvcDdt(), CoEulerDdtScheme< Type >::fvcDdt(), CrankNicolsonDdtScheme< Type >::fvcDdt(), EulerDdtScheme< Type >::fvcDdt(), SLTSDdtScheme< Type >::fvcDdt(), ddtScheme< Type >::fvcDdtPhiCoeff(), ddtScheme< Type >::fvcDdtPhiCoeffExperimental(), steadyStateDdtScheme< Type >::fvcDdtPhiCorr(), steadyStateDdtScheme< Type >::fvcDdtUfCorr(), gaussConvectionScheme< Type >::fvcDiv(), gaussLaplacianScheme< Type, GType >::fvcLaplacian(), relaxedNonOrthoGaussLaplacianScheme< Type, GType >::fvcLaplacian(), EulerD2dt2Scheme< Type >::fvmD2dt2(), backwardDdtScheme< Type >::fvmDdt(), CoEulerDdtScheme< Type >::fvmDdt(), EulerDdtScheme< Type >::fvmDdt(), localEulerDdtScheme< Type >::fvmDdt(), SLTSDdtScheme< Type >::fvmDdt(), gaussConvectionScheme< Type >::fvmDiv(), gaussLaplacianScheme< Type, GType >::fvmLaplacian(), relaxedNonOrthoGaussLaplacianScheme< Type, GType >::fvmLaplacian(), gaussLaplacianScheme< Type, GType >::fvmLaplacianUncorrected(), relaxedNonOrthoGaussLaplacianScheme< Type, GType >::fvmLaplacianUncorrected(), multiphaseInterSystem::gamma(), heThermo< BasicThermo, MixtureType >::gamma(), pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasHs(), fvMeshDistribute::generateTestField(), NURBS3DVolume::getDxCellsDb(), NURBS3DVolume::getDxDb(), ATCstandard::getFISensitivityTerm(), ATCUaGradU::getFISensitivityTerm(), adjointEikonalSolver::getFISensitivityTerm(), cylindrical::globalToLocal(), kinematicSingleLayer::gNormClipped(), Foam::fac::grad(), gaussGrad< Type >::grad(), leastSquaresFaGrad< Type >::grad(), gaussGrad< Type >::gradf(), faMatrix< Type >::H(), fvMatrix< Type >::H(), lduMatrix::H(), fvMatrix< Type >::H1(), multiphaseInterSystem::hc(), ThermoCloud< Foam::DSMCCloud >::heatTransfer(), MassTransferPhaseSystem< BasePhaseSystem >::heatTransfer(), AnisothermalPhaseModel< BasePhaseModel >::heEqn(), heheuPsiThermo< BasicPsiThermo, MixtureType >::heu(), coalCloudList::hsTrans(), BreenWestwater::htcFilmBoil(), Bromley::htcFilmBoil(), InterfaceCompositionPhaseChangePhaseSystem< BasePhaseSystem >::iDmdt(), cyclicAMIGAMGInterface::internalFieldTransfer(), cyclicGAMGInterface::internalFieldTransfer(), pointToPointPlanarInterpolation::interpolate(), edgeInterpolationScheme< Type >::interpolate(), singleCellFvMesh::interpolate(), surfaceInterpolationScheme< Type >::interpolate(), localMax< Type >::interpolate(), localMin< Type >::interpolate(), Foam::interpolate(), pointVolInterpolation::interpolate(), Foam::inv(), SpalartAllmarasDES< BasicTurbulenceModel >::k(), ReynoldsStress< BasicTurbulenceModel >::k(), multiphaseInterSystem::K(), adjointkOmegaSST::kaEqnSourceFromCDkOmega(), multiphaseInterSystem::kappa(), constantFilmThermo::kappa(), liquidFilmThermo::kappa(), heSolidThermo< BasicSolidThermo, MixtureType >::Kappa(), interfaceOxideRate< Thermo, OtherThermo >::Kexp(), kineticGasEvaporation< Thermo, OtherThermo >::Kexp(), boundaryAdjointContributionIncompressible::laminarDiffusivity(), Foam::levelSetFraction(), LimitedScheme< Type, Limiter, LimitFunc >::limiter(), PhiScheme< Type, PhiLimiter >::limiter(), steadyOptimisation::lineSearchUpdate(), lnGradScheme< Type >::lnGrad(), Foam::fvc::magSqrGradGrad(), adjointSimple::mainIter(), cyclicACMIFvPatchField< Type >::manipulateMatrix(), cyclicAMIFvPatchField< Type >::manipulateMatrix(), mappedPatchFieldBase< Type >::mappedInternalField(), mappedPatchFieldBase< Type >::mappedWeightField(), meshToMesh::mapSrcToTgt(), meshToMesh::mapTgtToSrc(), momentOfInertia::meshInertia(), CoEulerDdtScheme< Type >::meshPhi(), localEulerDdtScheme< Type >::meshPhi(), SLTSDdtScheme< Type >::meshPhi(), Jeschar::MHF(), regionModel1D::moveMesh(), multiphaseInterSystem::mu(), constantFilmThermo::mu(), liquidFilmThermo::mu(), heheuPsiThermo< BasicPsiThermo, MixtureType >::mub(), heheuPsiThermo< BasicPsiThermo, MixtureType >::muu(), Foam::fac::ndiv(), multiphaseSystem::nearInterface(), faPatchField< Type >::New(), fvPatchField< Type >::New(), Foam::fac::ngrad(), cellQuality::nonOrthogonality(), dynamicOversetFvMesh::normalisation(), multiphaseSystem::nu(), multiphaseInterSystem::nu(), JohnsonJacksonSchaeffer::nu(), Schaeffer::nu(), consumptionSpeed::omega0Sigma(), RaviPetersen::operator()(), optionList::operator()(), anisotropicFilter::operator()(), cyclicFaPatchField< Type >::patchNeighbourField(), cyclicFvPatchField< Type >::patchNeighbourField(), cyclicACMIFvPatchField< Type >::patchNeighbourField(), liquidFilmBase::pg(), PatchToPatchInterpolation< FromPatch, ToPatch >::pointInterpolate(), PrimitivePatchInterpolation< Patch >::pointToFaceInterpolate(), Foam::pow(), kineticTheoryModel::pPrime(), phasePressureModel::pPrime(), phasePressureModel::pPrimef(), boundaryAdjointContributionIncompressible::pressureSource(), filmTurbulenceModel::primaryRegionFriction(), SpalartAllmarasDES< BasicTurbulenceModel >::psi(), heheuPsiThermo< BasicPsiThermo, MixtureType >::psib(), heheuPsiThermo< BasicPsiThermo, MixtureType >::psiu(), diffusionMulticomponent< ReactionThermo, ThermoType >::Qdot(), EDC< ReactionThermo >::Qdot(), laminar< ReactionThermo >::Qdot(), StandardChemistryModel< ReactionThermo, ThermoType >::Qdot(), solidChemistryModel< CompType, SolidThermo >::Qdot(), Kutadeladze::qNucleate(), greyDiffusiveViewFactorFixedValueFvPatchScalarField::qro(), nonlinearEddyViscosity< BasicTurbulenceModel >::R(), diffusionMulticomponent< ReactionThermo, ThermoType >::R(), laminar< ReactionThermo >::R(), reader::readField(), Foam::fvc::reconstruct(), Foam::fvc::reconstructMag(), MRFZoneList::relative(), faMatrix< Type >::residual(), fvMatrix< Type >::residual(), LduMatrix< Type, DType, LUType >::residual(), lduMatrix::residual(), kOmegaSSTLM< BasicTurbulenceModel >::ReThetac(), kOmegaSSTLM< BasicTurbulenceModel >::ReThetat0(), multiphaseInterSystem::rho(), constantFilmThermo::rho(), KinematicCloud< CloudType >::rhoEff(), coalCloudList::rhoTrans(), fvDOM::Rp(), pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg(), solidChemistryModel< CompType, SolidThermo >::RRs(), solidChemistryModel< CompType, SolidThermo >::RRsHs(), eddyDissipationDiffusionModel< ReactionThermo, ThermoType >::rtDiff(), fvDOM::Ru(), thermoSingleLayer::Sh(), coalCloudList::Sh(), constantRadiation::Shs(), primaryRadiation::Shs(), standardRadiation::Shs(), electrostaticDepositionFvPatchScalarField::sigma(), constantFilmThermo::sigma(), liquidFilmThermo::sigma(), cloudScatter::sigmaEff(), ThermoCloud< CloudType >::sigmap(), skewCorrectedEdgeInterpolation< Type >::skewCorrection(), skewCorrected< Type >::skewCorrection(), cellQuality::skewness(), snGradScheme< Type >::snGrad(), surfaceAlignedSBRStressFvMotionSolver::solve(), twoPhaseSystem::solve(), thermalBaffle::solveEnergy(), sensitivityBezierFI::solveMeshMovementEqn(), fvMatrix< Type >::solveSegregated(), optionList::source(), noiseModel::SPL(), Foam::sqr(), coalCloudList::Srho(), thermoSingleLayer::Srho(), ReactingCloud< CloudType >::Srho(), Foam::stabilise(), regionFunctionObject::store(), regionFunctionObject::storeInDb(), coalCloudList::SU(), Foam::fvc::surfaceIntegrate(), surfaceNormalFixedValueFvPatchVectorField::surfaceNormalFixedValueFvPatchVectorField(), Foam::fvc::surfaceSum(), multiphaseSystem::surfaceTension(), multiphaseSystem::Svm(), coalCloudList::SYi(), ReactingCloud< CloudType >::SYi(), thermoSingleLayer::T(), boundaryAdjointContributionIncompressible::tangentVelocitySource(), heheuPsiThermo< BasicPsiThermo, MixtureType >::Tb(), StandardChemistryModel< ReactionThermo, ThermoType >::tc(), heThermo< BasicThermo, MixtureType >::THE(), perturbedTemperatureDependentContactAngleForce::theta(), distributionContactAngleForce::theta(), temperatureDependentContactAngleForce::theta(), sixDoFRigidBodyMotion::transform(), Foam::transform(), rigidBodyMotion::transformPoints(), Foam::transformPoints(), function1::Tsat(), polynomial::Tsat(), phaseSystem::U(), SRFModel::Uabs(), liquidFilmBase::Up(), optimisationType::update(), inverseDistance::update(), objectiveForce::update_dxdbMultiplier(), objectiveMoment::update_dxdbMultiplier(), electrostaticDepositionFvPatchScalarField::updateCoeffs(), surfaceNormalFixedValueFvPatchVectorField::updateCoeffs(), uniformNormalFixedValueFvPatchVectorField::updateCoeffs(), adjointFarFieldPressureFvPatchScalarField::updateCoeffs(), adjointFarFieldVelocityFvPatchVectorField::updateCoeffs(), adjointOutletPressureFvPatchScalarField::updateCoeffs(), adjointWallVelocityLowReFvPatchVectorField::updateCoeffs(), timeVaryingMassSorptionFvPatchScalarField::updateCoeffs(), enthalpySorptionFvPatchScalarField::updateCoeffs(), lumpedMassWallTemperatureFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), liquidFilmBase::Us(), laminar::Us(), coalCloudList::UTrans(), liquidFilmBase::Uw(), boundaryAdjointContributionIncompressible::velocitySource(), MassTransferPhaseSystem< BasePhaseSystem >::volTransfer(), heThermo< BasicThermo, MixtureType >::W(), heThermo< BasicPsiThermo, MixtureType >::W(), adjointkOmegaSST::waEqnSourceFromCDkOmega(), extendedCellToFaceStencil::weightedSum(), extendedFaceToCellStencil::weightedSum(), extendedUpwindCellToFaceStencil::weightedSum(), faNVDscheme< Type, NVDweight >::weights(), clippedLinear< Type >::weights(), midPoint< Type >::weights(), reverseLinear< Type >::weights(), limitedSurfaceInterpolationScheme< Type >::weights(), outletStabilised< Type >::weights(), triSurfaceTools::writeCurvature(), Foam::edgeMeshTools::writeFeatureProximity(), Foam::ensightOutput::writeVolField(), nutUWallFunctionFvPatchScalarField::yPlus(), MRFZoneList::zeroFilter(), and wallLubricationModel::zeroGradWalls().

◆ constCast()

T & constCast
inline

Return non-const reference to the object or to the contents of a (non-null) managed pointer, with an additional const_cast.

Fatal for a null pointer.

Definition at line 248 of file tmpI.H.

References T.

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

Here is the caller graph for this function:

◆ ptr()

T * ptr
inline

◆ clear()

void clear
inlinenoexcept

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

Definition at line 287 of file tmpI.H.

Referenced by MRFZoneList::absolute(), sensitivitySurface::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), boundBox::add(), adjointkOmegaSST::adjointMeanFlowSource(), lduMatrix::Amul(), incompressibleAdjointSolver::computeGradDxDbMultiplier(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::correct(), kL< BasicTurbulenceModel >::correct(), LamBremhorstKE::correct(), LienLeschziner::correct(), mixtureKEpsilon< BasicTurbulenceModel >::correct(), kOmegaSSTBase< BasicEddyViscosityModel >::correct(), dynamicKEqn< BasicTurbulenceModel >::correct(), kEqn< BasicTurbulenceModel >::correct(), EBRSM< BasicTurbulenceModel >::correct(), kEpsilon< BasicTurbulenceModel >::correct(), kEpsilonPhitF< BasicTurbulenceModel >::correct(), kOmega< BasicTurbulenceModel >::correct(), LaunderSharmaKE< BasicTurbulenceModel >::correct(), RNGkEpsilon< BasicTurbulenceModel >::correct(), kOmegaSSTLM< BasicTurbulenceModel >::correctReThetatGammaInt(), triSurfaceTools::curvatures(), Foam::fvc::DDt(), Foam::fac::div(), Foam::fam::div(), Foam::fvc::div(), Foam::fvm::div(), adjointkOmegaSST::divUMeanFlowSource(), edgeInterpolationScheme< Type >::euclidianInterpolate(), adjointSpalartAllmaras::FISensitivityTerm(), Foam::fvc::flux(), fft::forwardTransform(), updateMethod::globalSum(), fvMeshSubsetProxy::interpolate(), edgeInterpolationScheme< Type >::interpolate(), Foam::inv(), Foam::fam::laplacian(), Foam::fac::laplacian(), adjointSimple::mainIter(), meshedSurfRef::movePoints(), Foam::fac::ndiv(), Foam::fam::ndiv(), adjointkOmegaSST::nutMeanFlowSource(), anisotropicFilter::operator()(), noiseFFT::Pf(), realizableKE< BasicTurbulenceModel >::rCmu(), fft::realTransform1D(), Foam::fvc::reconstructMag(), MRFZoneList::relative(), fft::reverseTransform(), snGradScheme< Type >::snGrad(), Foam::stabilise(), lduMatrix::Tmul(), PatchFunction1< Type >::transform(), Foam::transform(), Foam::transformPoints(), objectiveForce::update_dxdbMultiplier(), objectiveMoment::update_dxdbMultiplier(), Foam::fvc::volumeIntegrate(), Foam::writeAreaField(), Foam::writeDimField(), Foam::writePointField(), and Foam::writeVolField().

◆ reset() [1/2]

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

Clear existing and transfer ownership.

Definition at line 314 of file tmpI.H.

References clear().

Referenced by surfaceWriter::adjustFieldTemplate(), probes::getOrLoadField(), sampledSets::getOrLoadField(), sampledDistanceSurface::sampleOnIsoSurfacePoints(), sampledIsoSurface::sampleOnIsoSurfacePoints(), sampledCuttingPlane::sampleOnIsoSurfacePoints(), and regionSizeDistribution::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset() [2/2]

void reset ( T p = nullptr)
inlinenoexcept

Delete managed temporary object and set to new given pointer.

Definition at line 305 of file tmpI.H.

References clear(), and p.

Here is the call graph for this function:

◆ cref() [2/4]

void cref ( const tmp< T > &  other)
inlinenoexcept

Clear existing and set (const) reference from other.

Definition at line 331 of file tmpI.H.

References clear().

Here is the call graph for this function:

◆ cref() [3/4]

void cref ( const T obj)
inlinenoexcept

Clear existing and set (const) reference.

Definition at line 345 of file tmpI.H.

References clear(), and T.

Here is the call graph for this function:

◆ cref() [4/4]

void cref ( const T p)
inlinenoexcept

Clear existing and set (const) reference to pointer content.

The pointer can be null, which is handled like a clear().

Definition at line 354 of file tmpI.H.

References clear(), p, and T.

Here is the call graph for this function:

◆ ref() [2/3]

void ref ( T obj)
inlinenoexcept

Clear existing and set to (non-const) reference.

Definition at line 363 of file tmpI.H.

References clear().

Here is the call graph for this function:

◆ ref() [3/3]

void ref ( T p)
inlinenoexcept

Clear existing and set (non-const) reference to pointer content.

The pointer can be null, which is handled like a clear().

Definition at line 372 of file tmpI.H.

References clear(), and p.

Here is the call graph for this function:

◆ swap()

void swap ( tmp< T > &  other)
inlinenoexcept

Swaps the managed object with other.

Definition at line 381 of file tmpI.H.

References p, and T.

Referenced by Foam::Swap().

Here is the caller graph for this function:

◆ operator->() [1/2]

const T * operator->
inline

Dereferences (const) pointer to the managed object.

Fatal for a null managed pointer.

Definition at line 398 of file tmpI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ 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 412 of file tmpI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator()()

const T & operator() ( ) const
inline

Return const reference to the object - same as cref() method.

Definition at line 260 of file tmp.H.

References tmp< T >::cref().

Here is the call graph for this function:

◆ operator bool()

operator bool ( ) const
inlineexplicitnoexcept

True if pointer/reference is non-null. Same as good()

Definition at line 266 of file tmp.H.

References bool.

◆ operator const T &()

operator const T & ( ) const
inline

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

Definition at line 269 of file tmp.H.

◆ operator=() [1/4]

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

Transfer ownership of the managed pointer.

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

Definition at line 433 of file tmpI.H.

References Foam::abort(), clear(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and T.

Here is the call graph for this function:

◆ operator=() [2/4]

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

Clear existing and transfer ownership.

Definition at line 467 of file tmpI.H.

References clear().

Here is the call graph for this function:

◆ operator=() [3/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 484 of file tmpI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, p, and refCount::unique().

Here is the call graph for this function:

◆ operator=() [4/4]

void operator= ( std::nullptr_t  )
inlinenoexcept

Reset via assignment from literal nullptr.

Definition at line 507 of file tmpI.H.

◆ valid()

◆ isTmp()

bool isTmp ( ) const
inlinenoexcept

Identical to is_pointer()

Definition at line 295 of file tmp.H.

Referenced by atmNutSource::atmNutSource(), atmPlantCanopyTurbSource::atmPlantCanopyTurbSource(), DispersionRASModel< CloudType >::cacheFields(), and BrownianMotionForce< CloudType >::cacheFields().

Here is the caller graph for this function:

◆ empty()

bool empty ( ) const
inlinenoexcept

Deprecated(2020-07) True if a null managed pointer.

Deprecated:
(2020-07) - use bool operator

Definition at line 301 of file tmp.H.

◆ New() [2/2]

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

Definition at line 61 of file tmpI.H.

References args, and T.

◆ NewFrom() [2/2]

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

Definition at line 69 of file tmpI.H.

References args, and U.


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