ENH: avoid readScalar, readLabel etc from dictionary (#762, #1033)

- use the dictionary 'get' methods instead of readScalar for
  additional checking

     Unchecked:  readScalar(dict.lookup("key"));
     Checked:    dict.get<scalar>("key");

- In templated classes that also inherit from a dictionary, an additional
  'template' keyword will be required. Eg,

     this->coeffsDict().template get<scalar>("key");

  For this common use case, the predefined getXXX shortcuts may be
  useful. Eg,

     this->coeffsDict().getScalar("key");
This commit is contained in:
Mark Olesen
2018-10-12 08:14:47 +02:00
parent 990d00d40d
commit 8eddcc072a
335 changed files with 1007 additions and 1127 deletions

View File

@ -76,7 +76,7 @@ bool Foam::waveModels::irregularWaveModel::readDict
{
if (waveGenerationModel::readDict(overrideDict))
{
rampTime_ = get<scalar>("rampTime");
readEntry("rampTime", rampTime_);
return true;
}

View File

@ -95,7 +95,8 @@ bool Foam::waveModels::regularWaveModel::readDict
waveHeight_ = readWaveHeight();
waveAngle_ = readWaveAngle();
wavePeriod_ = get<scalar>("wavePeriod");
readEntry("wavePeriod", wavePeriod_);
if (wavePeriod_ < 0)
{
FatalIOErrorInFunction(*this)

View File

@ -88,7 +88,7 @@ bool Foam::waveModels::waveGenerationModel::readDict
{
if (waveModel::readDict(overrideDict))
{
activeAbsorption_ = get<bool>("activeAbsorption");
readEntry("activeAbsorption", activeAbsorption_);
return true;
}