Commit 9af3f85c authored by Mark Olesen's avatar Mark Olesen

STYLE: simplify short-circuit involving autoPtr (#1775)

- with '&&' conditions, often better to check for non-null autoPtr
  first (it is cheap)

- check as bool instead of valid() method for cleaner code, especially
  when the wrapped item itself has a valid/empty or good.
  Also when handling multiple checks.

  Now
      if (ptr && ptr->valid())
      if (ptr1 || ptr2)

  instead
      if (ptr.valid() && ptr->valid())
      if (ptr1.valid() || ptr2.valid())
parent 3baebcb1
......@@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2014-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -129,12 +130,12 @@ Foam::BlendedInterfacialModel<modelType>::K() const
{
tmp<volScalarField> f1, f2;
if (model_.valid() || model1In2_.valid())
if (model_ || model1In2_)
{
f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed());
}
if (model_.valid() || model2In1_.valid())
if (model_ || model2In1_)
{
f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed());
}
......@@ -157,17 +158,17 @@ Foam::BlendedInterfacialModel<modelType>::K() const
)
);
if (model_.valid())
if (model_)
{
x.ref() += model_->K()*(f1() - f2());
}
if (model1In2_.valid())
if (model1In2_)
{
x.ref() += model1In2_->K()*(1 - f1);
}
if (model2In1_.valid())
if (model2In1_)
{
x.ref() += model2In1_->K()*f2;
}
......@@ -175,7 +176,7 @@ Foam::BlendedInterfacialModel<modelType>::K() const
if
(
correctFixedFluxBCs_
&& (model_.valid() || model1In2_.valid() || model2In1_.valid())
&& (model_ || model1In2_ || model2In1_)
)
{
correctFixedFluxBCs(x.ref());
......@@ -191,7 +192,7 @@ Foam::BlendedInterfacialModel<modelType>::Kf() const
{
tmp<surfaceScalarField> f1, f2;
if (model_.valid() || model1In2_.valid())
if (model_ || model1In2_)
{
f1 = fvc::interpolate
(
......@@ -199,7 +200,7 @@ Foam::BlendedInterfacialModel<modelType>::Kf() const
);
}
if (model_.valid() || model2In1_.valid())
if (model_ || model2In1_)
{
f2 = fvc::interpolate
(
......@@ -225,17 +226,17 @@ Foam::BlendedInterfacialModel<modelType>::Kf() const
)
);
if (model_.valid())
if (model_)
{
x.ref() += model_->Kf()*(f1() - f2());
}
if (model1In2_.valid())
if (model1In2_)
{
x.ref() += model1In2_->Kf()*(1 - f1);
}
if (model2In1_.valid())
if (model2In1_)
{
x.ref() += model2In1_->Kf()*f2;
}
......@@ -243,7 +244,7 @@ Foam::BlendedInterfacialModel<modelType>::Kf() const
if
(
correctFixedFluxBCs_
&& (model_.valid() || model1In2_.valid() || model2In1_.valid())
&& (model_ || model1In2_ || model2In1_)
)
{
correctFixedFluxBCs(x.ref());
......@@ -260,12 +261,12 @@ Foam::BlendedInterfacialModel<modelType>::F() const
{
tmp<volScalarField> f1, f2;
if (model_.valid() || model1In2_.valid())
if (model_ || model1In2_)
{
f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed());
}
if (model_.valid() || model2In1_.valid())
if (model_ || model2In1_)
{
f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed());
}
......@@ -285,17 +286,17 @@ Foam::BlendedInterfacialModel<modelType>::F() const
dimensioned<Type>(modelType::dimF, Zero)
);
if (model_.valid())
if (model_)
{
x.ref() += model_->F()*(f1() - f2());
}
if (model1In2_.valid())
if (model1In2_)
{
x.ref() += model1In2_->F()*(1 - f1);
}
if (model2In1_.valid())
if (model2In1_)
{
x.ref() -= model2In1_->F()*f2; // note : subtraction
}
......@@ -303,7 +304,7 @@ Foam::BlendedInterfacialModel<modelType>::F() const
if
(
correctFixedFluxBCs_
&& (model_.valid() || model1In2_.valid() || model2In1_.valid())
&& (model_ || model1In2_ || model2In1_)
)
{
correctFixedFluxBCs(x.ref());
......@@ -319,7 +320,7 @@ Foam::BlendedInterfacialModel<modelType>::Ff() const
{
tmp<surfaceScalarField> f1, f2;
if (model_.valid() || model1In2_.valid())
if (model_ || model1In2_)
{
f1 = fvc::interpolate
(
......@@ -327,7 +328,7 @@ Foam::BlendedInterfacialModel<modelType>::Ff() const
);
}
if (model_.valid() || model2In1_.valid())
if (model_ || model2In1_)
{
f2 = fvc::interpolate
(
......@@ -352,17 +353,17 @@ Foam::BlendedInterfacialModel<modelType>::Ff() const
x.ref().setOriented();
if (model_.valid())
if (model_)
{
x.ref() += model_->Ff()*(f1() - f2());
}
if (model1In2_.valid())
if (model1In2_)
{
x.ref() += model1In2_->Ff()*(1 - f1);
}
if (model2In1_.valid())
if (model2In1_)
{
x.ref() -= model2In1_->Ff()*f2; // note : subtraction
}
......@@ -370,7 +371,7 @@ Foam::BlendedInterfacialModel<modelType>::Ff() const
if
(
correctFixedFluxBCs_
&& (model_.valid() || model1In2_.valid() || model2In1_.valid())
&& (model_ || model1In2_ || model2In1_)
)
{
correctFixedFluxBCs(x.ref());
......@@ -386,12 +387,12 @@ Foam::BlendedInterfacialModel<modelType>::D() const
{
tmp<volScalarField> f1, f2;
if (model_.valid() || model1In2_.valid())
if (model_ || model1In2_)
{
f1 = blending_.f1(pair1In2_.dispersed(), pair2In1_.dispersed());
}
if (model_.valid() || model2In1_.valid())
if (model_ || model2In1_)
{
f2 = blending_.f2(pair1In2_.dispersed(), pair2In1_.dispersed());
}
......@@ -414,17 +415,17 @@ Foam::BlendedInterfacialModel<modelType>::D() const
)
);
if (model_.valid())
if (model_)
{
x.ref() += model_->D()*(f1() - f2());
}
if (model1In2_.valid())
if (model1In2_)
{
x.ref() += model1In2_->D()*(1 - f1);
}
if (model2In1_.valid())
if (model2In1_)
{
x.ref() += model2In1_->D()*f2;
}
......@@ -432,7 +433,7 @@ Foam::BlendedInterfacialModel<modelType>::D() const
if
(
correctFixedFluxBCs_
&& (model_.valid() || model1In2_.valid() || model2In1_.valid())
&& (model_ || model1In2_ || model2In1_)
)
{
correctFixedFluxBCs(x.ref());
......@@ -451,8 +452,8 @@ bool Foam::BlendedInterfacialModel<modelType>::hasModel
return
(
&phase == &(pair_.phase1())
? model1In2_.valid()
: model2In1_.valid()
? bool(model1In2_)
: bool(model2In1_)
);
}
......
......@@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -53,8 +53,8 @@ Foam::token Foam::dictionaryTokens::keywordToken(const entry& e)
bool Foam::dictionaryTokens::setIterator() const
{
primIter_.clear();
dictIter_.clear();
primIter_.reset(nullptr);
dictIter_.reset(nullptr);
if (entryIter_ != dict_.cend())
{
......@@ -166,8 +166,8 @@ bool Foam::dictionaryTokens::good() const
entryIter_ != dict_.cend()
&&
(
(primIter_.valid() && primIter_().good())
|| (dictIter_.valid() && dictIter_().good())
(primIter_ && primIter_->good())
|| (dictIter_ && dictIter_->good())
)
);
}
......@@ -189,8 +189,8 @@ const Foam::token& Foam::dictionaryTokens::operator*() const
{
if (good())
{
if (primIter_.valid()) return *(primIter_());
if (dictIter_.valid()) return *(dictIter_());
if (primIter_) return *(*primIter_);
if (dictIter_) return *(*dictIter_);
}
return token::undefinedToken;
......@@ -251,8 +251,8 @@ bool Foam::dictionaryTokens::operator++()
if (ok)
{
if (primIter_.valid()) ok = ++(primIter_());
if (dictIter_.valid()) ok = ++(dictIter_());
if (primIter_) ok = ++(*primIter_);
if (dictIter_) ok = ++(*dictIter_);
if (!ok)
{
......
......@@ -815,9 +815,9 @@ int main(int argc, char *argv[])
polyMesh& mesh =
(
meshFromMesh.valid()
? meshFromMesh()
: meshFromSurface()
meshFromMesh
? *meshFromMesh
: *meshFromSurface
);
......
......@@ -954,7 +954,7 @@ Foam::label Foam::checkGeometry
patchWriter.reset(new surfaceWriters::vtkWriter());
}
surfaceWriter& wr = (surfWriter.valid() ? *surfWriter : *patchWriter);
surfaceWriter& wr = (surfWriter ? *surfWriter : *patchWriter);
// Currently only do AMI checks
......
......@@ -1415,9 +1415,9 @@ autoPtr<mapDistributePolyMesh> createReconstructMap
autoPtr<mapDistributePolyMesh> mapPtr;
if (baseMeshPtr.valid() && baseMeshPtr().nCells())
if (baseMeshPtr && baseMeshPtr->nCells())
{
const fvMesh& baseMesh = baseMeshPtr();
const fvMesh& baseMesh = *baseMeshPtr;
labelListList cellSubMap(Pstream::nProcs());
cellSubMap[Pstream::masterNo()] = identity(mesh.nCells());
......
......@@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2018 OpenCFD Ltd.
Copyright (C) 2018-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -56,7 +56,7 @@ if (doFiniteArea)
FatalError.throwExceptions(throwing);
}
if (faMeshPtr.valid() && nAreaFields)
if (faMeshPtr && nAreaFields)
{
reportFields::area(Info, objects);
......
......@@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2018 OpenCFD Ltd.
Copyright (C) 2018-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -85,7 +85,7 @@ bool writeDimField
const auto& field = tfield();
if (internalWriter.valid() && pInterp.valid())
if (internalWriter && pInterp)
{
internalWriter->write(field, *pInterp);
}
......
......@@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2018 OpenCFD Ltd.
Copyright (C) 2018-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -99,7 +99,7 @@ bool writeVolField
const auto& field = tfield();
// Internal
if (internalWriter.valid() && pInterp.valid())
if (internalWriter && pInterp)
{
internalWriter->write(field, *pInterp);
}
......
......@@ -723,7 +723,7 @@ int main(int argc, char *argv[])
mesh.readUpdate();
if (args.found("dummy-phi") && !dummyPhi.valid())
if (args.found("dummy-phi") && !dummyPhi)
{
Info<< "Adding a dummy phi" << endl;
dummyPhi.reset
......
......@@ -1043,7 +1043,7 @@ int main(int argc, char *argv[])
// )
// );
//
// if (hitInfo.hit() && intStreamPtr.valid())
// if (hitInfo.hit() && intStreamPtr)
// {
// intStreamPtr().write(hitInfo.hitPoint());
//
......
......@@ -346,14 +346,14 @@ int main(int argc, char *argv[])
// Load a single file, or load and combine multiple selected files
autoPtr<triSurface> surfPtr = loader.load(loadingOption, scaleFactor);
if (!surfPtr.valid() || surfPtr().empty())
if (!surfPtr || surfPtr->empty())
{
FatalErrorInFunction
<< "Problem loading surface(s) for entry: "
<< dictName << exit(FatalError);
}
triSurface surf = surfPtr();
triSurface surf = *surfPtr;
Info<< nl
<< "Statistics:" << nl;
......
......@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2018 OpenFOAM Foundation
Copyright (C) 2015-2019 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -185,7 +185,7 @@ void Foam::regIOobject::close()
{
Pout<< "regIOobject::close() : "
<< "finished reading "
<< (isPtr_.valid() ? isPtr_().name() : "dummy")
<< (isPtr_ ? isPtr_->name() : "dummy")
<< endl;
}
......
......@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2015-2019 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -128,8 +128,8 @@ void Foam::globalMeshData::calcSharedPoints() const
if
(
nGlobalPoints_ != -1
|| sharedPointLabelsPtr_.valid()
|| sharedPointAddrPtr_.valid()
|| sharedPointLabelsPtr_
|| sharedPointAddrPtr_
)
{
FatalErrorInFunction
......@@ -295,8 +295,8 @@ void Foam::globalMeshData::calcSharedEdges() const
if
(
nGlobalEdges_ != -1
|| sharedEdgeLabelsPtr_.valid()
|| sharedEdgeAddrPtr_.valid()
|| sharedEdgeLabelsPtr_
|| sharedEdgeAddrPtr_
)
{
FatalErrorInFunction
......
......@@ -190,7 +190,7 @@ bool Foam::expressions::fvExprDriver::readDict
{
ITstream& is = eptr->stream();
if (writer_.valid() && storedVariables_.size())
if (writer_ && !storedVariables_.empty())
{
WarningInFunction
// << "Context: " << driverContext_ << nl
......@@ -216,7 +216,7 @@ bool Foam::expressions::fvExprDriver::readDict
{
ITstream& is = eptr->stream();
if (writer_.valid() && delayedVariables_.size())
if (writer_ && !delayedVariables_.empty())
{
WarningInFunction
// << "Context: " << driverContext_ << nl
......
......@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2010-2018 Bernhard Gschaider <bgschaid@hfd-research.com>
Copyright (C) 2019 OpenCFD Ltd.
Copyright (C) 2019-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -261,16 +261,16 @@ Foam::Ostream& Foam::expressions::fvExprDriver::writeCommon
void Foam::expressions::fvExprDriver::createWriterAndRead(const word& name)
{
if (hasDataToWrite() && !writer_.valid())
if (!writer_ && hasDataToWrite())
{
writer_.set(new exprDriverWriter(name + "_" + this->type(), *this));
writer_.reset(new exprDriverWriter(name + "_" + this->type(), *this));
}
}
void Foam::expressions::fvExprDriver::tryWrite() const
{
if (writer_.valid() && mesh().time().outputTime())
if (writer_ && mesh().time().outputTime())
{
writer_->write();
}
......
......@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2017-2019 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -38,7 +38,7 @@ withSurfaceFields() const
(
stFaceZone == regionType_
|| stPatch == regionType_
|| (sampledPtr_.valid() && sampledPtr_->withSurfaceFields())
|| (sampledPtr_ && sampledPtr_->withSurfaceFields())
);
}
......
......@@ -370,7 +370,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues
Field<Type> values(getFieldValues<Type>(fieldName, true));
// Write raw values on surface if specified
if (surfaceWriterPtr_.valid() && surfaceWriterPtr_->enabled())
if (surfaceWriterPtr_ && surfaceWriterPtr_->enabled())
{
Field<Type> allValues(values);
combineFields(allValues);
......
......@@ -34,7 +34,7 @@ template<class chemistryType>
void Foam::functionObjects::reactionsSensitivityAnalysis<chemistryType>::
createFileNames()
{
if (writeToFile() && !prodFilePtr_.valid())
if (writeToFile() && !prodFilePtr_)
{
prodFilePtr_ = createFile("production");
writeHeader(prodFilePtr_(), "production");
......
......@@ -413,8 +413,8 @@ bool Foam::functionObjects::regionSizeDistribution::write()
const volScalarField& alpha =
(
alphaPtr.valid()
? alphaPtr()
alphaPtr
? *alphaPtr
: obr_.lookupObject<volScalarField>(alphaName_)
);
......
......@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2015-2019 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -54,7 +54,7 @@ void Foam::functionObjects::forceCoeffs::createFiles()
{
// Note: Only possible to create bin files after bins have been initialised
if (writeToFile() && !coeffFilePtr_.valid())
if (writeToFile() && !coeffFilePtr_)
{
coeffFilePtr_ = createFile("coefficient");
writeIntegratedHeader("Coefficients", coeffFilePtr_());
......
......@@ -58,7 +58,7 @@ void Foam::functionObjects::forces::createFiles()
{
// Note: Only possible to create bin files after bins have been initialised
if (writeToFile() && !forceFilePtr_.valid())
if (writeToFile() && !forceFilePtr_)
{
forceFilePtr_ = createFile("force");
writeIntegratedHeader("Force", forceFilePtr_());
......