From cd8844bf398c9c9dcf22ed045b1a885bac47e347 Mon Sep 17 00:00:00 2001 From: Roland Schulz Date: Wed, 18 Jul 2018 02:52:51 -0700 Subject: [PATCH] clang-tidy: override Change-Id: I3767d2a1117b525d9284a32935a4e8bb3ab337af --- src/.clang-tidy | 1 + src/.clang-tidy.new.code | 1 + src/gromacs/analysisdata/analysisdata.h | 10 +-- src/gromacs/analysisdata/arraydata.h | 10 +-- src/gromacs/analysisdata/datamodule.h | 40 +++++----- src/gromacs/analysisdata/dataproxy.h | 26 +++---- src/gromacs/analysisdata/modules/average.h | 36 ++++----- .../analysisdata/modules/displacement.h | 18 ++--- .../analysisdata/modules/histogram.cpp | 12 +-- src/gromacs/analysisdata/modules/histogram.h | 64 ++++++++-------- src/gromacs/analysisdata/modules/lifetime.cpp | 2 +- src/gromacs/analysisdata/modules/lifetime.h | 16 ++-- src/gromacs/analysisdata/modules/plot.h | 18 ++--- .../analysisdata/tests/analysisdata.cpp | 4 +- .../analysisdata/tests/mock_datamodule.h | 6 +- src/gromacs/commandline/cmdlinehelpmodule.cpp | 72 +++++++++--------- src/gromacs/commandline/cmdlinehelpmodule.h | 14 ++-- src/gromacs/commandline/cmdlinehelpwriter.cpp | 10 +-- .../commandline/cmdlinemodulemanager.cpp | 10 +-- .../commandline/cmdlineoptionsmodule.cpp | 14 ++-- .../commandline/cmdlineprogramcontext.cpp | 4 +- .../commandline/cmdlineprogramcontext.h | 14 ++-- src/gromacs/commandline/shellcompletions.cpp | 8 +- .../tests/cmdlinemodulemanagertest.h | 12 +-- .../tests/cmdlineprogramcontext.cpp | 4 +- src/gromacs/commandline/tests/pargs.cpp | 2 +- .../ewald/tests/testhardwarecontexts.h | 4 +- src/gromacs/fft/tests/fft.cpp | 10 +-- src/gromacs/fileio/gmxfio-xdr.h | 18 ++--- src/gromacs/fileio/tests/confio.cpp | 4 +- src/gromacs/fileio/timecontrol.cpp | 2 +- src/gromacs/gmxana/pp2shift.cpp | 2 +- .../gmxpreprocess/insert-molecules.cpp | 14 ++-- src/gromacs/gmxpreprocess/readir.cpp | 2 +- src/gromacs/gmxpreprocess/tests/readir.cpp | 2 +- src/gromacs/gpu_utils/tests/gputest.h | 2 +- src/gromacs/mdlib/tests/shake.cpp | 2 +- src/gromacs/mdrunutility/mdmodules.cpp | 6 +- .../mdrunutility/tests/threadaffinitytest.h | 4 +- src/gromacs/mdrunutility/threadaffinity.cpp | 4 +- src/gromacs/onlinehelp/helptopic.h | 36 ++++----- src/gromacs/onlinehelp/helpwritercontext.cpp | 8 +- src/gromacs/onlinehelp/tests/mock_helptopic.h | 10 +-- src/gromacs/options/abstractsection.h | 8 +- src/gromacs/options/basicoptions.h | 38 +++++----- src/gromacs/options/basicoptionstorage.h | 74 +++++++++---------- src/gromacs/options/filenameoption.h | 6 +- src/gromacs/options/filenameoptionmanager.h | 4 +- src/gromacs/options/filenameoptionstorage.h | 16 ++-- .../options/ioptionscontainerwithsections.h | 2 +- src/gromacs/options/options-impl.h | 12 +-- src/gromacs/options/options.h | 12 +-- src/gromacs/options/optionsection.cpp | 6 +- src/gromacs/options/optionsection.h | 2 +- src/gromacs/options/optionstoragetemplate.h | 22 +++--- src/gromacs/options/optionsvisitor.h | 14 ++-- src/gromacs/options/repeatingsection.h | 8 +- .../options/tests/abstractoptionstorage.cpp | 18 ++--- src/gromacs/options/timeunitmanager.cpp | 4 +- src/gromacs/options/timeunitmanager.h | 8 +- src/gromacs/options/treesupport.cpp | 10 +-- src/gromacs/options/valuestore.h | 40 +++++----- src/gromacs/selection/selectionfileoption.h | 6 +- .../selection/selectionfileoptionstorage.h | 24 +++--- src/gromacs/selection/selectionoption.h | 6 +- .../selection/selectionoptionbehavior.h | 10 +-- .../selection/selectionoptionmanager.h | 4 +- .../selection/selectionoptionstorage.h | 18 ++--- src/gromacs/selection/selhelp.cpp | 10 +-- src/gromacs/selection/tests/indexutil.cpp | 4 +- src/gromacs/selection/tests/poscalc.cpp | 2 +- .../selection/tests/selectioncollection.cpp | 2 +- .../trajectoryanalysis/analysismodule.cpp | 4 +- .../trajectoryanalysis/cmdlinerunner.cpp | 10 +-- .../trajectoryanalysis/modules/angle.cpp | 18 ++--- .../trajectoryanalysis/modules/distance.cpp | 16 ++-- .../trajectoryanalysis/modules/freevolume.cpp | 20 ++--- .../trajectoryanalysis/modules/pairdist.cpp | 22 +++--- .../trajectoryanalysis/modules/rdf.cpp | 30 ++++---- .../trajectoryanalysis/modules/sasa.cpp | 22 +++--- .../trajectoryanalysis/modules/select.cpp | 32 ++++---- .../trajectoryanalysis/modules/trajectory.cpp | 18 ++--- .../trajectoryanalysis/runnercommon.cpp | 6 +- .../trajectoryanalysis/tests/moduletest.h | 6 +- .../trajectoryanalysis/tests/surfacearea.cpp | 2 +- .../tests/test_selection.cpp | 18 ++--- src/gromacs/utility/exceptions.cpp | 18 ++--- src/gromacs/utility/exceptions.h | 22 +++--- src/gromacs/utility/fileredirector.cpp | 10 +-- src/gromacs/utility/filestream.h | 18 ++--- src/gromacs/utility/ikeyvaluetreeerror.cpp | 4 +- src/gromacs/utility/inmemoryserializer.h | 36 ++++----- src/gromacs/utility/keyvaluetreetransform.cpp | 4 +- src/gromacs/utility/loggerbuilder.cpp | 4 +- src/gromacs/utility/programcontext.cpp | 12 +-- src/gromacs/utility/stringstream.h | 8 +- .../utility/tests/keyvaluetreeserializer.cpp | 16 ++-- src/gromacs/utility/variant.h | 4 +- src/programs/legacymodules.cpp | 10 +-- src/programs/mdrun/tests/interactiveMD.cpp | 2 +- src/programs/mdrun/tests/moduletest.h | 4 +- src/programs/mdrun/tests/swapcoords.cpp | 2 +- src/testutils/cmdlinetest.h | 2 +- src/testutils/conftest.cpp | 4 +- src/testutils/conftest.h | 4 +- src/testutils/filematchers.cpp | 6 +- src/testutils/filematchers.h | 4 +- src/testutils/refdata-checkers.h | 36 ++++----- src/testutils/refdata.cpp | 4 +- src/testutils/stringtest.h | 4 +- src/testutils/testexceptions.h | 4 +- src/testutils/testfileredirector.h | 14 ++-- src/testutils/testinit.cpp | 10 +-- src/testutils/testmatchers.cpp | 16 ++-- src/testutils/textblockmatchers.cpp | 12 +-- src/testutils/textblockmatchers.h | 6 +- src/testutils/xvgtest.cpp | 6 +- src/testutils/xvgtest.h | 4 +- 118 files changed, 742 insertions(+), 740 deletions(-) diff --git a/src/.clang-tidy b/src/.clang-tidy index 15261590fc..56ffbb29ff 100644 --- a/src/.clang-tidy +++ b/src/.clang-tidy @@ -5,6 +5,7 @@ Checks: clang-diagnostic-*,clang-analyzer-*,-clang-analyzer-security.insecureAP modernize-use-nullptr,modernize-use-emplace, modernize-make-unique,modernize-make-shared, modernize-avoid-bind, + modernize-use-override, modernize-redundant-void-arg,modernize-use-bool-literals, cppcoreguidelines-*,-cppcoreguidelines-pro-*,-cppcoreguidelines-owning-memory, -cppcoreguidelines-no-malloc,-cppcoreguidelines-special-member-functions, diff --git a/src/.clang-tidy.new.code b/src/.clang-tidy.new.code index 65d42e9273..5558050fd1 100644 --- a/src/.clang-tidy.new.code +++ b/src/.clang-tidy.new.code @@ -4,6 +4,7 @@ Checks: clang-diagnostic-*,clang-analyzer-*, modernize-use-nullptr,modernize-use-emplace, modernize-make-unique,modernize-make-shared, modernize-avoid-bind, + modernize-use-override, modernize-redundant-void-arg,modernize-use-bool-literals, cppcoreguidelines-*,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-const-cast, -cppcoreguidelines-pro-type-static-cast-downcast, diff --git a/src/gromacs/analysisdata/analysisdata.h b/src/gromacs/analysisdata/analysisdata.h index 09e8733da1..f68b6ca2b5 100644 --- a/src/gromacs/analysisdata/analysisdata.h +++ b/src/gromacs/analysisdata/analysisdata.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -96,7 +96,7 @@ class AnalysisData : public AbstractAnalysisData * \throws std::bad_alloc if out of memory. */ AnalysisData(); - virtual ~AnalysisData(); + ~AnalysisData() override; /*! \brief * Sets the number of data sets. @@ -140,7 +140,7 @@ class AnalysisData : public AbstractAnalysisData */ void setMultipoint(bool bMultipoint); - virtual int frameCount() const; + int frameCount() const override; /*! \brief * Creates a handle for adding data. @@ -194,8 +194,8 @@ class AnalysisData : public AbstractAnalysisData void finishData(AnalysisDataHandle handle); private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; class Impl; diff --git a/src/gromacs/analysisdata/arraydata.h b/src/gromacs/analysisdata/arraydata.h index f255ae70f6..77a7c93ef9 100644 --- a/src/gromacs/analysisdata/arraydata.h +++ b/src/gromacs/analysisdata/arraydata.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -73,9 +73,9 @@ namespace gmx class AbstractAnalysisArrayData : public AbstractAnalysisData { public: - virtual ~AbstractAnalysisArrayData(); + ~AbstractAnalysisArrayData() override; - virtual int frameCount() const + int frameCount() const override { return bReady_ ? rowCount_ : 0; } @@ -206,8 +206,8 @@ class AbstractAnalysisArrayData : public AbstractAnalysisData AbstractAnalysisArrayData *dest); private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; int rowCount_; AnalysisDataPointSetInfo pointSetInfo_; diff --git a/src/gromacs/analysisdata/datamodule.h b/src/gromacs/analysisdata/datamodule.h index e3113d2261..68da7f0a05 100644 --- a/src/gromacs/analysisdata/datamodule.h +++ b/src/gromacs/analysisdata/datamodule.h @@ -240,21 +240,21 @@ class IAnalysisDataModule class AnalysisDataModuleSerial : public IAnalysisDataModule { public: - virtual ~AnalysisDataModuleSerial() {} + ~AnalysisDataModuleSerial() override {} - virtual int flags() const = 0; + int flags() const override = 0; - virtual void dataStarted(AbstractAnalysisData *data) = 0; - virtual void frameStarted(const AnalysisDataFrameHeader &frame) = 0; - virtual void pointsAdded(const AnalysisDataPointSetRef &points) = 0; - virtual void frameFinished(const AnalysisDataFrameHeader &header) = 0; - virtual void dataFinished() = 0; + void dataStarted(AbstractAnalysisData *data) override = 0; + void frameStarted(const AnalysisDataFrameHeader &frame) override = 0; + void pointsAdded(const AnalysisDataPointSetRef &points) override = 0; + void frameFinished(const AnalysisDataFrameHeader &header) override = 0; + void dataFinished() override = 0; private: - virtual bool parallelDataStarted( + bool parallelDataStarted( AbstractAnalysisData *data, - const AnalysisDataParallelOptions &options); - virtual void frameFinishedSerial(int /*frameIndex*/) {} + const AnalysisDataParallelOptions &options) override; + void frameFinishedSerial(int /*frameIndex*/) override {} }; /*! \brief @@ -270,21 +270,21 @@ class AnalysisDataModuleSerial : public IAnalysisDataModule class AnalysisDataModuleParallel : public IAnalysisDataModule { public: - virtual ~AnalysisDataModuleParallel() {} + ~AnalysisDataModuleParallel() override {} - virtual int flags() const = 0; + int flags() const override = 0; - virtual bool parallelDataStarted( + bool parallelDataStarted( AbstractAnalysisData *data, - const AnalysisDataParallelOptions &options) = 0; - virtual void frameStarted(const AnalysisDataFrameHeader &frame) = 0; - virtual void pointsAdded(const AnalysisDataPointSetRef &points) = 0; - virtual void frameFinished(const AnalysisDataFrameHeader &header) = 0; - virtual void frameFinishedSerial(int index) = 0; - virtual void dataFinished() = 0; + const AnalysisDataParallelOptions &options) override = 0; + void frameStarted(const AnalysisDataFrameHeader &frame) override = 0; + void pointsAdded(const AnalysisDataPointSetRef &points) override = 0; + void frameFinished(const AnalysisDataFrameHeader &header) override = 0; + void frameFinishedSerial(int index) override = 0; + void dataFinished() override = 0; private: - virtual void dataStarted(AbstractAnalysisData *data); + void dataStarted(AbstractAnalysisData *data) override; }; } // namespace gmx diff --git a/src/gromacs/analysisdata/dataproxy.h b/src/gromacs/analysisdata/dataproxy.h index 1b8f639a02..3f73f75bdc 100644 --- a/src/gromacs/analysisdata/dataproxy.h +++ b/src/gromacs/analysisdata/dataproxy.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -80,23 +80,23 @@ class AnalysisDataProxy : public AbstractAnalysisData, AnalysisDataProxy(int firstColumn, int columnSpan, AbstractAnalysisData *data); - virtual int frameCount() const; + int frameCount() const override; - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual bool parallelDataStarted( + void dataStarted(AbstractAnalysisData *data) override; + bool parallelDataStarted( AbstractAnalysisData *data, - const AnalysisDataParallelOptions &options); - virtual void frameStarted(const AnalysisDataFrameHeader &frame); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void frameFinishedSerial(int frameIndex); - virtual void dataFinished(); + const AnalysisDataParallelOptions &options) override; + void frameStarted(const AnalysisDataFrameHeader &frame) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void frameFinishedSerial(int frameIndex) override; + void dataFinished() override; private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; AbstractAnalysisData &source_; int firstColumn_; diff --git a/src/gromacs/analysisdata/modules/average.h b/src/gromacs/analysisdata/modules/average.h index a6a26eb3dd..de3ec3f306 100644 --- a/src/gromacs/analysisdata/modules/average.h +++ b/src/gromacs/analysisdata/modules/average.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -84,7 +84,7 @@ class AnalysisDataAverageModule : public AbstractAnalysisArrayData, { public: AnalysisDataAverageModule(); - virtual ~AnalysisDataAverageModule(); + ~AnalysisDataAverageModule() override; using AbstractAnalysisArrayData::setXAxis; using AbstractAnalysisArrayData::setXAxisValue; @@ -103,13 +103,13 @@ class AnalysisDataAverageModule : public AbstractAnalysisArrayData, */ void setAverageDataSets(bool bDataSets); - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; /*! \brief * Convenience access to the average of a data column. @@ -166,21 +166,21 @@ class AnalysisDataFrameAverageModule : public AbstractAnalysisData, { public: AnalysisDataFrameAverageModule(); - virtual ~AnalysisDataFrameAverageModule(); + ~AnalysisDataFrameAverageModule() override; - virtual int frameCount() const; + int frameCount() const override; - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; class Impl; diff --git a/src/gromacs/analysisdata/modules/displacement.h b/src/gromacs/analysisdata/modules/displacement.h index 6ae776ba49..2ff25a7561 100644 --- a/src/gromacs/analysisdata/modules/displacement.h +++ b/src/gromacs/analysisdata/modules/displacement.h @@ -71,7 +71,7 @@ class AnalysisDataDisplacementModule : public AbstractAnalysisData, { public: AnalysisDataDisplacementModule(); - virtual ~AnalysisDataDisplacementModule(); + ~AnalysisDataDisplacementModule() override; /*! \brief * Sets the largest displacement time to be calculated. @@ -84,17 +84,17 @@ class AnalysisDataDisplacementModule : public AbstractAnalysisData, */ void setMSDHistogram(const std::shared_ptr &histm); - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; class Impl; diff --git a/src/gromacs/analysisdata/modules/histogram.cpp b/src/gromacs/analysisdata/modules/histogram.cpp index a8a294d54e..092b0009b1 100644 --- a/src/gromacs/analysisdata/modules/histogram.cpp +++ b/src/gromacs/analysisdata/modules/histogram.cpp @@ -438,13 +438,13 @@ class BasicAverageHistogramModule : public AbstractAverageHistogram, using AbstractAverageHistogram::init; - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: //! Averaging helper objects for each input data set. diff --git a/src/gromacs/analysisdata/modules/histogram.h b/src/gromacs/analysisdata/modules/histogram.h index a3bb56ed74..4875b8926a 100644 --- a/src/gromacs/analysisdata/modules/histogram.h +++ b/src/gromacs/analysisdata/modules/histogram.h @@ -263,7 +263,7 @@ typedef std::unique_ptr AverageHistogramPointer; class AbstractAverageHistogram : public AbstractAnalysisArrayData { public: - virtual ~AbstractAverageHistogram(); + ~AbstractAverageHistogram() override; //! Returns bin properties for the histogram. const AnalysisHistogramSettings &settings() const { return settings_; } @@ -369,7 +369,7 @@ class AnalysisDataSimpleHistogramModule : public AbstractAnalysisData, AnalysisDataSimpleHistogramModule(); //! Creates a histogram module with defined bin parameters. explicit AnalysisDataSimpleHistogramModule(const AnalysisHistogramSettings &settings); - virtual ~AnalysisDataSimpleHistogramModule(); + ~AnalysisDataSimpleHistogramModule() override; /*! \brief * (Re)initializes the histogram from settings. @@ -389,22 +389,22 @@ class AnalysisDataSimpleHistogramModule : public AbstractAnalysisData, //! Returns bin properties for the histogram. const AnalysisHistogramSettings &settings() const; - virtual int frameCount() const; + int frameCount() const override; - virtual int flags() const; + int flags() const override; - virtual bool parallelDataStarted( + bool parallelDataStarted( AbstractAnalysisData *data, - const AnalysisDataParallelOptions &options); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void frameFinishedSerial(int frameIndex); - virtual void dataFinished(); + const AnalysisDataParallelOptions &options) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void frameFinishedSerial(int frameIndex) override; + void dataFinished() override; private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; class Impl; @@ -443,7 +443,7 @@ class AnalysisDataWeightedHistogramModule : public AbstractAnalysisData, AnalysisDataWeightedHistogramModule(); //! \copydoc AnalysisDataSimpleHistogramModule::AnalysisDataSimpleHistogramModule(const AnalysisHistogramSettings &) explicit AnalysisDataWeightedHistogramModule(const AnalysisHistogramSettings &settings); - virtual ~AnalysisDataWeightedHistogramModule(); + ~AnalysisDataWeightedHistogramModule() override; //! \copydoc AnalysisDataSimpleHistogramModule::init() void init(const AnalysisHistogramSettings &settings); @@ -454,22 +454,22 @@ class AnalysisDataWeightedHistogramModule : public AbstractAnalysisData, //! \copydoc AnalysisDataSimpleHistogramModule::settings() const AnalysisHistogramSettings &settings() const; - virtual int frameCount() const; + int frameCount() const override; - virtual int flags() const; + int flags() const override; - virtual bool parallelDataStarted( + bool parallelDataStarted( AbstractAnalysisData *data, - const AnalysisDataParallelOptions &options); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void frameFinishedSerial(int frameIndex); - virtual void dataFinished(); + const AnalysisDataParallelOptions &options) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void frameFinishedSerial(int frameIndex) override; + void dataFinished() override; private: - virtual AnalysisDataFrameRef tryGetDataFrameInternal(int index) const; - virtual bool requestStorageInternal(int nframes); + AnalysisDataFrameRef tryGetDataFrameInternal(int index) const override; + bool requestStorageInternal(int nframes) override; class Impl; @@ -503,7 +503,7 @@ class AnalysisDataBinAverageModule : public AbstractAnalysisArrayData, AnalysisDataBinAverageModule(); //! \copydoc AnalysisDataSimpleHistogramModule::AnalysisDataSimpleHistogramModule(const AnalysisHistogramSettings &) explicit AnalysisDataBinAverageModule(const AnalysisHistogramSettings &settings); - virtual ~AnalysisDataBinAverageModule(); + ~AnalysisDataBinAverageModule() override; //! \copydoc AnalysisDataSimpleHistogramModule::init() void init(const AnalysisHistogramSettings &settings); @@ -511,13 +511,13 @@ class AnalysisDataBinAverageModule : public AbstractAnalysisArrayData, //! \copydoc AnalysisDataSimpleHistogramModule::settings() const AnalysisHistogramSettings &settings() const; - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: class Impl; diff --git a/src/gromacs/analysisdata/modules/lifetime.cpp b/src/gromacs/analysisdata/modules/lifetime.cpp index 9278d288c8..5c120a2450 100644 --- a/src/gromacs/analysisdata/modules/lifetime.cpp +++ b/src/gromacs/analysisdata/modules/lifetime.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2013,2014,2015,2016, by the GROMACS development team, led by + * Copyright (c) 2013,2014,2015,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. diff --git a/src/gromacs/analysisdata/modules/lifetime.h b/src/gromacs/analysisdata/modules/lifetime.h index 771719ef27..0e34c4583e 100644 --- a/src/gromacs/analysisdata/modules/lifetime.h +++ b/src/gromacs/analysisdata/modules/lifetime.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -80,7 +80,7 @@ class AnalysisDataLifetimeModule : public AbstractAnalysisArrayData, { public: AnalysisDataLifetimeModule(); - virtual ~AnalysisDataLifetimeModule(); + ~AnalysisDataLifetimeModule() override; /*! \brief * Sets a cumulative histogram mode. @@ -92,13 +92,13 @@ class AnalysisDataLifetimeModule : public AbstractAnalysisArrayData, */ void setCumulative(bool bCumulative); - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: class Impl; diff --git a/src/gromacs/analysisdata/modules/plot.h b/src/gromacs/analysisdata/modules/plot.h index dfc5c8ac79..d926224ddd 100644 --- a/src/gromacs/analysisdata/modules/plot.h +++ b/src/gromacs/analysisdata/modules/plot.h @@ -142,7 +142,7 @@ class AnalysisDataPlotSettings class AbstractPlotModule : public AnalysisDataModuleSerial { public: - virtual ~AbstractPlotModule(); + ~AbstractPlotModule() override; /*! \brief * Set common settings for the plotting. @@ -224,13 +224,13 @@ class AbstractPlotModule : public AnalysisDataModuleSerial */ void setYFormat(int width, int precision, char format = 'f'); - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points) = 0; - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override = 0; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; protected: /*! \cond libapi */ @@ -275,7 +275,7 @@ class AnalysisDataPlotModule : public AbstractPlotModule //! Creates AnalysisDataPlotModule and assign common settings. explicit AnalysisDataPlotModule(const AnalysisDataPlotSettings &settings); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); + void pointsAdded(const AnalysisDataPointSetRef &points) override; // Copy and assign disallowed by base. }; @@ -317,7 +317,7 @@ class AnalysisDataVectorPlotModule : public AbstractPlotModule */ void setWriteMask(const bool bWrite[4]); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); + void pointsAdded(const AnalysisDataPointSetRef &points) override; private: bool bWrite_[4]; diff --git a/src/gromacs/analysisdata/tests/analysisdata.cpp b/src/gromacs/analysisdata/tests/analysisdata.cpp index 4f4eb296cd..a6c412c749 100644 --- a/src/gromacs/analysisdata/tests/analysisdata.cpp +++ b/src/gromacs/analysisdata/tests/analysisdata.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2011,2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -299,7 +299,7 @@ class AnalysisDataTest : public AnalysisDataTestFixture { } - void SetUp() + void SetUp() override { ASSERT_NO_THROW_GMX(setupDataObject(input_, &data_)); } diff --git a/src/gromacs/analysisdata/tests/mock_datamodule.h b/src/gromacs/analysisdata/tests/mock_datamodule.h index 41c69cd846..fb451e6ac7 100644 --- a/src/gromacs/analysisdata/tests/mock_datamodule.h +++ b/src/gromacs/analysisdata/tests/mock_datamodule.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2011,2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -66,9 +66,9 @@ class MockAnalysisDataModule : public IAnalysisDataModule { public: explicit MockAnalysisDataModule(int flags); - virtual ~MockAnalysisDataModule(); + ~MockAnalysisDataModule() override; - virtual int flags() const; + int flags() const override; MOCK_METHOD2(parallelDataStarted, bool(AbstractAnalysisData *data, diff --git a/src/gromacs/commandline/cmdlinehelpmodule.cpp b/src/gromacs/commandline/cmdlinehelpmodule.cpp index 47110d0ac9..9716758dfa 100644 --- a/src/gromacs/commandline/cmdlinehelpmodule.cpp +++ b/src/gromacs/commandline/cmdlinehelpmodule.cpp @@ -101,8 +101,8 @@ class RootHelpTopic : public AbstractCompositeHelpTopic { } - virtual const char *name() const; - virtual const char *title() const { return title_.c_str(); } + const char *name() const override; + const char *title() const override { return title_.c_str(); } //! Adds a top-level topic and optionally marks it as exported. void addTopic(HelpTopicPointer topic, bool bExported) @@ -116,11 +116,11 @@ class RootHelpTopic : public AbstractCompositeHelpTopic //! Exports all the top-level topics with the given exporter. void exportHelp(IHelpExport *exporter); - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; private: // unused because of the writeHelp() override - virtual std::string helpText() const { return ""; } + std::string helpText() const override { return ""; } CommandLineHelpContext createContext(const HelpWriterContext &context) const; @@ -366,15 +366,15 @@ class CommandsHelpTopic : public IHelpTopic { } - virtual const char *name() const { return "commands"; } - virtual const char *title() const { return "List of available commands"; } - virtual bool hasSubTopics() const { return false; } - virtual const IHelpTopic *findSubTopic(const char * /*name*/) const + const char *name() const override { return "commands"; } + const char *title() const override { return "List of available commands"; } + bool hasSubTopics() const override { return false; } + const IHelpTopic *findSubTopic(const char * /*name*/) const override { return nullptr; } - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; private: const CommandLineHelpModuleImpl &helpModule_; @@ -448,14 +448,14 @@ class ModuleHelpTopic : public IHelpTopic { } - virtual const char *name() const { return module_.name(); } - virtual const char *title() const { return nullptr; } - virtual bool hasSubTopics() const { return false; } - virtual const IHelpTopic *findSubTopic(const char * /*name*/) const + const char *name() const override { return module_.name(); } + const char *title() const override { return nullptr; } + bool hasSubTopics() const override { return false; } + const IHelpTopic *findSubTopic(const char * /*name*/) const override { return nullptr; } - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; private: const ICommandLineModule &module_; @@ -522,19 +522,19 @@ class HelpExportReStructuredText : public IHelpExport const CommandLineHelpModuleImpl &helpModule, IFileOutputRedirector *outputRedirector); - virtual void startModuleExport(); - virtual void exportModuleHelp( + void startModuleExport() override; + void exportModuleHelp( const ICommandLineModule &module, const std::string &tag, - const std::string &displayName); - virtual void finishModuleExport(); + const std::string &displayName) override; + void finishModuleExport() override; - virtual void startModuleGroupExport(); - virtual void exportModuleGroup(const char *title, - const ModuleGroupContents &modules); - virtual void finishModuleGroupExport(); + void startModuleGroupExport() override; + void exportModuleGroup(const char *title, + const ModuleGroupContents &modules) override; + void finishModuleGroupExport() override; - virtual void exportTopic(const IHelpTopic &topic); + void exportTopic(const IHelpTopic &topic) override; private: IFileOutputRedirector *outputRedirector_; @@ -706,19 +706,19 @@ class HelpExportCompletion : public IHelpExport //! Initializes completion exporter. explicit HelpExportCompletion(const CommandLineHelpModuleImpl &helpModule); - virtual void startModuleExport(); - virtual void exportModuleHelp( + void startModuleExport() override; + void exportModuleHelp( const ICommandLineModule &module, const std::string &tag, - const std::string &displayName); - virtual void finishModuleExport(); + const std::string &displayName) override; + void finishModuleExport() override; - virtual void startModuleGroupExport() {} - virtual void exportModuleGroup(const char * /*title*/, - const ModuleGroupContents & /*modules*/) {} - virtual void finishModuleGroupExport() {} + void startModuleGroupExport() override {} + void exportModuleGroup(const char * /*title*/, + const ModuleGroupContents & /*modules*/) override {} + void finishModuleGroupExport() override {} - virtual void exportTopic(const IHelpTopic & /*topic*/) {} + void exportTopic(const IHelpTopic & /*topic*/) override {} private: ShellCompletionWriter bashWriter_; @@ -842,8 +842,8 @@ class ModificationCheckingFileOutputStream : public TextOutputStream { } - virtual void write(const char *str) { contents_.write(str); } - virtual void close() + void write(const char *str) override { contents_.write(str); } + void close() override { const std::string &newContents = contents_.toString(); // TODO: Redirect these for unit tests. @@ -879,11 +879,11 @@ class ModificationCheckingFileOutputRedirector : public IFileOutputRedirector { } - virtual TextOutputStream &standardOutput() + TextOutputStream &standardOutput() override { return redirector_->standardOutput(); } - virtual TextOutputStreamPointer openTextOutputFile(const char *filename) + TextOutputStreamPointer openTextOutputFile(const char *filename) override { return TextOutputStreamPointer( new ModificationCheckingFileOutputStream(filename, redirector_)); diff --git a/src/gromacs/commandline/cmdlinehelpmodule.h b/src/gromacs/commandline/cmdlinehelpmodule.h index 73cc444360..497d87d700 100644 --- a/src/gromacs/commandline/cmdlinehelpmodule.h +++ b/src/gromacs/commandline/cmdlinehelpmodule.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -83,7 +83,7 @@ class CommandLineHelpModule : public ICommandLineModule const std::string &binaryName, const CommandLineModuleMap &modules, const CommandLineModuleGroupList &groups); - ~CommandLineHelpModule(); + ~CommandLineHelpModule() override; /*! \brief * Creates a help topic for a command-line module. @@ -124,18 +124,18 @@ class CommandLineHelpModule : public ICommandLineModule */ void setOutputRedirector(IFileOutputRedirector *output); - virtual const char *name() const { return "help"; } - virtual const char *shortDescription() const + const char *name() const override { return "help"; } + const char *shortDescription() const override { return "Print help information"; } - virtual void init(CommandLineModuleSettings *settings) + void init(CommandLineModuleSettings *settings) override { settings->setDefaultNiceLevel(0); } - virtual int run(int argc, char *argv[]); - virtual void writeHelp(const CommandLineHelpContext &context) const; + int run(int argc, char *argv[]) override; + void writeHelp(const CommandLineHelpContext &context) const override; private: typedef CommandLineHelpModuleImpl Impl; diff --git a/src/gromacs/commandline/cmdlinehelpwriter.cpp b/src/gromacs/commandline/cmdlinehelpwriter.cpp index 0dcf90b666..f51d0ba323 100644 --- a/src/gromacs/commandline/cmdlinehelpwriter.cpp +++ b/src/gromacs/commandline/cmdlinehelpwriter.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -136,8 +136,8 @@ class OptionsFilter : public OptionsVisitor IOptionsFormatter *formatter, const Options &options); - virtual void visitSection(const OptionSectionInfo §ion); - virtual void visitOption(const OptionInfo &option); + void visitSection(const OptionSectionInfo §ion) override; + void visitOption(const OptionInfo &option) override; private: IOptionsFormatter *formatter_; @@ -314,7 +314,7 @@ class SynopsisFormatter : public IOptionsFormatter //! Finishes formatting the synopsis. void finish(); - virtual void formatOption(const OptionInfo &option); + void formatOption(const OptionInfo &option) override; private: const HelpWriterContext &context_; @@ -411,7 +411,7 @@ class OptionsListFormatter : public IOptionsFormatter } } - virtual void formatOption(const OptionInfo &option); + void formatOption(const OptionInfo &option) override; private: void writeSectionStartIfNecessary() diff --git a/src/gromacs/commandline/cmdlinemodulemanager.cpp b/src/gromacs/commandline/cmdlinemodulemanager.cpp index 1a0f3eafcd..d9ff26e43c 100644 --- a/src/gromacs/commandline/cmdlinemodulemanager.cpp +++ b/src/gromacs/commandline/cmdlinemodulemanager.cpp @@ -112,27 +112,27 @@ class CMainCommandLineModule : public ICommandLineModule { } - virtual const char *name() const + const char *name() const override { return name_; } - virtual const char *shortDescription() const + const char *shortDescription() const override { return shortDescription_; } - virtual void init(CommandLineModuleSettings *settings) + void init(CommandLineModuleSettings *settings) override { if (settingsFunction_ != nullptr) { settingsFunction_(settings); } } - virtual int run(int argc, char *argv[]) + int run(int argc, char *argv[]) override { return mainFunction_(argc, argv); } - virtual void writeHelp(const CommandLineHelpContext &context) const + void writeHelp(const CommandLineHelpContext &context) const override { writeCommandLineHelpCMain(context, name_, mainFunction_); } diff --git a/src/gromacs/commandline/cmdlineoptionsmodule.cpp b/src/gromacs/commandline/cmdlineoptionsmodule.cpp index 2c1ed44cc6..b17e273eb2 100644 --- a/src/gromacs/commandline/cmdlineoptionsmodule.cpp +++ b/src/gromacs/commandline/cmdlineoptionsmodule.cpp @@ -78,11 +78,11 @@ class CommandLineOptionsModuleSettings : public ICommandLineOptionsModuleSetting const std::string &helpText() const { return helpText_; } - virtual void setHelpText(const ArrayRef &help) + void setHelpText(const ArrayRef &help) override { helpText_ = joinStrings(help, "\n"); } - virtual void addOptionsBehavior(const OptionsBehaviorPointer &behavior) + void addOptionsBehavior(const OptionsBehaviorPointer &behavior) override { behaviors_.addBehavior(behavior); } @@ -112,12 +112,12 @@ class CommandLineOptionsModule : public ICommandLineModule : name_(name), description_(description), module_(std::move(module)) { } - virtual const char *name() const { return name_; } - virtual const char *shortDescription() const { return description_; } + const char *name() const override { return name_; } + const char *shortDescription() const override { return description_; } - virtual void init(CommandLineModuleSettings *settings); - virtual int run(int argc, char *argv[]); - virtual void writeHelp(const CommandLineHelpContext &context) const; + void init(CommandLineModuleSettings *settings) override; + int run(int argc, char *argv[]) override; + void writeHelp(const CommandLineHelpContext &context) const override; private: void parseOptions(int argc, char *argv[]); diff --git a/src/gromacs/commandline/cmdlineprogramcontext.cpp b/src/gromacs/commandline/cmdlineprogramcontext.cpp index 559a315b5e..f6dcffb3af 100644 --- a/src/gromacs/commandline/cmdlineprogramcontext.cpp +++ b/src/gromacs/commandline/cmdlineprogramcontext.cpp @@ -103,11 +103,11 @@ class DefaultExecutableEnvironment : public IExecutableEnvironment { } - virtual std::string getWorkingDirectory() const + std::string getWorkingDirectory() const override { return initialWorkingDirectory_; } - virtual std::vector getExecutablePaths() const + std::vector getExecutablePaths() const override { return Path::getExecutablePaths(); } diff --git a/src/gromacs/commandline/cmdlineprogramcontext.h b/src/gromacs/commandline/cmdlineprogramcontext.h index 26744ea709..d0c3502c79 100644 --- a/src/gromacs/commandline/cmdlineprogramcontext.h +++ b/src/gromacs/commandline/cmdlineprogramcontext.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -151,7 +151,7 @@ class CommandLineProgramContext : public IProgramContext */ CommandLineProgramContext(int argc, const char *const argv[], ExecutableEnvironmentPointer env); - virtual ~CommandLineProgramContext(); + ~CommandLineProgramContext() override; /*! \brief * Sets a display name for the binary. @@ -174,7 +174,7 @@ class CommandLineProgramContext : public IProgramContext * * Does not throw. */ - virtual const char *programName() const; + const char *programName() const override; /*! \brief * Returns a display name of the current module. * @@ -183,7 +183,7 @@ class CommandLineProgramContext : public IProgramContext * * Does not throw. */ - virtual const char *displayName() const; + const char *displayName() const override; /*! \brief * Returns the full path of the running binary. * @@ -192,7 +192,7 @@ class CommandLineProgramContext : public IProgramContext * * Returns argv[0] if there was an error in finding the absolute path. */ - virtual const char *fullBinaryPath() const; + const char *fullBinaryPath() const override; /*! \brief * Returns the installation prefix (for finding \Gromacs data files). * @@ -202,13 +202,13 @@ class CommandLineProgramContext : public IProgramContext * Returns a hardcoded path set during configuration time if there is * an error in finding the library data files. */ - virtual InstallationPrefixInfo installationPrefix() const; + InstallationPrefixInfo installationPrefix() const override; /*! \brief * Returns the full command line used to invoke the binary. * * Does not throw. */ - virtual const char *commandLine() const; + const char *commandLine() const override; private: class Impl; diff --git a/src/gromacs/commandline/shellcompletions.cpp b/src/gromacs/commandline/shellcompletions.cpp index 9ecb1a930c..7fe52b3884 100644 --- a/src/gromacs/commandline/shellcompletions.cpp +++ b/src/gromacs/commandline/shellcompletions.cpp @@ -76,13 +76,13 @@ class OptionsListWriter : public OptionsVisitor public: const std::string &optionList() const { return optionList_; } - virtual void visitSection(const OptionSectionInfo §ion) + void visitSection(const OptionSectionInfo §ion) override { OptionsIterator iterator(section); iterator.acceptSections(this); iterator.acceptOptions(this); } - virtual void visitOption(const OptionInfo &option) + void visitOption(const OptionInfo &option) override { if (option.isHidden()) { @@ -111,13 +111,13 @@ class OptionCompletionWriter : public OptionsVisitor public: explicit OptionCompletionWriter(TextWriter *out) : out_(*out) {} - virtual void visitSection(const OptionSectionInfo §ion) + void visitSection(const OptionSectionInfo §ion) override { OptionsIterator iterator(section); iterator.acceptSections(this); iterator.acceptOptions(this); } - virtual void visitOption(const OptionInfo &option); + void visitOption(const OptionInfo &option) override; private: void writeOptionCompletion(const OptionInfo &option, diff --git a/src/gromacs/commandline/tests/cmdlinemodulemanagertest.h b/src/gromacs/commandline/tests/cmdlinemodulemanagertest.h index fde073ba03..56e82d17fb 100644 --- a/src/gromacs/commandline/tests/cmdlinemodulemanagertest.h +++ b/src/gromacs/commandline/tests/cmdlinemodulemanagertest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -72,10 +72,10 @@ class MockModule : public gmx::ICommandLineModule public: //! Creates a mock module with the given name and description. MockModule(const char *name, const char *description); - ~MockModule(); + ~MockModule() override; - virtual const char *name() const { return name_; } - virtual const char *shortDescription() const { return descr_; } + const char *name() const override { return name_; } + const char *shortDescription() const override { return descr_; } MOCK_METHOD1(init, void(gmx::CommandLineModuleSettings *settings)); MOCK_METHOD2(run, int(int argc, char *argv[])); @@ -105,7 +105,7 @@ class MockOptionsModule : public gmx::ICommandLineOptionsModule { public: MockOptionsModule(); - ~MockOptionsModule(); + ~MockOptionsModule() override; MOCK_METHOD1(init, void(gmx::CommandLineModuleSettings *settings)); MOCK_METHOD2(initOptions, void(gmx::IOptionsContainer *options, gmx::ICommandLineOptionsModuleSettings *settings)); @@ -122,7 +122,7 @@ class CommandLineModuleManagerTestBase : public gmx::test::StringTestBase { public: CommandLineModuleManagerTestBase(); - ~CommandLineModuleManagerTestBase(); + ~CommandLineModuleManagerTestBase() override; //! Creates the manager to run the given command line. void initManager(const CommandLine &args, const char *realBinaryName); diff --git a/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp b/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp index 4cdf6d1f8b..3adc46c81f 100644 --- a/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp +++ b/src/gromacs/commandline/tests/cmdlineprogramcontext.cpp @@ -80,11 +80,11 @@ class TestExecutableEnvironment : public gmx::IExecutableEnvironment { } - virtual std::string getWorkingDirectory() const + std::string getWorkingDirectory() const override { return workingDirectory_; } - virtual std::vector getExecutablePaths() const + std::vector getExecutablePaths() const override { return path_; } diff --git a/src/gromacs/commandline/tests/pargs.cpp b/src/gromacs/commandline/tests/pargs.cpp index f38c38ee12..2717afa8c5 100644 --- a/src/gromacs/commandline/tests/pargs.cpp +++ b/src/gromacs/commandline/tests/pargs.cpp @@ -78,7 +78,7 @@ class ParseCommonArgsTest : public ::testing::Test : oenv_(nullptr), fileCount_(0) { } - virtual ~ParseCommonArgsTest() + ~ParseCommonArgsTest() override { output_env_done(oenv_); } diff --git a/src/gromacs/ewald/tests/testhardwarecontexts.h b/src/gromacs/ewald/tests/testhardwarecontexts.h index 88f45342b9..7918b005e4 100644 --- a/src/gromacs/ewald/tests/testhardwarecontexts.h +++ b/src/gromacs/ewald/tests/testhardwarecontexts.h @@ -113,9 +113,9 @@ class PmeTestEnvironment : public ::testing::Environment public: //! This is called by GTest framework once to query the hardware - virtual void SetUp(); + void SetUp() override; //! This is called by GTest framework once to clean up - virtual void TearDown(); + void TearDown() override; //! Get available hardware contexts. const TestHardwareContexts &getHardwareContexts() const {return hardwareContexts_; } }; diff --git a/src/gromacs/fft/tests/fft.cpp b/src/gromacs/fft/tests/fft.cpp index 3b9dd87ee2..ac55d38452 100644 --- a/src/gromacs/fft/tests/fft.cpp +++ b/src/gromacs/fft/tests/fft.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -104,7 +104,7 @@ class BaseFFTTest : public ::testing::Test checker_.setDefaultTolerance( gmx::test::relativeToleranceAsPrecisionDependentUlp(10.0, 64, 512)); } - ~BaseFFTTest() + ~BaseFFTTest() override { gmx_fft_cleanup(); } @@ -121,7 +121,7 @@ class FFTTest : public BaseFFTTest FFTTest() : fft_(nullptr) { } - ~FFTTest() + ~FFTTest() override { if (fft_) { @@ -137,7 +137,7 @@ class ManyFFTTest : public BaseFFTTest ManyFFTTest() : fft_(nullptr) { } - ~ManyFFTTest() + ~ManyFFTTest() override { if (fft_) { @@ -161,7 +161,7 @@ class FFFTest3D : public BaseFFTTest FFFTest3D() : fft_(nullptr) { } - ~FFFTest3D() + ~FFFTest3D() override { if (fft_) { diff --git a/src/gromacs/fileio/gmxfio-xdr.h b/src/gromacs/fileio/gmxfio-xdr.h index bb9a6333d6..848e936c80 100644 --- a/src/gromacs/fileio/gmxfio-xdr.h +++ b/src/gromacs/fileio/gmxfio-xdr.h @@ -143,15 +143,15 @@ class FileIOXdrSerializer : public ISerializer public: explicit FileIOXdrSerializer(t_fileio *fio) : fio_(fio) {} - virtual bool reading() const; - - virtual void doBool(bool *value); - virtual void doUChar(unsigned char *value); - virtual void doInt(int *value); - virtual void doInt64(int64_t *value); - virtual void doFloat(float *value); - virtual void doDouble(double *value); - virtual void doString(std::string *value); + bool reading() const override; + + void doBool(bool *value) override; + void doUChar(unsigned char *value) override; + void doInt(int *value) override; + void doInt64(int64_t *value) override; + void doFloat(float *value) override; + void doDouble(double *value) override; + void doString(std::string *value) override; private: t_fileio *fio_; diff --git a/src/gromacs/fileio/tests/confio.cpp b/src/gromacs/fileio/tests/confio.cpp index 23e8f91a39..52ba9201cd 100644 --- a/src/gromacs/fileio/tests/confio.cpp +++ b/src/gromacs/fileio/tests/confio.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -89,7 +89,7 @@ class StructureIORoundtripTest : public gmx::test::StringTestBase, testFilename_ = fileManager_.getTemporaryFilePath(getFileSuffix("test")); } - ~StructureIORoundtripTest() + ~StructureIORoundtripTest() override { if (testTop_ != nullptr) { diff --git a/src/gromacs/fileio/timecontrol.cpp b/src/gromacs/fileio/timecontrol.cpp index 06c211e5da..1d31fb31f5 100644 --- a/src/gromacs/fileio/timecontrol.cpp +++ b/src/gromacs/fileio/timecontrol.cpp @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. - * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. diff --git a/src/gromacs/gmxana/pp2shift.cpp b/src/gromacs/gmxana/pp2shift.cpp index 46eab8301c..13c9276c75 100644 --- a/src/gromacs/gmxana/pp2shift.cpp +++ b/src/gromacs/gmxana/pp2shift.cpp @@ -3,7 +3,7 @@ * * Copyright (c) 1991-2000, University of Groningen, The Netherlands. * Copyright (c) 2001-2004, The GROMACS development team. - * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. diff --git a/src/gromacs/gmxpreprocess/insert-molecules.cpp b/src/gromacs/gmxpreprocess/insert-molecules.cpp index d08dc68286..09e15415a0 100644 --- a/src/gromacs/gmxpreprocess/insert-molecules.cpp +++ b/src/gromacs/gmxpreprocess/insert-molecules.cpp @@ -335,17 +335,17 @@ class InsertMolecules : public ICommandLineOptionsModule, public ITopologyProvid } // From ITopologyProvider - virtual gmx_mtop_t *getTopology(bool /*required*/) { return &top_; } - virtual int getAtomCount() { return 0; } + gmx_mtop_t *getTopology(bool /*required*/) override { return &top_; } + int getAtomCount() override { return 0; } // From ICommandLineOptionsModule - virtual void init(CommandLineModuleSettings * /*settings*/) + void init(CommandLineModuleSettings * /*settings*/) override { } - virtual void initOptions(IOptionsContainer *options, - ICommandLineOptionsModuleSettings *settings); - virtual void optionsFinished(); - virtual int run(); + void initOptions(IOptionsContainer *options, + ICommandLineOptionsModuleSettings *settings) override; + void optionsFinished() override; + int run() override; private: SelectionCollection selections_; diff --git a/src/gromacs/gmxpreprocess/readir.cpp b/src/gromacs/gmxpreprocess/readir.cpp index 131b45c503..4e3701703c 100644 --- a/src/gromacs/gmxpreprocess/readir.cpp +++ b/src/gromacs/gmxpreprocess/readir.cpp @@ -1718,7 +1718,7 @@ class MdpErrorHandler : public gmx::IKeyValueTreeErrorHandler mapping_ = &mapping; } - virtual bool onError(gmx::UserInputError *ex, const gmx::KeyValueTreePath &context) + bool onError(gmx::UserInputError *ex, const gmx::KeyValueTreePath &context) override { ex->prependContext(gmx::formatString("Error in mdp option \"%s\":", getOptionName(context).c_str())); diff --git a/src/gromacs/gmxpreprocess/tests/readir.cpp b/src/gromacs/gmxpreprocess/tests/readir.cpp index e9c7f0fa9f..e4645b9c1f 100644 --- a/src/gromacs/gmxpreprocess/tests/readir.cpp +++ b/src/gromacs/gmxpreprocess/tests/readir.cpp @@ -78,7 +78,7 @@ class GetIrTest : public ::testing::Test snew(opts_.include, STRLEN); snew(opts_.define, STRLEN); } - ~GetIrTest() + ~GetIrTest() override { done_inputrec_strings(); sfree(opts_.include); diff --git a/src/gromacs/gpu_utils/tests/gputest.h b/src/gromacs/gpu_utils/tests/gputest.h index ec592cb7df..3ee5e443f5 100644 --- a/src/gromacs/gpu_utils/tests/gputest.h +++ b/src/gromacs/gpu_utils/tests/gputest.h @@ -61,7 +61,7 @@ class GpuTest : public ::testing::Test //! Constructor GpuTest(); //! Destructor - ~GpuTest(); + ~GpuTest() override; //! Getter for convenience in testing bool haveValidGpus() const; }; diff --git a/src/gromacs/mdlib/tests/shake.cpp b/src/gromacs/mdlib/tests/shake.cpp index 294dd7b3e0..459851e17b 100644 --- a/src/gromacs/mdlib/tests/shake.cpp +++ b/src/gromacs/mdlib/tests/shake.cpp @@ -136,7 +136,7 @@ class ShakeTest : public ::testing::Test public: /*! \brief Set up data for test cases to use when constructing their input */ - void SetUp() + void SetUp() override { inverseMassesDatabase_.push_back(2.0); inverseMassesDatabase_.push_back(3.0); diff --git a/src/gromacs/mdrunutility/mdmodules.cpp b/src/gromacs/mdrunutility/mdmodules.cpp index b867b42640..7cb47cb58c 100644 --- a/src/gromacs/mdrunutility/mdmodules.cpp +++ b/src/gromacs/mdrunutility/mdmodules.cpp @@ -74,12 +74,12 @@ class MDModules::Impl : public IMDOutputProvider } // From IMDOutputProvider - virtual void initOutput(FILE *fplog, int nfile, const t_filenm fnm[], - bool bAppendFiles, const gmx_output_env_t *oenv) + void initOutput(FILE *fplog, int nfile, const t_filenm fnm[], + bool bAppendFiles, const gmx_output_env_t *oenv) override { field_->outputProvider()->initOutput(fplog, nfile, fnm, bAppendFiles, oenv); } - virtual void finishOutput() + void finishOutput() override { field_->outputProvider()->finishOutput(); } diff --git a/src/gromacs/mdrunutility/tests/threadaffinitytest.h b/src/gromacs/mdrunutility/tests/threadaffinitytest.h index 31b47ef60c..dae1133158 100644 --- a/src/gromacs/mdrunutility/tests/threadaffinitytest.h +++ b/src/gromacs/mdrunutility/tests/threadaffinitytest.h @@ -62,11 +62,11 @@ class MockThreadAffinityAccess : public IThreadAffinityAccess { public: MockThreadAffinityAccess(); - ~MockThreadAffinityAccess(); + ~MockThreadAffinityAccess() override; void setSupported(bool supported) { supported_ = supported; } - virtual bool isThreadAffinitySupported() const { return supported_; } + bool isThreadAffinitySupported() const override { return supported_; } MOCK_METHOD1(setCurrentThreadAffinityToCore, bool(int core)); private: diff --git a/src/gromacs/mdrunutility/threadaffinity.cpp b/src/gromacs/mdrunutility/threadaffinity.cpp index d3a881f36f..e71fa8e20e 100644 --- a/src/gromacs/mdrunutility/threadaffinity.cpp +++ b/src/gromacs/mdrunutility/threadaffinity.cpp @@ -70,11 +70,11 @@ namespace class DefaultThreadAffinityAccess : public gmx::IThreadAffinityAccess { public: - virtual bool isThreadAffinitySupported() const + bool isThreadAffinitySupported() const override { return tMPI_Thread_setaffinity_support() == TMPI_SETAFFINITY_SUPPORT_YES; } - virtual bool setCurrentThreadAffinityToCore(int core) + bool setCurrentThreadAffinityToCore(int core) override { const int ret = tMPI_Thread_setaffinity_single(tMPI_Thread_self(), core); return ret == 0; diff --git a/src/gromacs/onlinehelp/helptopic.h b/src/gromacs/onlinehelp/helptopic.h index 36cae32980..c684020749 100644 --- a/src/gromacs/onlinehelp/helptopic.h +++ b/src/gromacs/onlinehelp/helptopic.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -68,13 +68,13 @@ namespace gmx class AbstractSimpleHelpTopic : public IHelpTopic { public: - virtual const char *name() const = 0; - virtual const char *title() const = 0; + const char *name() const override = 0; + const char *title() const override = 0; - virtual bool hasSubTopics() const; - virtual const IHelpTopic *findSubTopic(const char *name) const; + bool hasSubTopics() const override; + const IHelpTopic *findSubTopic(const char *name) const override; - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; protected: /*! \brief @@ -107,15 +107,15 @@ class AbstractCompositeHelpTopic : public IHelpTopic { public: AbstractCompositeHelpTopic(); - virtual ~AbstractCompositeHelpTopic(); + ~AbstractCompositeHelpTopic() override; - virtual const char *name() const = 0; - virtual const char *title() const = 0; + const char *name() const override = 0; + const char *title() const override = 0; - virtual bool hasSubTopics() const; - virtual const IHelpTopic *findSubTopic(const char *name) const; + bool hasSubTopics() const override; + const IHelpTopic *findSubTopic(const char *name) const override; - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; /*! \brief * Adds a given topic as a subtopic of this topic. @@ -224,17 +224,17 @@ template class SimpleHelpTopic : public AbstractSimpleHelpTopic { public: - virtual const char *name() const + const char *name() const override { return HelpText::name; } - virtual const char *title() const + const char *title() const override { return HelpText::title; } protected: - virtual std::string helpText() const + std::string helpText() const override { return joinStrings(HelpText::text, "\n"); } @@ -259,19 +259,19 @@ class CompositeHelpTopic : public AbstractCompositeHelpTopic public: // copydocs are needed with Doxygen 1.8.10, but not 1.8.5... //! \copydoc gmx::AbstractCompositeHelpTopic::name() - virtual const char *name() const + const char *name() const override { return HelpText::name; } //! \copydoc gmx::AbstractCompositeHelpTopic::title() - virtual const char *title() const + const char *title() const override { return HelpText::title; } protected: //! \copydoc gmx::AbstractCompositeHelpTopic::helpText() - virtual std::string helpText() const + std::string helpText() const override { return joinStrings(HelpText::text, "\n"); } diff --git a/src/gromacs/onlinehelp/helpwritercontext.cpp b/src/gromacs/onlinehelp/helpwritercontext.cpp index 61bc1b9168..831b22fccf 100644 --- a/src/gromacs/onlinehelp/helpwritercontext.cpp +++ b/src/gromacs/onlinehelp/helpwritercontext.cpp @@ -244,11 +244,11 @@ class WrapperToString : public IWrapper { } - virtual TextLineWrapperSettings &settings() + TextLineWrapperSettings &settings() override { return wrapper_.settings(); } - virtual void wrap(const std::string &text) + void wrap(const std::string &text) override { result_.append(wrapper_.wrapToString(text)); } @@ -272,11 +272,11 @@ class WrapperToVector : public IWrapper { } - virtual TextLineWrapperSettings &settings() + TextLineWrapperSettings &settings() override { return wrapper_.settings(); } - virtual void wrap(const std::string &text) + void wrap(const std::string &text) override { const std::vector &lines = wrapper_.wrapToVector(text); result_.insert(result_.end(), lines.begin(), lines.end()); diff --git a/src/gromacs/onlinehelp/tests/mock_helptopic.h b/src/gromacs/onlinehelp/tests/mock_helptopic.h index e55f03eac5..5151087245 100644 --- a/src/gromacs/onlinehelp/tests/mock_helptopic.h +++ b/src/gromacs/onlinehelp/tests/mock_helptopic.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -61,10 +61,10 @@ class MockHelpTopic : public AbstractCompositeHelpTopic const char *name, const char *title, const char *text); MockHelpTopic(const char *name, const char *title, const char *text); - virtual ~MockHelpTopic(); + ~MockHelpTopic() override; - virtual const char *name() const; - virtual const char *title() const; + const char *name() const override; + const char *title() const override; MOCK_CONST_METHOD1(writeHelp, void(const HelpWriterContext &context)); @@ -84,7 +84,7 @@ class MockHelpTopic : public AbstractCompositeHelpTopic } private: - virtual std::string helpText() const; + std::string helpText() const override; const char *name_; const char *title_; diff --git a/src/gromacs/options/abstractsection.h b/src/gromacs/options/abstractsection.h index e56bfb4ca1..e62f26fcbf 100644 --- a/src/gromacs/options/abstractsection.h +++ b/src/gromacs/options/abstractsection.h @@ -101,7 +101,7 @@ class AbstractOptionSectionHandle : public IOptionsContainerWithSections public: // From IOptionsContainer //! \copydoc IOptionsContainer::addGroup() - virtual IOptionsContainer &addGroup(); + IOptionsContainer &addGroup() override; protected: //! \cond libapi @@ -132,10 +132,10 @@ class AbstractOptionSectionHandle : public IOptionsContainerWithSections private: // From IOptionsContainerWithSections - virtual internal::OptionSectionImpl * - addSectionImpl(const AbstractOptionSection §ion); + internal::OptionSectionImpl * + addSectionImpl(const AbstractOptionSection §ion) override; // From IOptionsContainer - virtual OptionInfo *addOptionImpl(const AbstractOption &settings); + OptionInfo *addOptionImpl(const AbstractOption &settings) override; /*! \brief * Implementation helper for the template method. diff --git a/src/gromacs/options/basicoptions.h b/src/gromacs/options/basicoptions.h index c409787eff..6f3b73a3fe 100644 --- a/src/gromacs/options/basicoptions.h +++ b/src/gromacs/options/basicoptions.h @@ -102,8 +102,8 @@ class BooleanOption : public OptionTemplate private: //! Creates a BooleanOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; }; /*! \brief @@ -145,8 +145,8 @@ class IntegerOption : public OptionTemplate private: //! Creates an IntegerOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; /*! \brief * Needed to initialize IntegerOptionStorage from this class without @@ -175,8 +175,8 @@ class Int64Option : public OptionTemplate private: //! Creates an Int64OptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; /*! \brief * Needed to initialize Int64OptionStorage from this class without @@ -221,8 +221,8 @@ class DoubleOption : public OptionTemplate private: //! Creates a DoubleOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; bool bTime_; @@ -260,8 +260,8 @@ class FloatOption : public OptionTemplate private: //! Creates a FloatOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; bool bTime_; @@ -358,8 +358,8 @@ class StringOption : public OptionTemplate private: //! Creates a StringOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; const char *const *enumValues_; int enumValuesCount_; @@ -410,9 +410,9 @@ class EnumIndexStore : public IOptionValueStore } } - virtual int valueCount() { return static_cast(intStore_.size()); } - virtual ArrayRef values() { return intStore_; } - virtual void clear() + int valueCount() override { return static_cast(intStore_.size()); } + ArrayRef values() override { return intStore_; } + void clear() override { intStore_.clear(); if (storeVector_ != nullptr) @@ -420,7 +420,7 @@ class EnumIndexStore : public IOptionValueStore storeVector_->clear(); } } - virtual void reserve(size_t count) + void reserve(size_t count) override { intStore_.reserve(intStore_.size() + count); if (storeVector_ != nullptr) @@ -428,7 +428,7 @@ class EnumIndexStore : public IOptionValueStore storeVector_->reserve(storeVector_->size() + count); } } - virtual void append(const int &value) + void append(const int &value) override { const size_t count = intStore_.size(); intStore_.push_back(value); @@ -569,8 +569,8 @@ class EnumOption : public OptionTemplate > } //! Creates a EnumOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer & /*managers*/) const + AbstractOptionStorage *createStorage( + const OptionManagerContainer & /*managers*/) const override { // TODO: Implement storeCount() if necessary. return internal::createEnumOptionStorage( diff --git a/src/gromacs/options/basicoptionstorage.h b/src/gromacs/options/basicoptionstorage.h index 4b41bc8e4c..847af90eb7 100644 --- a/src/gromacs/options/basicoptionstorage.h +++ b/src/gromacs/options/basicoptionstorage.h @@ -72,15 +72,15 @@ class BooleanOptionStorage : public OptionStorageTemplateSimple { } - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const { return "bool"; } - virtual std::string formatSingleValue(const bool &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return "bool"; } + std::string formatSingleValue(const bool &value) const override; //! \copydoc BooleanOptionInfo::defaultValue() bool defaultValue() const { return valueCount() > 0 && values()[0]; } private: - virtual void initConverter(ConverterType *converter); + void initConverter(ConverterType *converter) override; BooleanOptionInfo info_; }; @@ -97,14 +97,14 @@ class IntegerOptionStorage : public OptionStorageTemplateSimple { } - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return isVector() ? "vector" : "int"; } - virtual std::string formatSingleValue(const int &value) const; + std::string formatSingleValue(const int &value) const override; private: - virtual void initConverter(ConverterType *converter); - virtual void processSetValues(ValueList *values); + void initConverter(ConverterType *converter) override; + void processSetValues(ValueList *values) override; IntegerOptionInfo info_; }; @@ -121,12 +121,12 @@ class Int64OptionStorage : public OptionStorageTemplateSimple { } - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const { return "int"; } - virtual std::string formatSingleValue(const int64_t &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return "int"; } + std::string formatSingleValue(const int64_t &value) const override; private: - virtual void initConverter(ConverterType *converter); + void initConverter(ConverterType *converter) override; Int64OptionInfo info_; }; @@ -140,9 +140,9 @@ class DoubleOptionStorage : public OptionStorageTemplateSimple //! \copydoc IntegerOptionStorage::IntegerOptionStorage() explicit DoubleOptionStorage(const DoubleOption &settings); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const; - virtual std::string formatSingleValue(const double &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override; + std::string formatSingleValue(const double &value) const override; //! \copydoc DoubleOptionInfo::isTime() bool isTime() const { return bTime_; } @@ -150,9 +150,9 @@ class DoubleOptionStorage : public OptionStorageTemplateSimple void setScaleFactor(double factor); private: - virtual void initConverter(ConverterType *converter); - virtual double processValue(const double &value) const; - virtual void processSetValues(ValueList *values); + void initConverter(ConverterType *converter) override; + double processValue(const double &value) const override; + void processSetValues(ValueList *values) override; DoubleOptionInfo info_; bool bTime_; @@ -168,9 +168,9 @@ class FloatOptionStorage : public OptionStorageTemplateSimple //! \copydoc IntegerOptionStorage::IntegerOptionStorage() explicit FloatOptionStorage(const FloatOption &settings); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const; - virtual std::string formatSingleValue(const float &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override; + std::string formatSingleValue(const float &value) const override; //! \copydoc DoubleOptionStorage::isTime() bool isTime() const { return bTime_; } @@ -178,9 +178,9 @@ class FloatOptionStorage : public OptionStorageTemplateSimple void setScaleFactor(double factor); private: - virtual void initConverter(ConverterType *converter); - virtual float processValue(const float &value) const; - virtual void processSetValues(ValueList *values); + void initConverter(ConverterType *converter) override; + float processValue(const float &value) const override; + void processSetValues(ValueList *values) override; FloatOptionInfo info_; bool bTime_; @@ -196,18 +196,18 @@ class StringOptionStorage : public OptionStorageTemplateSimple //! \copydoc DoubleOptionStorage::DoubleOptionStorage() explicit StringOptionStorage(const StringOption &settings); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return allowed_.empty() ? "string" : "enum"; } - virtual std::string formatExtraDescription() const; - virtual std::string formatSingleValue(const std::string &value) const; + std::string formatExtraDescription() const override; + std::string formatSingleValue(const std::string &value) const override; //! \copydoc StringOptionInfo::allowedValues() const ValueList &allowedValues() const { return allowed_; } private: - virtual void initConverter(ConverterType *converter); - virtual std::string processValue(const std::string &value) const; + void initConverter(ConverterType *converter) override; + std::string processValue(const std::string &value) const override; StringOptionInfo info_; ValueList allowed_; @@ -240,17 +240,17 @@ class EnumOptionStorage : public OptionStorageTemplateSimple int defaultValue, int defaultValueIfSet, StorePointer store); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const { return "enum"; } - virtual std::string formatExtraDescription() const; - virtual std::string formatSingleValue(const int &value) const; - virtual Variant normalizeValue(const int &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return "enum"; } + std::string formatExtraDescription() const override; + std::string formatSingleValue(const int &value) const override; + Variant normalizeValue(const int &value) const override; //! \copydoc EnumOptionInfo::allowedValues() const std::vector &allowedValues() const { return allowed_; } private: - virtual void initConverter(ConverterType *converter); + void initConverter(ConverterType *converter) override; EnumOptionInfo info_; std::vector allowed_; diff --git a/src/gromacs/options/filenameoption.h b/src/gromacs/options/filenameoption.h index c245326e61..d792dab42d 100644 --- a/src/gromacs/options/filenameoption.h +++ b/src/gromacs/options/filenameoption.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015,2017, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -198,8 +198,8 @@ class FileNameOption : public OptionTemplate using MyBase::defaultValueIfSet; //! Creates a FileNameOptionStorage object. - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; OptionFileType optionType_; int legacyType_; diff --git a/src/gromacs/options/filenameoptionmanager.h b/src/gromacs/options/filenameoptionmanager.h index a8182162b2..b1a42a8057 100644 --- a/src/gromacs/options/filenameoptionmanager.h +++ b/src/gromacs/options/filenameoptionmanager.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2014,2015, by the GROMACS development team, led by + * Copyright (c) 2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -83,7 +83,7 @@ class FileNameOptionManager : public IOptionManager { public: FileNameOptionManager(); - virtual ~FileNameOptionManager(); + ~FileNameOptionManager() override; /*! \brief * Redirects file existence checks. diff --git a/src/gromacs/options/filenameoptionstorage.h b/src/gromacs/options/filenameoptionstorage.h index 76f18273b8..16fc4ef3c3 100644 --- a/src/gromacs/options/filenameoptionstorage.h +++ b/src/gromacs/options/filenameoptionstorage.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -70,10 +70,10 @@ class FileNameOptionStorage : public OptionStorageTemplateSimple FileNameOptionStorage(const FileNameOption &settings, FileNameOptionManager *manager); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const; - virtual std::string formatExtraDescription() const; - virtual std::string formatSingleValue(const std::string &value) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override; + std::string formatExtraDescription() const override; + std::string formatSingleValue(const std::string &value) const override; //! \copydoc FileNameOptionInfo::isInputFile() bool isInputFile() const { return bRead_ && !bWrite_; } @@ -100,9 +100,9 @@ class FileNameOptionStorage : public OptionStorageTemplateSimple ArrayRef fileTypes() const; private: - virtual void initConverter(ConverterType *converter); - virtual std::string processValue(const std::string &value) const; - virtual void processAll(); + void initConverter(ConverterType *converter) override; + std::string processValue(const std::string &value) const override; + void processAll() override; FileNameOptionInfo info_; FileNameOptionManager *manager_; diff --git a/src/gromacs/options/ioptionscontainerwithsections.h b/src/gromacs/options/ioptionscontainerwithsections.h index 29d8f9754c..a9c04118ea 100644 --- a/src/gromacs/options/ioptionscontainerwithsections.h +++ b/src/gromacs/options/ioptionscontainerwithsections.h @@ -95,7 +95,7 @@ class IOptionsContainerWithSections : public IOptionsContainer protected: // Disallow deletion through the interface. // (no need for the virtual, but some compilers warn otherwise) - virtual ~IOptionsContainerWithSections(); + ~IOptionsContainerWithSections() override; /*! \brief * Adds a section to this container. diff --git a/src/gromacs/options/options-impl.h b/src/gromacs/options/options-impl.h index d06ffb48d3..acaccc8c26 100644 --- a/src/gromacs/options/options-impl.h +++ b/src/gromacs/options/options-impl.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015,2016, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -95,8 +95,8 @@ class OptionSectionImpl : public IOptionsContainerWithSections explicit Group(OptionSectionImpl *parent) : parent_(parent) {} // From IOptionsContainer - virtual IOptionsContainer &addGroup(); - virtual OptionInfo *addOptionImpl(const AbstractOption &settings); + IOptionsContainer &addGroup() override; + OptionInfo *addOptionImpl(const AbstractOption &settings) override; //! Containing options object. OptionSectionImpl *parent_; @@ -131,11 +131,11 @@ class OptionSectionImpl : public IOptionsContainerWithSections } // From IOptionsContainerWithSections - virtual OptionSectionImpl *addSectionImpl(const AbstractOptionSection §ion); + OptionSectionImpl *addSectionImpl(const AbstractOptionSection §ion) override; // From IOptionsContainer - virtual IOptionsContainer &addGroup(); - virtual OptionInfo *addOptionImpl(const AbstractOption &settings); + IOptionsContainer &addGroup() override; + OptionInfo *addOptionImpl(const AbstractOption &settings) override; //! Returns section info object for this section. OptionSectionInfo &info() { return info_; } diff --git a/src/gromacs/options/options.h b/src/gromacs/options/options.h index a4ba843633..ae0a98c320 100644 --- a/src/gromacs/options/options.h +++ b/src/gromacs/options/options.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2014,2015,2016, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2014,2015,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -104,7 +104,7 @@ class Options : public IOptionsContainerWithSections public: //! Initializes an empty options root container. Options(); - ~Options(); + ~Options() override; /*! \brief * Adds an option manager. @@ -129,7 +129,7 @@ class Options : public IOptionsContainerWithSections void addManager(IOptionManager *manager); // From IOptionsContainer - virtual IOptionsContainer &addGroup(); + IOptionsContainer &addGroup() override; //! Returns a handle to the root section. OptionSectionInfo &rootSection(); @@ -154,10 +154,10 @@ class Options : public IOptionsContainerWithSections private: // From IOptionsContainerWithSections - virtual internal::OptionSectionImpl * - addSectionImpl(const AbstractOptionSection §ion); + internal::OptionSectionImpl * + addSectionImpl(const AbstractOptionSection §ion) override; // From IOptionsContainer - virtual OptionInfo *addOptionImpl(const AbstractOption &settings); + OptionInfo *addOptionImpl(const AbstractOption &settings) override; PrivateImplPointer impl_; diff --git a/src/gromacs/options/optionsection.cpp b/src/gromacs/options/optionsection.cpp index bfe7d107ea..80835ecf5e 100644 --- a/src/gromacs/options/optionsection.cpp +++ b/src/gromacs/options/optionsection.cpp @@ -48,9 +48,9 @@ namespace class OptionSectionStorage : public IOptionSectionStorage { public: - virtual void initStorage() {} - virtual void startSection() {} - virtual void finishSection() {} + void initStorage() override {} + void startSection() override {} + void finishSection() override {} }; } // namespace diff --git a/src/gromacs/options/optionsection.h b/src/gromacs/options/optionsection.h index 781829649a..aea85fcf20 100644 --- a/src/gromacs/options/optionsection.h +++ b/src/gromacs/options/optionsection.h @@ -71,7 +71,7 @@ class OptionSection : public AbstractOptionSection explicit OptionSection(const char *name) : AbstractOptionSection(name) {} private: - virtual std::unique_ptr createStorage() const; + std::unique_ptr createStorage() const override; }; /*! \brief diff --git a/src/gromacs/options/optionstoragetemplate.h b/src/gromacs/options/optionstoragetemplate.h index 43a745f1c4..5659fae120 100644 --- a/src/gromacs/options/optionstoragetemplate.h +++ b/src/gromacs/options/optionstoragetemplate.h @@ -98,11 +98,11 @@ class OptionStorageTemplate : public AbstractOptionStorage // the declarations are still included for clarity. // The various copydoc calls are needed with Doxygen 1.8.10, although // things work without with 1.8.5... - virtual std::string typeString() const = 0; + std::string typeString() const override = 0; //! \copydoc gmx::AbstractOptionStorage::valueCount() - virtual int valueCount() const { return store_->valueCount(); } + int valueCount() const override { return store_->valueCount(); } //! \copydoc gmx::AbstractOptionStorage::defaultValues() - virtual std::vector defaultValues() const; + std::vector defaultValues() const override; /*! \copydoc gmx::AbstractOptionStorage::defaultValuesAsStrings() * * OptionStorageTemplate implements handling of defaultValueIfSet() @@ -110,7 +110,7 @@ class OptionStorageTemplate : public AbstractOptionStorage * Derived classes must implement formatSingleValue() to provide the * actual formatting for a value of type \p T. */ - virtual std::vector defaultValuesAsStrings() const; + std::vector defaultValuesAsStrings() const override; protected: //! Smart pointer for managing the final storage interface. @@ -141,7 +141,7 @@ class OptionStorageTemplate : public AbstractOptionStorage StorePointer store); //! \copydoc gmx::AbstractOptionStorage::clearSet() - virtual void clearSet(); + void clearSet() override; /*! \copydoc gmx::AbstractOptionStorage::convertValue() * * Derived classes should call addValue() after they have converted @@ -151,7 +151,7 @@ class OptionStorageTemplate : public AbstractOptionStorage * should be considered whether the implementation can be made strongly * exception safe. */ - virtual void convertValue(const Variant &value) = 0; + void convertValue(const Variant &value) override = 0; /*! \brief * Processes values for a set after all have been converted. * @@ -177,12 +177,12 @@ class OptionStorageTemplate : public AbstractOptionStorage * override that method instead of this one if set value processing is * necessary. */ - virtual void processSet(); + void processSet() override; /*! \copydoc gmx::AbstractOptionStorage::processAll() * * The implementation in OptionStorageTemplate does nothing. */ - virtual void processAll() + void processAll() override { } /*! \brief @@ -327,8 +327,8 @@ class OptionStorageTemplateSimple : public OptionStorageTemplate { } - virtual std::vector - normalizeValues(const std::vector &values) const + std::vector + normalizeValues(const std::vector &values) const override { const_cast(this)->ensureConverterInitialized(); std::vector result; @@ -373,7 +373,7 @@ class OptionStorageTemplateSimple : public OptionStorageTemplate } private: - virtual void convertValue(const Variant &variant) + void convertValue(const Variant &variant) override { ensureConverterInitialized(); this->addValue(processValue(converter_.convert(variant))); diff --git a/src/gromacs/options/optionsvisitor.h b/src/gromacs/options/optionsvisitor.h index 0f1adf33df..2b224449ba 100644 --- a/src/gromacs/options/optionsvisitor.h +++ b/src/gromacs/options/optionsvisitor.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2014,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2014,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -93,16 +93,16 @@ template class OptionsTypeVisitor : public OptionsVisitor { public: - virtual ~OptionsTypeVisitor() {} + ~OptionsTypeVisitor() override {} - virtual void visitSection(const OptionSectionInfo §ion) = 0; + void visitSection(const OptionSectionInfo §ion) override = 0; /*! \brief * Called for each option of type \p InfoType. */ virtual void visitOptionType(const InfoType &option) = 0; private: - virtual void visitOption(const OptionInfo &option) + void visitOption(const OptionInfo &option) override { const InfoType *subtype = option.toType(); if (subtype != NULL) @@ -202,16 +202,16 @@ template class OptionsModifyingTypeVisitor : public OptionsModifyingVisitor { public: - virtual ~OptionsModifyingTypeVisitor() {} + ~OptionsModifyingTypeVisitor() override {} - virtual void visitSection(OptionSectionInfo *section) = 0; + void visitSection(OptionSectionInfo *section) override = 0; /*! \brief * Called for each option of type \p InfoType. */ virtual void visitOptionType(InfoType *option) = 0; private: - virtual void visitOption(OptionInfo *option) + void visitOption(OptionInfo *option) override { InfoType *subtype = option->toType(); if (subtype != nullptr) diff --git a/src/gromacs/options/repeatingsection.h b/src/gromacs/options/repeatingsection.h index 6d2a97384d..de1cbf6631 100644 --- a/src/gromacs/options/repeatingsection.h +++ b/src/gromacs/options/repeatingsection.h @@ -91,7 +91,7 @@ class RepeatingOptionSection : public AbstractOptionSection } private: - virtual std::unique_ptr createStorage() const; + std::unique_ptr createStorage() const override; std::vector *values_; @@ -115,15 +115,15 @@ class RepeatingOptionSectionStorage : public IOptionSectionStorage { } - virtual void initStorage() + void initStorage() override { defaultValues_ = currentData_; } - virtual void startSection() + void startSection() override { resetSection(); } - virtual void finishSection() + void finishSection() override { store_->append(currentData_); resetSection(); diff --git a/src/gromacs/options/tests/abstractoptionstorage.cpp b/src/gromacs/options/tests/abstractoptionstorage.cpp index 1cfab3a8a6..3360752773 100644 --- a/src/gromacs/options/tests/abstractoptionstorage.cpp +++ b/src/gromacs/options/tests/abstractoptionstorage.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2016, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -103,20 +103,20 @@ class MockOptionStorage : public gmx::OptionStorageTemplate using MyBase::addValue; using MyBase::commitValues; - virtual gmx::OptionInfo &optionInfo() { return info_; } + gmx::OptionInfo &optionInfo() override { return info_; } // These are not used. - virtual std::string typeString() const { return "mock"; } - virtual std::string formatSingleValue(const std::string & /*value*/) const + std::string typeString() const override { return "mock"; } + std::string formatSingleValue(const std::string & /*value*/) const override { return ""; } - virtual std::vector - normalizeValues(const std::vector &values) const + std::vector + normalizeValues(const std::vector &values) const override { return values; } - virtual void convertValue(const gmx::Variant &value) + void convertValue(const gmx::Variant &value) override { convertValue(value.cast()); } @@ -147,8 +147,8 @@ class MockOption : public gmx::OptionTemplate } private: - virtual gmx::AbstractOptionStorage *createStorage( - const gmx::OptionManagerContainer & /*managers*/) const + gmx::AbstractOptionStorage *createStorage( + const gmx::OptionManagerContainer & /*managers*/) const override { return new MockOptionStorage(*this); } diff --git a/src/gromacs/options/timeunitmanager.cpp b/src/gromacs/options/timeunitmanager.cpp index c5557c920a..92291120e1 100644 --- a/src/gromacs/options/timeunitmanager.cpp +++ b/src/gromacs/options/timeunitmanager.cpp @@ -192,14 +192,14 @@ class TimeOptionScaler : public OptionsModifyingTypeVisitorisTime()) { diff --git a/src/gromacs/options/timeunitmanager.h b/src/gromacs/options/timeunitmanager.h index 78bcaf5851..9e23bdea8b 100644 --- a/src/gromacs/options/timeunitmanager.h +++ b/src/gromacs/options/timeunitmanager.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -183,9 +183,9 @@ class TimeUnitBehavior : public IOptionsBehavior void addTimeUnitOption(IOptionsContainer *options, const char *name); // From IOptionsBehavior - virtual void initBehavior(Options * /*options*/) {} - virtual void optionsFinishing(Options *options); - virtual void optionsFinished() {} + void initBehavior(Options * /*options*/) override {} + void optionsFinishing(Options *options) override; + void optionsFinished() override {} private: TimeUnit timeUnit_; diff --git a/src/gromacs/options/treesupport.cpp b/src/gromacs/options/treesupport.cpp index 9edaaa8a5b..bacc788d34 100644 --- a/src/gromacs/options/treesupport.cpp +++ b/src/gromacs/options/treesupport.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2016,2017, by the GROMACS development team, led by + * Copyright (c) 2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -179,7 +179,7 @@ class TreeCheckHelper : private OptionsVisitor } private: - virtual void visitSection(const OptionSectionInfo §ion) + void visitSection(const OptionSectionInfo §ion) override { const std::string &name = section.name(); if (currentObject_->keyExists(name)) @@ -196,7 +196,7 @@ class TreeCheckHelper : private OptionsVisitor currentKnownNames_ = parentKnownNames; } } - virtual void visitOption(const OptionInfo &option) + void visitOption(const OptionInfo &option) override { const std::string &name = option.name(); if (currentObject_->keyExists(name)) @@ -231,7 +231,7 @@ class TreeAdjustHelper : private OptionsVisitor } private: - virtual void visitSection(const OptionSectionInfo §ion) + void visitSection(const OptionSectionInfo §ion) override { const std::string &name = section.name(); auto parentBuilder = currentObjectBuilder_; @@ -245,7 +245,7 @@ class TreeAdjustHelper : private OptionsVisitor currentSourceObject_ = parentObject; currentObjectBuilder_ = parentBuilder; } - virtual void visitOption(const OptionInfo &option) + void visitOption(const OptionInfo &option) override { const std::string &name = option.name(); if (currentSourceObject_ == nullptr || !currentSourceObject_->keyExists(name)) diff --git a/src/gromacs/options/valuestore.h b/src/gromacs/options/valuestore.h index e78c77ede3..9ba42e5868 100644 --- a/src/gromacs/options/valuestore.h +++ b/src/gromacs/options/valuestore.h @@ -59,9 +59,9 @@ class OptionValueStorePlain : public IOptionValueStore { } - virtual int valueCount() { return count_; } - virtual ArrayRef values() { return arrayRefFromArray(store_, count_); } - virtual void clear() + int valueCount() override { return count_; } + ArrayRef values() override { return arrayRefFromArray(store_, count_); } + void clear() override { count_ = 0; if (storeCount_ != nullptr) @@ -69,10 +69,10 @@ class OptionValueStorePlain : public IOptionValueStore *storeCount_ = count_; } } - virtual void reserve(size_t /*count*/) + void reserve(size_t /*count*/) override { } - virtual void append(const T &value) + void append(const T &value) override { store_[count_] = value; ++count_; @@ -94,14 +94,14 @@ class OptionValueStoreVector : public IOptionValueStore public: explicit OptionValueStoreVector(std::vector *store) : store_(store) {} - virtual int valueCount() { return static_cast(store_->size()); } - virtual ArrayRef values() { return *store_; } - virtual void clear() { store_->clear(); } - virtual void reserve(size_t count) + int valueCount() override { return static_cast(store_->size()); } + ArrayRef values() override { return *store_; } + void clear() override { store_->clear(); } + void reserve(size_t count) override { store_->reserve(store_->size() + count); } - virtual void append(const T &value) + void append(const T &value) override { store_->push_back(value); } @@ -119,23 +119,23 @@ class OptionValueStoreVector : public IOptionValueStore { } - virtual int valueCount() { return static_cast(store_->size()); } - virtual ArrayRef values() + int valueCount() override { return static_cast(store_->size()); } + ArrayRef values() override { return arrayRefFromArray(reinterpret_cast(boolStore_.data()), boolStore_.size()); } - virtual void clear() + void clear() override { boolStore_.clear(); store_->clear(); } - virtual void reserve(size_t count) + void reserve(size_t count) override { boolStore_.reserve(boolStore_.size() + count); store_->reserve(store_->size() + count); } - virtual void append(const bool &value) + void append(const bool &value) override { boolStore_.push_back({value}); store_->push_back(value); @@ -166,11 +166,11 @@ class OptionValueStoreNull : public IOptionValueStore public: OptionValueStoreNull() : store_(&vector_) {} - virtual int valueCount() { return store_.valueCount(); } - virtual ArrayRef values() { return store_.values(); } - virtual void clear() { store_.clear(); } - virtual void reserve(size_t count) { store_.reserve(count); } - virtual void append(const T &value) { store_.append(value); } + int valueCount() override { return store_.valueCount(); } + ArrayRef values() override { return store_.values(); } + void clear() override { store_.clear(); } + void reserve(size_t count) override { store_.reserve(count); } + void append(const T &value) override { store_.append(value); } private: std::vector vector_; diff --git a/src/gromacs/selection/selectionfileoption.h b/src/gromacs/selection/selectionfileoption.h index 369d6256db..df0612cbc8 100644 --- a/src/gromacs/selection/selectionfileoption.h +++ b/src/gromacs/selection/selectionfileoption.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2014, by the GROMACS development team, led by + * Copyright (c) 2012,2014,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -76,8 +76,8 @@ class SelectionFileOption : public AbstractOption explicit SelectionFileOption(const char *name); private: - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; }; /*! \libinternal \brief diff --git a/src/gromacs/selection/selectionfileoptionstorage.h b/src/gromacs/selection/selectionfileoptionstorage.h index 2d45bf55f1..5fe30043f9 100644 --- a/src/gromacs/selection/selectionfileoptionstorage.h +++ b/src/gromacs/selection/selectionfileoptionstorage.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2016, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -68,19 +68,19 @@ class SelectionFileOptionStorage : public AbstractOptionStorage SelectionFileOptionStorage(const SelectionFileOption &settings, SelectionOptionManager *manager); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const { return "file"; } - virtual int valueCount() const { return 0; } - virtual std::vector defaultValues() const { return {}; } - virtual std::vector defaultValuesAsStrings() const { return {}; } - virtual std::vector - normalizeValues(const std::vector &values) const { return values; } + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return "file"; } + int valueCount() const override { return 0; } + std::vector defaultValues() const override { return {}; } + std::vector defaultValuesAsStrings() const override { return {}; } + std::vector + normalizeValues(const std::vector &values) const override { return values; } private: - virtual void clearSet(); - virtual void convertValue(const Variant &value); - virtual void processSet(); - virtual void processAll() {} + void clearSet() override; + void convertValue(const Variant &value) override; + void processSet() override; + void processAll() override {} SelectionFileOptionInfo info_; SelectionOptionManager &manager_; diff --git a/src/gromacs/selection/selectionoption.h b/src/gromacs/selection/selectionoption.h index 2755f68c6f..531f8d72a6 100644 --- a/src/gromacs/selection/selectionoption.h +++ b/src/gromacs/selection/selectionoption.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -157,8 +157,8 @@ class SelectionOption : public OptionTemplate using MyBase::defaultValue; using MyBase::defaultValueIfSet; - virtual AbstractOptionStorage *createStorage( - const OptionManagerContainer &managers) const; + AbstractOptionStorage *createStorage( + const OptionManagerContainer &managers) const override; const char *defaultText_; SelectionFlags selectionFlags_; diff --git a/src/gromacs/selection/selectionoptionbehavior.h b/src/gromacs/selection/selectionoptionbehavior.h index 1768a01b46..2e58c69930 100644 --- a/src/gromacs/selection/selectionoptionbehavior.h +++ b/src/gromacs/selection/selectionoptionbehavior.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015,2016, by the GROMACS development team, led by + * Copyright (c) 2015,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -156,7 +156,7 @@ class SelectionOptionBehavior : public IOptionsBehavior */ SelectionOptionBehavior(SelectionCollection *selections, ITopologyProvider *topologyProvider); - ~SelectionOptionBehavior(); + ~SelectionOptionBehavior() override; /*! \brief * Add common options for controlling selections. @@ -167,9 +167,9 @@ class SelectionOptionBehavior : public IOptionsBehavior void initOptions(IOptionsContainer *options); // From IOptionsBehavior - virtual void initBehavior(Options *options); - virtual void optionsFinishing(Options * /*options*/) {} - virtual void optionsFinished(); + void initBehavior(Options *options) override; + void optionsFinishing(Options * /*options*/) override {} + void optionsFinished() override; private: class Impl; diff --git a/src/gromacs/selection/selectionoptionmanager.h b/src/gromacs/selection/selectionoptionmanager.h index dc2dbf36b3..06b1d35400 100644 --- a/src/gromacs/selection/selectionoptionmanager.h +++ b/src/gromacs/selection/selectionoptionmanager.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -87,7 +87,7 @@ class SelectionOptionManager : public IOptionManager * \throws std::bad_alloc if out of memory. */ explicit SelectionOptionManager(SelectionCollection *selections); - virtual ~SelectionOptionManager(); + ~SelectionOptionManager() override; /*! \brief * Adds a selection option to be managed. diff --git a/src/gromacs/selection/selectionoptionstorage.h b/src/gromacs/selection/selectionoptionstorage.h index 795bdffa4c..b6bdcc2f5d 100644 --- a/src/gromacs/selection/selectionoptionstorage.h +++ b/src/gromacs/selection/selectionoptionstorage.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015,2016, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -74,11 +74,11 @@ class SelectionOptionStorage : public OptionStorageTemplate SelectionOptionStorage(const SelectionOption &settings, SelectionOptionManager *manager); - virtual OptionInfo &optionInfo() { return info_; } - virtual std::string typeString() const { return "selection"; } - virtual std::string formatSingleValue(const Selection &value) const; - virtual std::vector - normalizeValues(const std::vector &values) const; + OptionInfo &optionInfo() override { return info_; } + std::string typeString() const override { return "selection"; } + std::string formatSingleValue(const Selection &value) const override; + std::vector + normalizeValues(const std::vector &values) const override; /*! \brief * Adds selections to the storage. @@ -128,9 +128,9 @@ class SelectionOptionStorage : public OptionStorageTemplate void setSelectionFlag(SelectionFlag flag, bool bSet); private: - virtual void convertValue(const Variant &value); - virtual void processSetValues(ValueList *values); - virtual void processAll(); + void convertValue(const Variant &value) override; + void processSetValues(ValueList *values) override; + void processAll() override; SelectionOptionInfo info_; SelectionOptionManager &manager_; diff --git a/src/gromacs/selection/selhelp.cpp b/src/gromacs/selection/selhelp.cpp index d807f042f4..c99411c744 100644 --- a/src/gromacs/selection/selhelp.cpp +++ b/src/gromacs/selection/selhelp.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2009,2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -552,17 +552,17 @@ class KeywordDetailsHelpTopic : public AbstractSimpleHelpTopic { } - virtual const char *name() const + const char *name() const override { return name_.c_str(); } - virtual const char *title() const + const char *title() const override { return method_.help.helpTitle; } protected: - virtual std::string helpText() const + std::string helpText() const override { return joinStrings(method_.help.help, method_.help.help + method_.help.nlhelp, "\n"); @@ -585,7 +585,7 @@ class KeywordsHelpTopic : public CompositeHelpTopic public: KeywordsHelpTopic(); - virtual void writeHelp(const HelpWriterContext &context) const; + void writeHelp(const HelpWriterContext &context) const override; private: /*! \brief diff --git a/src/gromacs/selection/tests/indexutil.cpp b/src/gromacs/selection/tests/indexutil.cpp index c91519e343..482d204a9d 100644 --- a/src/gromacs/selection/tests/indexutil.cpp +++ b/src/gromacs/selection/tests/indexutil.cpp @@ -83,7 +83,7 @@ class IndexBlockTest : public ::testing::Test { public: IndexBlockTest(); - ~IndexBlockTest(); + ~IndexBlockTest() override; void setGroup(int count, const int atoms[]); template @@ -373,7 +373,7 @@ class IndexMapTest : public ::testing::Test { public: IndexMapTest(); - ~IndexMapTest(); + ~IndexMapTest() override; void testInit(int atomCount, const int atoms[], e_index_t type); void testUpdate(int atomCount, const int atoms[], bool bMaskOnly, diff --git a/src/gromacs/selection/tests/poscalc.cpp b/src/gromacs/selection/tests/poscalc.cpp index a7fb303f1d..5bb798e04e 100644 --- a/src/gromacs/selection/tests/poscalc.cpp +++ b/src/gromacs/selection/tests/poscalc.cpp @@ -71,7 +71,7 @@ class PositionCalculationTest : public ::testing::Test { public: PositionCalculationTest(); - ~PositionCalculationTest(); + ~PositionCalculationTest() override; void generateCoordinates(); diff --git a/src/gromacs/selection/tests/selectioncollection.cpp b/src/gromacs/selection/tests/selectioncollection.cpp index f930a8af4e..ba13fc5288 100644 --- a/src/gromacs/selection/tests/selectioncollection.cpp +++ b/src/gromacs/selection/tests/selectioncollection.cpp @@ -78,7 +78,7 @@ class SelectionCollectionTest : public ::testing::Test static int s_debugLevel; SelectionCollectionTest(); - ~SelectionCollectionTest(); + ~SelectionCollectionTest() override; void setAtomCount(int natoms) { diff --git a/src/gromacs/trajectoryanalysis/analysismodule.cpp b/src/gromacs/trajectoryanalysis/analysismodule.cpp index 716368b974..18faf03b4b 100644 --- a/src/gromacs/trajectoryanalysis/analysismodule.cpp +++ b/src/gromacs/trajectoryanalysis/analysismodule.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -242,7 +242,7 @@ class TrajectoryAnalysisModuleDataBasic : public TrajectoryAnalysisModuleData const AnalysisDataParallelOptions &opt, const SelectionCollection &selections); - virtual void finish(); + void finish() override; }; TrajectoryAnalysisModuleDataBasic::TrajectoryAnalysisModuleDataBasic( diff --git a/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp b/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp index 4b93e7c42f..733ebdd2c3 100644 --- a/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp +++ b/src/gromacs/trajectoryanalysis/cmdlinerunner.cpp @@ -79,11 +79,11 @@ class RunnerModule : public ICommandLineOptionsModule { } - virtual void init(CommandLineModuleSettings * /*settings*/) {} - virtual void initOptions(IOptionsContainer *options, - ICommandLineOptionsModuleSettings *settings); - virtual void optionsFinished(); - virtual int run(); + void init(CommandLineModuleSettings * /*settings*/) override {} + void initOptions(IOptionsContainer *options, + ICommandLineOptionsModuleSettings *settings) override; + void optionsFinished() override; + int run() override; TrajectoryAnalysisModulePointer module_; TrajectoryAnalysisSettings settings_; diff --git a/src/gromacs/trajectoryanalysis/modules/angle.cpp b/src/gromacs/trajectoryanalysis/modules/angle.cpp index 6d2ebb181c..74ecf2df9c 100644 --- a/src/gromacs/trajectoryanalysis/modules/angle.cpp +++ b/src/gromacs/trajectoryanalysis/modules/angle.cpp @@ -272,17 +272,17 @@ class Angle : public TrajectoryAnalysisModule public: Angle(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void optionsFinished(TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void optionsFinished(TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: void initFromSelections(const SelectionList &sel1, diff --git a/src/gromacs/trajectoryanalysis/modules/distance.cpp b/src/gromacs/trajectoryanalysis/modules/distance.cpp index aab79943c2..6ad5ec183f 100644 --- a/src/gromacs/trajectoryanalysis/modules/distance.cpp +++ b/src/gromacs/trajectoryanalysis/modules/distance.cpp @@ -77,16 +77,16 @@ class Distance : public TrajectoryAnalysisModule public: Distance(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: SelectionList sel_; diff --git a/src/gromacs/trajectoryanalysis/modules/freevolume.cpp b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp index c6d9923184..0093c999a9 100644 --- a/src/gromacs/trajectoryanalysis/modules/freevolume.cpp +++ b/src/gromacs/trajectoryanalysis/modules/freevolume.cpp @@ -90,16 +90,16 @@ class FreeVolume : public TrajectoryAnalysisModule { public: FreeVolume(); - virtual ~FreeVolume() {} - - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + ~FreeVolume() override {} + + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; + void finishAnalysis(int nframes) override; + void writeOutput() override; private: std::string fnFreevol_; diff --git a/src/gromacs/trajectoryanalysis/modules/pairdist.cpp b/src/gromacs/trajectoryanalysis/modules/pairdist.cpp index 843e36655b..438111e0c0 100644 --- a/src/gromacs/trajectoryanalysis/modules/pairdist.cpp +++ b/src/gromacs/trajectoryanalysis/modules/pairdist.cpp @@ -106,19 +106,19 @@ class PairDistance : public TrajectoryAnalysisModule public: PairDistance(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual TrajectoryAnalysisModuleDataPointer startFrames( + TrajectoryAnalysisModuleDataPointer startFrames( const AnalysisDataParallelOptions &opt, - const SelectionCollection &selections); - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + const SelectionCollection &selections) override; + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: /*! \brief @@ -338,7 +338,7 @@ class PairDistanceModuleData : public TrajectoryAnalysisModuleData } } - virtual void finish() { finishDataHandles(); } + void finish() override { finishDataHandles(); } /*! \brief * Computes the number of positions in each group in \p refSel diff --git a/src/gromacs/trajectoryanalysis/modules/rdf.cpp b/src/gromacs/trajectoryanalysis/modules/rdf.cpp index 45079fc98f..e4fb8fef6e 100644 --- a/src/gromacs/trajectoryanalysis/modules/rdf.cpp +++ b/src/gromacs/trajectoryanalysis/modules/rdf.cpp @@ -117,22 +117,22 @@ class Rdf : public TrajectoryAnalysisModule public: Rdf(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void optionsFinished(TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); - virtual void initAfterFirstFrame(const TrajectoryAnalysisSettings &settings, - const t_trxframe &fr); - - virtual TrajectoryAnalysisModuleDataPointer startFrames( + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void optionsFinished(TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; + void initAfterFirstFrame(const TrajectoryAnalysisSettings &settings, + const t_trxframe &fr) override; + + TrajectoryAnalysisModuleDataPointer startFrames( const AnalysisDataParallelOptions &opt, - const SelectionCollection &selections); - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + const SelectionCollection &selections) override; + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: std::string fnRdf_; @@ -438,7 +438,7 @@ class RdfModuleData : public TrajectoryAnalysisModuleData surfaceDist2_.resize(surfaceGroupCount); } - virtual void finish() { finishDataHandles(); } + void finish() override { finishDataHandles(); } /*! \brief * Minimum distance to each surface group. diff --git a/src/gromacs/trajectoryanalysis/modules/sasa.cpp b/src/gromacs/trajectoryanalysis/modules/sasa.cpp index 41ce97d2f2..23547c7a75 100644 --- a/src/gromacs/trajectoryanalysis/modules/sasa.cpp +++ b/src/gromacs/trajectoryanalysis/modules/sasa.cpp @@ -288,19 +288,19 @@ class Sasa : public TrajectoryAnalysisModule public: Sasa(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual TrajectoryAnalysisModuleDataPointer startFrames( + TrajectoryAnalysisModuleDataPointer startFrames( const AnalysisDataParallelOptions &opt, - const SelectionCollection &selections); - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + const SelectionCollection &selections) override; + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: /*! \brief @@ -764,7 +764,7 @@ class SasaModuleData : public TrajectoryAnalysisModuleData res_a_.resize(residueCount); } - virtual void finish() { finishDataHandles(); } + void finish() override { finishDataHandles(); } //! Indices of the calculation selection positions selected for the frame. std::vector index_; diff --git a/src/gromacs/trajectoryanalysis/modules/select.cpp b/src/gromacs/trajectoryanalysis/modules/select.cpp index 15810ffa18..4ab86a7b11 100644 --- a/src/gromacs/trajectoryanalysis/modules/select.cpp +++ b/src/gromacs/trajectoryanalysis/modules/select.cpp @@ -93,7 +93,7 @@ class IndexFileWriterModule : public AnalysisDataModuleSerial { public: IndexFileWriterModule(); - virtual ~IndexFileWriterModule(); + ~IndexFileWriterModule() override; //! Sets the file name to write the index file to. void setFileName(const std::string &fnm); @@ -104,13 +104,13 @@ class IndexFileWriterModule : public AnalysisDataModuleSerial */ void addGroup(const std::string &name, bool bDynamic); - virtual int flags() const; + int flags() const override; - virtual void dataStarted(AbstractAnalysisData *data); - virtual void frameStarted(const AnalysisDataFrameHeader &header); - virtual void pointsAdded(const AnalysisDataPointSetRef &points); - virtual void frameFinished(const AnalysisDataFrameHeader &header); - virtual void dataFinished(); + void dataStarted(AbstractAnalysisData *data) override; + void frameStarted(const AnalysisDataFrameHeader &header) override; + void pointsAdded(const AnalysisDataPointSetRef &points) override; + void frameFinished(const AnalysisDataFrameHeader &header) override; + void dataFinished() override; private: void closeFile(); @@ -280,17 +280,17 @@ class Select : public TrajectoryAnalysisModule public: Select(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void optionsFinished(TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void optionsFinished(TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: SelectionList sel_; diff --git a/src/gromacs/trajectoryanalysis/modules/trajectory.cpp b/src/gromacs/trajectoryanalysis/modules/trajectory.cpp index 3b4ba9f465..71351caeb9 100644 --- a/src/gromacs/trajectoryanalysis/modules/trajectory.cpp +++ b/src/gromacs/trajectoryanalysis/modules/trajectory.cpp @@ -74,17 +74,17 @@ class Trajectory : public TrajectoryAnalysisModule public: Trajectory(); - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void optionsFinished(TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void optionsFinished(TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: SelectionList sel_; diff --git a/src/gromacs/trajectoryanalysis/runnercommon.cpp b/src/gromacs/trajectoryanalysis/runnercommon.cpp index 1b7e9a5ef7..e7e0f275dc 100644 --- a/src/gromacs/trajectoryanalysis/runnercommon.cpp +++ b/src/gromacs/trajectoryanalysis/runnercommon.cpp @@ -80,7 +80,7 @@ class TrajectoryAnalysisRunnerCommon::Impl : public ITopologyProvider { public: explicit Impl(TrajectoryAnalysisSettings *settings); - ~Impl(); + ~Impl() override; bool hasTrajectory() const { return !trjfile_.empty(); } @@ -90,12 +90,12 @@ class TrajectoryAnalysisRunnerCommon::Impl : public ITopologyProvider void finishTrajectory(); // From ITopologyProvider - virtual gmx_mtop_t *getTopology(bool required) + gmx_mtop_t *getTopology(bool required) override { initTopology(required); return topInfo_.mtop_.get(); } - virtual int getAtomCount() + int getAtomCount() override { if (!topInfo_.hasTopology()) { diff --git a/src/gromacs/trajectoryanalysis/tests/moduletest.h b/src/gromacs/trajectoryanalysis/tests/moduletest.h index f0e9ab6e37..10e5f72875 100644 --- a/src/gromacs/trajectoryanalysis/tests/moduletest.h +++ b/src/gromacs/trajectoryanalysis/tests/moduletest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -93,7 +93,7 @@ class AbstractTrajectoryAnalysisModuleTestFixture : public CommandLineTestBase { public: AbstractTrajectoryAnalysisModuleTestFixture(); - virtual ~AbstractTrajectoryAnalysisModuleTestFixture(); + ~AbstractTrajectoryAnalysisModuleTestFixture() override; /*! \brief * Sets the topology file to use for the test. @@ -199,7 +199,7 @@ class TrajectoryAnalysisModuleTestFixture : public AbstractTrajectoryAnalysisModuleTestFixture { protected: - virtual TrajectoryAnalysisModulePointer createModule() + TrajectoryAnalysisModulePointer createModule() override { return ModuleInfo::create(); } diff --git a/src/gromacs/trajectoryanalysis/tests/surfacearea.cpp b/src/gromacs/trajectoryanalysis/tests/surfacearea.cpp index 80e421b04a..f1473e479f 100644 --- a/src/gromacs/trajectoryanalysis/tests/surfacearea.cpp +++ b/src/gromacs/trajectoryanalysis/tests/surfacearea.cpp @@ -74,7 +74,7 @@ class SurfaceAreaTest : public ::testing::Test atomArea_(nullptr), dotCount_(0), dots_(nullptr) { } - ~SurfaceAreaTest() + ~SurfaceAreaTest() override { sfree(atomArea_); sfree(dots_); diff --git a/src/gromacs/trajectoryanalysis/tests/test_selection.cpp b/src/gromacs/trajectoryanalysis/tests/test_selection.cpp index 51e748ef3c..b1841dcf95 100644 --- a/src/gromacs/trajectoryanalysis/tests/test_selection.cpp +++ b/src/gromacs/trajectoryanalysis/tests/test_selection.cpp @@ -57,18 +57,18 @@ class SelectionTester : public TrajectoryAnalysisModule { public: SelectionTester(); - virtual ~SelectionTester(); + ~SelectionTester() override; - virtual void initOptions(IOptionsContainer *options, - TrajectoryAnalysisSettings *settings); - virtual void initAnalysis(const TrajectoryAnalysisSettings &settings, - const TopologyInformation &top); + void initOptions(IOptionsContainer *options, + TrajectoryAnalysisSettings *settings) override; + void initAnalysis(const TrajectoryAnalysisSettings &settings, + const TopologyInformation &top) override; - virtual void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, - TrajectoryAnalysisModuleData *pdata); + void analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc, + TrajectoryAnalysisModuleData *pdata) override; - virtual void finishAnalysis(int nframes); - virtual void writeOutput(); + void finishAnalysis(int nframes) override; + void writeOutput() override; private: void printSelections(); diff --git a/src/gromacs/utility/exceptions.cpp b/src/gromacs/utility/exceptions.cpp index 19886c1f4c..6ef691a2ff 100644 --- a/src/gromacs/utility/exceptions.cpp +++ b/src/gromacs/utility/exceptions.cpp @@ -330,12 +330,12 @@ class MessageWriterFileNoThrow : public IMessageWriter //! Initializes a writer that writes to the given file handle. explicit MessageWriterFileNoThrow(FILE *fp) : fp_(fp) {} - virtual void writeLine(const char *text, int indent) + void writeLine(const char *text, int indent) override { internal::printFatalErrorMessageLine(fp_, text, indent); } - virtual void writeErrNoInfo(int errorNumber, const char *funcName, - int indent) + void writeErrNoInfo(int errorNumber, const char *funcName, + int indent) override { std::fprintf(fp_, "%*sReason: %s\n", indent, "", std::strerror(errorNumber)); @@ -361,13 +361,13 @@ class MessageWriterTextWriter : public IMessageWriter { } - virtual void writeLine(const char *text, int indent) + void writeLine(const char *text, int indent) override { writer_->wrapperSettings().setIndent(indent); writer_->writeLine(text); } - virtual void writeErrNoInfo(int errorNumber, const char *funcName, - int indent) + void writeErrNoInfo(int errorNumber, const char *funcName, + int indent) override { writer_->wrapperSettings().setIndent(indent); writer_->writeLine(formatString("Reason: %s", std::strerror(errorNumber))); @@ -400,14 +400,14 @@ class MessageWriterString : public IMessageWriter //! Returns the constructed string. const std::string &result() const { return result_; } - virtual void writeLine(const char *text, int indent) + void writeLine(const char *text, int indent) override { result_.append(indent, ' '); result_.append(text); result_.append("\n"); } - virtual void writeErrNoInfo(int errorNumber, const char *funcName, - int indent) + void writeErrNoInfo(int errorNumber, const char *funcName, + int indent) override { writeLine(formatString("Reason: %s", std::strerror(errorNumber)).c_str(), indent); diff --git a/src/gromacs/utility/exceptions.h b/src/gromacs/utility/exceptions.h index 9ba4cd6e4e..42d4fbfcb2 100644 --- a/src/gromacs/utility/exceptions.h +++ b/src/gromacs/utility/exceptions.h @@ -264,7 +264,7 @@ class GromacsException : public std::exception public: // Explicitly declared because some compiler/library combinations warn // about missing noexcept otherwise. - virtual ~GromacsException() noexcept {} + ~GromacsException() noexcept override {} GMX_DEFAULT_CONSTRUCTORS(GromacsException); @@ -273,7 +273,7 @@ class GromacsException : public std::exception * * The return value is the string that was passed to the constructor. */ - virtual const char *what() const noexcept; + const char *what() const noexcept override; /*! \brief * Returns the error code corresponding to the exception type. */ @@ -417,7 +417,7 @@ class FileIOError : public GromacsException explicit FileIOError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -448,7 +448,7 @@ class InvalidInputError : public UserInputError explicit InvalidInputError(const ExceptionInitializer &details) : UserInputError(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -463,7 +463,7 @@ class InconsistentInputError : public UserInputError explicit InconsistentInputError(const ExceptionInitializer &details) : UserInputError(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -487,7 +487,7 @@ class ToleranceError : public GromacsException explicit ToleranceError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -502,7 +502,7 @@ class SimulationInstabilityError : public GromacsException explicit SimulationInstabilityError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -517,7 +517,7 @@ class InternalError : public GromacsException explicit InternalError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -532,7 +532,7 @@ class APIError : public GromacsException explicit APIError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -547,7 +547,7 @@ class RangeError : public GromacsException explicit RangeError(const ExceptionInitializer &details) : GromacsException(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief @@ -562,7 +562,7 @@ class NotImplementedError : public APIError explicit NotImplementedError(const ExceptionInitializer &details) : APIError(details) {} - virtual int errorCode() const; + int errorCode() const override; }; /*! \brief diff --git a/src/gromacs/utility/fileredirector.cpp b/src/gromacs/utility/fileredirector.cpp index 4cf13f3dbd..cfb71e4b91 100644 --- a/src/gromacs/utility/fileredirector.cpp +++ b/src/gromacs/utility/fileredirector.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015, by the GROMACS development team, led by + * Copyright (c) 2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -71,8 +71,8 @@ namespace class DefaultInputRedirector : public IFileInputRedirector { public: - virtual bool fileExists(const char *filename, - File::NotFoundHandler onNotFound) const + bool fileExists(const char *filename, + File::NotFoundHandler onNotFound) const override { return File::exists(filename, onNotFound); } @@ -90,11 +90,11 @@ class DefaultInputRedirector : public IFileInputRedirector class DefaultOutputRedirector : public IFileOutputRedirector { public: - virtual TextOutputStream &standardOutput() + TextOutputStream &standardOutput() override { return TextOutputFile::standardOutput(); } - virtual TextOutputStreamPointer openTextOutputFile(const char *filename) + TextOutputStreamPointer openTextOutputFile(const char *filename) override { return TextOutputStreamPointer(new TextOutputFile(filename)); } diff --git a/src/gromacs/utility/filestream.h b/src/gromacs/utility/filestream.h index 876c79fd84..20ff047a19 100644 --- a/src/gromacs/utility/filestream.h +++ b/src/gromacs/utility/filestream.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015, by the GROMACS development team, led by + * Copyright (c) 2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -80,8 +80,8 @@ class StandardInputStream : public TextInputStream bool isInteractive() const; // From TextInputStream - virtual bool readLine(std::string *line); - virtual void close() {} + bool readLine(std::string *line) override; + void close() override {} /*! \brief * Returns a stream for accessing `stdin`. @@ -134,7 +134,7 @@ class TextInputFile : public TextInputStream * for an object constructed this way. */ explicit TextInputFile(FILE *fp); - virtual ~TextInputFile(); + ~TextInputFile() override; /*! \brief * Returns a raw handle to the input file. @@ -144,8 +144,8 @@ class TextInputFile : public TextInputStream FILE *handle(); // From TextInputStream - virtual bool readLine(std::string *line); - virtual void close(); + bool readLine(std::string *line) override; + void close() override; private: PrivateImplPointer impl_; @@ -167,11 +167,11 @@ class TextOutputFile : public TextOutputStream explicit TextOutputFile(const std::string &filename); //! \copydoc TextInputFile::TextInputFile(FILE *) explicit TextOutputFile(FILE *fp); - virtual ~TextOutputFile(); + ~TextOutputFile() override; // From TextOutputStream - virtual void write(const char *text); - virtual void close(); + void write(const char *text) override; + void close() override; /*! \brief * Returns a stream for accessing `stdout`. diff --git a/src/gromacs/utility/ikeyvaluetreeerror.cpp b/src/gromacs/utility/ikeyvaluetreeerror.cpp index 4afe797e3a..e9f258dbd8 100644 --- a/src/gromacs/utility/ikeyvaluetreeerror.cpp +++ b/src/gromacs/utility/ikeyvaluetreeerror.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2016, by the GROMACS development team, led by + * Copyright (c) 2016,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -49,7 +49,7 @@ namespace class DefaultKeyValueTreeErrorHandler : public IKeyValueTreeErrorHandler { public: - virtual bool onError(UserInputError *ex, const KeyValueTreePath &context) + bool onError(UserInputError *ex, const KeyValueTreePath &context) override { std::string message = formatString("While processing '%s':", context.toString().c_str()); diff --git a/src/gromacs/utility/inmemoryserializer.h b/src/gromacs/utility/inmemoryserializer.h index 934c2f938a..a873cc9dd3 100644 --- a/src/gromacs/utility/inmemoryserializer.h +++ b/src/gromacs/utility/inmemoryserializer.h @@ -55,19 +55,19 @@ class InMemorySerializer : public ISerializer { public: InMemorySerializer(); - virtual ~InMemorySerializer(); + ~InMemorySerializer() override; std::vector finishAndGetBuffer(); // From ISerializer - virtual bool reading() const { return false; } - virtual void doBool(bool *value); - virtual void doUChar(unsigned char *value); - virtual void doInt(int *value); - virtual void doInt64(int64_t *value); - virtual void doFloat(float *value); - virtual void doDouble(double *value); - virtual void doString(std::string *value); + bool reading() const override { return false; } + void doBool(bool *value) override; + void doUChar(unsigned char *value) override; + void doInt(int *value) override; + void doInt64(int64_t *value) override; + void doFloat(float *value) override; + void doDouble(double *value) override; + void doString(std::string *value) override; private: class Impl; @@ -79,17 +79,17 @@ class InMemoryDeserializer : public ISerializer { public: explicit InMemoryDeserializer(const std::vector &buffer); - virtual ~InMemoryDeserializer(); + ~InMemoryDeserializer() override; // From ISerializer - virtual bool reading() const { return true; } - virtual void doBool(bool *value); - virtual void doUChar(unsigned char *value); - virtual void doInt(int *value); - virtual void doInt64(int64_t *value); - virtual void doFloat(float *value); - virtual void doDouble(double *value); - virtual void doString(std::string *value); + bool reading() const override { return true; } + void doBool(bool *value) override; + void doUChar(unsigned char *value) override; + void doInt(int *value) override; + void doInt64(int64_t *value) override; + void doFloat(float *value) override; + void doDouble(double *value) override; + void doString(std::string *value) override; private: class Impl; diff --git a/src/gromacs/utility/keyvaluetreetransform.cpp b/src/gromacs/utility/keyvaluetreetransform.cpp index 7d138047b2..d183901634 100644 --- a/src/gromacs/utility/keyvaluetreetransform.cpp +++ b/src/gromacs/utility/keyvaluetreetransform.cpp @@ -168,8 +168,8 @@ class KeyValueTreeBackMapping : public IKeyValueTreeBackMapping std::map childEntries_; }; - virtual KeyValueTreePath - originalPath(const KeyValueTreePath &path) const + KeyValueTreePath + originalPath(const KeyValueTreePath &path) const override { const Entry *entry = &rootEntry_; for (const auto &element : path.elements()) diff --git a/src/gromacs/utility/loggerbuilder.cpp b/src/gromacs/utility/loggerbuilder.cpp index a145bd15bc..5d286a6d95 100644 --- a/src/gromacs/utility/loggerbuilder.cpp +++ b/src/gromacs/utility/loggerbuilder.cpp @@ -55,7 +55,7 @@ class LogTargetCollection : public ILogTarget targets_.push_back(target); } - virtual void writeEntry(const LogEntry &entry) + void writeEntry(const LogEntry &entry) override { for (ILogTarget *target : targets_) { @@ -72,7 +72,7 @@ class LogTargetFormatter : public ILogTarget public: explicit LogTargetFormatter(TextOutputStream *stream) : writer_(stream) {} - virtual void writeEntry(const LogEntry &entry); + void writeEntry(const LogEntry &entry) override; private: TextWriter writer_; diff --git a/src/gromacs/utility/programcontext.cpp b/src/gromacs/utility/programcontext.cpp index 7ec9df222f..0cae677d3d 100644 --- a/src/gromacs/utility/programcontext.cpp +++ b/src/gromacs/utility/programcontext.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2013,2014,2015,2017, by the GROMACS development team, led by + * Copyright (c) 2013,2014,2015,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -67,14 +67,14 @@ class DefaultProgramContext : public IProgramContext public: DefaultProgramContext() {} - virtual const char *programName() const { return "GROMACS"; } - virtual const char *displayName() const { return "GROMACS"; } - virtual const char *fullBinaryPath() const { return ""; } - virtual InstallationPrefixInfo installationPrefix() const + const char *programName() const override { return "GROMACS"; } + const char *displayName() const override { return "GROMACS"; } + const char *fullBinaryPath() const override { return ""; } + InstallationPrefixInfo installationPrefix() const override { return InstallationPrefixInfo("", false); } - virtual const char *commandLine() const { return ""; } + const char *commandLine() const override { return ""; } }; //! Global program info; stores the object set with setProgramContext(). diff --git a/src/gromacs/utility/stringstream.h b/src/gromacs/utility/stringstream.h index e92f0e009f..e507886854 100644 --- a/src/gromacs/utility/stringstream.h +++ b/src/gromacs/utility/stringstream.h @@ -68,8 +68,8 @@ class StringOutputStream : public TextOutputStream const std::string &toString() const { return str_; } // From TextOutputStream - virtual void write(const char *text); - virtual void close(); + void write(const char *text) override; + void close() override; private: std::string str_; @@ -111,8 +111,8 @@ class StringInputStream : public TextInputStream explicit StringInputStream(ArrayRef const &input); // From TextInputStream - virtual bool readLine(std::string *line); - virtual void close() {} + bool readLine(std::string *line) override; + void close() override {} private: std::string input_; size_t pos_; diff --git a/src/gromacs/utility/tests/keyvaluetreeserializer.cpp b/src/gromacs/utility/tests/keyvaluetreeserializer.cpp index bd35bb952d..e93063f31c 100644 --- a/src/gromacs/utility/tests/keyvaluetreeserializer.cpp +++ b/src/gromacs/utility/tests/keyvaluetreeserializer.cpp @@ -56,33 +56,33 @@ class RefDataSerializer : public gmx::ISerializer { } - virtual bool reading() const { return false; } + bool reading() const override { return false; } - virtual void doBool(bool *value) + void doBool(bool *value) override { checker_.checkBoolean(*value, nullptr); } - virtual void doUChar(unsigned char *value) + void doUChar(unsigned char *value) override { checker_.checkUChar(*value, nullptr); } - virtual void doInt(int *value) + void doInt(int *value) override { checker_.checkInteger(*value, nullptr); } - virtual void doInt64(int64_t *value) + void doInt64(int64_t *value) override { checker_.checkInt64(*value, nullptr); } - virtual void doFloat(float *value) + void doFloat(float *value) override { checker_.checkFloat(*value, nullptr); } - virtual void doDouble(double *value) + void doDouble(double *value) override { checker_.checkDouble(*value, nullptr); } - virtual void doString(std::string *value) + void doString(std::string *value) override { checker_.checkString(*value, nullptr); } diff --git a/src/gromacs/utility/variant.h b/src/gromacs/utility/variant.h index 38e1d828d9..5cd738bcda 100644 --- a/src/gromacs/utility/variant.h +++ b/src/gromacs/utility/variant.h @@ -225,8 +225,8 @@ class Variant explicit Content(const T &value) : value_(value) {} explicit Content(T &&value) : value_(std::move(value)) {} - virtual const std::type_info &typeInfo() const { return typeid(T); } - virtual std::unique_ptr clone() const { return compat::make_unique(value_); } + const std::type_info &typeInfo() const override { return typeid(T); } + std::unique_ptr clone() const override { return compat::make_unique(value_); } T value_; }; diff --git a/src/programs/legacymodules.cpp b/src/programs/legacymodules.cpp index 7dea2832ce..75ae88e136 100644 --- a/src/programs/legacymodules.cpp +++ b/src/programs/legacymodules.cpp @@ -78,24 +78,24 @@ class ObsoleteToolModule : public gmx::ICommandLineModule { } - virtual const char *name() const + const char *name() const override { return name_; } - virtual const char *shortDescription() const + const char *shortDescription() const override { return nullptr; } - virtual void init(gmx::CommandLineModuleSettings * /*settings*/) + void init(gmx::CommandLineModuleSettings * /*settings*/) override { } - virtual int run(int /*argc*/, char * /*argv*/[]) + int run(int /*argc*/, char * /*argv*/[]) override { printMessage(); return 0; } - virtual void writeHelp(const gmx::CommandLineHelpContext & /*context*/) const + void writeHelp(const gmx::CommandLineHelpContext & /*context*/) const override { printMessage(); } diff --git a/src/programs/mdrun/tests/interactiveMD.cpp b/src/programs/mdrun/tests/interactiveMD.cpp index 30a0ac9dc6..c2f383b7f2 100644 --- a/src/programs/mdrun/tests/interactiveMD.cpp +++ b/src/programs/mdrun/tests/interactiveMD.cpp @@ -53,7 +53,7 @@ class ImdTestFixture : public MdrunTestFixture { protected: ImdTestFixture(); - ~ImdTestFixture(); + ~ImdTestFixture() override; }; diff --git a/src/programs/mdrun/tests/moduletest.h b/src/programs/mdrun/tests/moduletest.h index 9e0f053769..edba08915b 100644 --- a/src/programs/mdrun/tests/moduletest.h +++ b/src/programs/mdrun/tests/moduletest.h @@ -178,7 +178,7 @@ class MdrunTestFixtureBase : public ::testing::Test { public: MdrunTestFixtureBase(); - virtual ~MdrunTestFixtureBase(); + ~MdrunTestFixtureBase() override; }; /*! \internal @@ -193,7 +193,7 @@ class MdrunTestFixture : public ::testing::Test { public: MdrunTestFixture(); - virtual ~MdrunTestFixture(); + ~MdrunTestFixture() override; //! Manages temporary files during the test. TestFileManager fileManager_; diff --git a/src/programs/mdrun/tests/swapcoords.cpp b/src/programs/mdrun/tests/swapcoords.cpp index 3a207c3129..195983f14f 100644 --- a/src/programs/mdrun/tests/swapcoords.cpp +++ b/src/programs/mdrun/tests/swapcoords.cpp @@ -53,7 +53,7 @@ class SwapTestFixture : public MdrunTestFixture { protected: SwapTestFixture(); - ~SwapTestFixture(); + ~SwapTestFixture() override; }; diff --git a/src/testutils/cmdlinetest.h b/src/testutils/cmdlinetest.h index c488dc6af1..1065022fd4 100644 --- a/src/testutils/cmdlinetest.h +++ b/src/testutils/cmdlinetest.h @@ -376,7 +376,7 @@ class CommandLineTestBase : public ::testing::Test { public: CommandLineTestBase(); - ~CommandLineTestBase(); + ~CommandLineTestBase() override; /*! \brief * Sets an input file. diff --git a/src/testutils/conftest.cpp b/src/testutils/conftest.cpp index e98dfd0cc8..dccc71fbf1 100644 --- a/src/testutils/conftest.cpp +++ b/src/testutils/conftest.cpp @@ -70,8 +70,8 @@ class ConfMatcher : public ITextBlockMatcher { } - virtual void checkStream(TextInputStream *stream, - TestReferenceChecker *checker) + void checkStream(TextInputStream *stream, + TestReferenceChecker *checker) override { checkConfFile(stream, checker, settings_); } diff --git a/src/testutils/conftest.h b/src/testutils/conftest.h index 1ef81de315..5c388aba42 100644 --- a/src/testutils/conftest.h +++ b/src/testutils/conftest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2017, by the GROMACS development team, led by + * Copyright (c) 2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -101,7 +101,7 @@ class ConfMatch : public ITextBlockMatcherSettings return *this; } - virtual TextBlockMatcherPointer createMatcher() const; + TextBlockMatcherPointer createMatcher() const override; private: ConfMatchSettings settings_; diff --git a/src/testutils/filematchers.cpp b/src/testutils/filematchers.cpp index cd68d3877d..27c011a6c1 100644 --- a/src/testutils/filematchers.cpp +++ b/src/testutils/filematchers.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2017, by the GROMACS development team, led by + * Copyright (c) 2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -63,8 +63,8 @@ class TextFileMatcher : public IFileMatcher { } - virtual void checkFile(const std::string &path, - TestReferenceChecker *checker) + void checkFile(const std::string &path, + TestReferenceChecker *checker) override { TextInputFile stream(path); matcher_->checkStream(&stream, checker); diff --git a/src/testutils/filematchers.h b/src/testutils/filematchers.h index 3f57465092..cc628ed487 100644 --- a/src/testutils/filematchers.h +++ b/src/testutils/filematchers.h @@ -132,7 +132,7 @@ class TextFileMatch : public IFileMatcherSettings { } - virtual FileMatcherPointer createFileMatcher() const; + FileMatcherPointer createFileMatcher() const override; private: const ITextBlockMatcherSettings &streamSettings_; @@ -147,7 +147,7 @@ class TextFileMatch : public IFileMatcherSettings class NoContentsMatch : public IFileMatcherSettings { public: - virtual FileMatcherPointer createFileMatcher() const; + FileMatcherPointer createFileMatcher() const override; }; } // namespace test diff --git a/src/testutils/refdata-checkers.h b/src/testutils/refdata-checkers.h index 2b35b9283b..32656d27fd 100644 --- a/src/testutils/refdata-checkers.h +++ b/src/testutils/refdata-checkers.h @@ -78,9 +78,9 @@ class IReferenceDataEntryChecker class NullChecker : public IReferenceDataEntryChecker { public: - virtual void fillEntry(ReferenceDataEntry * /*entry*/) const {} - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry & /*entry*/, const std::string & /*fullId*/) const + void fillEntry(ReferenceDataEntry * /*entry*/) const override {} + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry & /*entry*/, const std::string & /*fullId*/) const override { return ::testing::AssertionSuccess(); } @@ -94,12 +94,12 @@ class ExactStringChecker : public IReferenceDataEntryChecker { } - virtual void fillEntry(ReferenceDataEntry *entry) const + void fillEntry(ReferenceDataEntry *entry) const override { entry->setValue(value_); } - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const override { if (entry.value() == value_) { @@ -123,12 +123,12 @@ class ExactStringBlockChecker : public IReferenceDataEntryChecker { } - virtual void fillEntry(ReferenceDataEntry *entry) const + void fillEntry(ReferenceDataEntry *entry) const override { entry->setTextBlockValue(value_); } - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const override { if (entry.value() == value_) { @@ -167,13 +167,13 @@ class FloatingPointChecker : public IReferenceDataEntryChecker { } - virtual void fillEntry(ReferenceDataEntry *entry) const + void fillEntry(ReferenceDataEntry *entry) const override { const int prec = std::numeric_limits::digits10 + 2; entry->setValue(formatString("%.*g", prec, value_)); } - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const override { FloatType refValue = static_cast(convertDoubleReferenceValue(entry.value())); FloatingPointDifference diff(refValue, value_); @@ -204,12 +204,12 @@ class FloatingPointFromStringChecker : public IReferenceDataEntryChecker { } - virtual void fillEntry(ReferenceDataEntry *entry) const + void fillEntry(ReferenceDataEntry *entry) const override { entry->setValue(value_); } - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry &entry, const std::string &fullId) const override { FloatType value = fromString(value_); FloatType refValue = static_cast(convertDoubleReferenceValue(entry.value())); @@ -240,12 +240,12 @@ class ValueExtractor : public IReferenceDataEntryChecker { } - virtual void fillEntry(ReferenceDataEntry * /*entry*/) const + void fillEntry(ReferenceDataEntry * /*entry*/) const override { GMX_THROW(TestException("Extracting value from non-existent reference data entry")); } - virtual ::testing::AssertionResult - checkEntry(const ReferenceDataEntry &entry, const std::string & /*fullId*/) const + ::testing::AssertionResult + checkEntry(const ReferenceDataEntry &entry, const std::string & /*fullId*/) const override { extractValue(entry.value()); return ::testing::AssertionSuccess(); diff --git a/src/testutils/refdata.cpp b/src/testutils/refdata.cpp index e0526def22..f703c2e2a6 100644 --- a/src/testutils/refdata.cpp +++ b/src/testutils/refdata.cpp @@ -188,7 +188,7 @@ TestReferenceDataImplPointer initReferenceDataInstanceForSelfTest(ReferenceDataM class ReferenceDataTestEventListener : public ::testing::EmptyTestEventListener { public: - virtual void OnTestEnd(const ::testing::TestInfo &test_info) + void OnTestEnd(const ::testing::TestInfo &test_info) override { if (g_referenceData) { @@ -199,7 +199,7 @@ class ReferenceDataTestEventListener : public ::testing::EmptyTestEventListener } } - virtual void OnTestProgramEnd(const ::testing::UnitTest & /*unused*/) + void OnTestProgramEnd(const ::testing::UnitTest & /*unused*/) override { // Could be used e.g. to free internal buffers allocated by an XML parsing library } diff --git a/src/testutils/stringtest.h b/src/testutils/stringtest.h index ca0322e6ca..5685335cb3 100644 --- a/src/testutils/stringtest.h +++ b/src/testutils/stringtest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013,2014,2015,2017, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014,2015,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -86,7 +86,7 @@ class StringTestBase : public ::testing::Test const std::string &text, const char *id); StringTestBase(); - ~StringTestBase(); + ~StringTestBase() override; /*! \brief * Returns the root checker for this test's reference data. diff --git a/src/testutils/testexceptions.h b/src/testutils/testexceptions.h index e4822e0a80..fdd595cc3d 100644 --- a/src/testutils/testexceptions.h +++ b/src/testutils/testexceptions.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2011,2012,2015, by the GROMACS development team, led by + * Copyright (c) 2011,2012,2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -80,7 +80,7 @@ class TestException : public GromacsException explicit TestException(const GromacsException &base) : GromacsException(base) {} - virtual int errorCode() const { return -1; } + int errorCode() const override { return -1; } }; /*! \brief diff --git a/src/testutils/testfileredirector.h b/src/testutils/testfileredirector.h index a664c50af5..e68717db7a 100644 --- a/src/testutils/testfileredirector.h +++ b/src/testutils/testfileredirector.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015, by the GROMACS development team, led by + * Copyright (c) 2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -69,7 +69,7 @@ class TestFileInputRedirector : public IFileInputRedirector { public: TestFileInputRedirector(); - virtual ~TestFileInputRedirector(); + ~TestFileInputRedirector() override; /*! \brief * Marks the provided path as an existing file. @@ -81,8 +81,8 @@ class TestFileInputRedirector : public IFileInputRedirector void addExistingFile(const char *filename); // From IFileInputRedirector - virtual bool fileExists(const char *filename, - File::NotFoundHandler onNotFound) const; + bool fileExists(const char *filename, + File::NotFoundHandler onNotFound) const override; private: std::set existingFiles_; @@ -102,7 +102,7 @@ class TestFileOutputRedirector : public IFileOutputRedirector { public: TestFileOutputRedirector(); - virtual ~TestFileOutputRedirector(); + ~TestFileOutputRedirector() override; /*! \brief * Checks contents of all redirected files (including stdout). @@ -115,8 +115,8 @@ class TestFileOutputRedirector : public IFileOutputRedirector void checkRedirectedFiles(TestReferenceChecker *checker); // From IFileOutputRedirector - virtual TextOutputStream &standardOutput(); - virtual TextOutputStreamPointer openTextOutputFile(const char *filename); + TextOutputStream &standardOutput() override; + TextOutputStreamPointer openTextOutputFile(const char *filename) override; private: class Impl; diff --git a/src/testutils/testinit.cpp b/src/testutils/testinit.cpp index 882931b128..cf3a108ae8 100644 --- a/src/testutils/testinit.cpp +++ b/src/testutils/testinit.cpp @@ -112,23 +112,23 @@ class TestProgramContext : public IProgramContext dataPath_ = sourceRoot; } - virtual const char *programName() const + const char *programName() const override { return context_.programName(); } - virtual const char *displayName() const + const char *displayName() const override { return context_.displayName(); } - virtual const char *fullBinaryPath() const + const char *fullBinaryPath() const override { return context_.fullBinaryPath(); } - virtual InstallationPrefixInfo installationPrefix() const + InstallationPrefixInfo installationPrefix() const override { return InstallationPrefixInfo(dataPath_.c_str(), true); } - virtual const char *commandLine() const + const char *commandLine() const override { return context_.commandLine(); } diff --git a/src/testutils/testmatchers.cpp b/src/testutils/testmatchers.cpp index 2644274c22..04e4116311 100644 --- a/src/testutils/testmatchers.cpp +++ b/src/testutils/testmatchers.cpp @@ -70,8 +70,8 @@ class FloatTypeMatcher : public testing::MatcherInterface < std::tuple < FloatTy FloatTypeMatcher(const FloatingPointTolerance &tolerance) : tolerance_(tolerance) {} //! Compare the two elements of \c arg, return whether they are equal, and comment on \c listener when they are not. - virtual bool MatchAndExplain(std::tuple arg, - testing::MatchResultListener* listener) const + bool MatchAndExplain(std::tuple arg, + testing::MatchResultListener* listener) const override { const FloatType &value1 = std::get<0>(arg); const FloatType &value2 = std::get<1>(arg); @@ -88,12 +88,12 @@ class FloatTypeMatcher : public testing::MatcherInterface < std::tuple < FloatTy return false; } //! Describe to a human what matching means. - virtual void DescribeTo(::std::ostream* os) const + void DescribeTo(::std::ostream* os) const override { *os << "matches within tolerance"; } //! Describe to a human what failing to match means. - virtual void DescribeNegationTo(::std::ostream* os) const + void DescribeNegationTo(::std::ostream* os) const override { *os << "does not match within tolerance"; } @@ -135,8 +135,8 @@ class RVecMatcher : RVecMatcher(const FloatingPointTolerance &tolerance) : tolerance_(tolerance) {} //! Compare the two elements of \c arg, return whether they are equal, and comment on \c listener when they are not. - virtual bool MatchAndExplain(std::tuple arg, - testing::MatchResultListener* listener) const + bool MatchAndExplain(std::tuple arg, + testing::MatchResultListener* listener) const override { const VectorType &lhs = std::get<0>(arg); const VectorType &rhs = std::get<1>(arg); @@ -150,12 +150,12 @@ class RVecMatcher : return matches; } //! Describe to a human what matching means. - virtual void DescribeTo(::std::ostream* os) const + void DescribeTo(::std::ostream* os) const override { *os << "matches all elements within tolerance"; } //! Describe to a human what failing to match means. - virtual void DescribeNegationTo(::std::ostream* os) const + void DescribeNegationTo(::std::ostream* os) const override { *os << "does not match all elements within tolerance"; } diff --git a/src/testutils/textblockmatchers.cpp b/src/testutils/textblockmatchers.cpp index 4b3dc68504..de7c06a79a 100644 --- a/src/testutils/textblockmatchers.cpp +++ b/src/testutils/textblockmatchers.cpp @@ -62,8 +62,8 @@ namespace class ExactTextMatcher : public ITextBlockMatcher { public: - virtual void checkStream(TextInputStream *stream, - TestReferenceChecker *checker) + void checkStream(TextInputStream *stream, + TestReferenceChecker *checker) override { TextReader reader(stream); checker->checkTextBlock(reader.readAll(), "Contents"); @@ -73,8 +73,8 @@ class ExactTextMatcher : public ITextBlockMatcher class NoTextMatcher : public ITextBlockMatcher { public: - virtual void checkStream(TextInputStream * /*stream*/, - TestReferenceChecker * /*checker*/) + void checkStream(TextInputStream * /*stream*/, + TestReferenceChecker * /*checker*/) override { } }; @@ -84,8 +84,8 @@ class FilteringExactTextMatcher : public ITextBlockMatcher public: FilteringExactTextMatcher(const std::vector &linesToSkip) : linesToSkip_(linesToSkip) {} - virtual void checkStream(TextInputStream *stream, - TestReferenceChecker *checker) + void checkStream(TextInputStream *stream, + TestReferenceChecker *checker) override { StringOutputStream filteredStream; { diff --git a/src/testutils/textblockmatchers.h b/src/testutils/textblockmatchers.h index 227809a728..7f1f19fa9b 100644 --- a/src/testutils/textblockmatchers.h +++ b/src/testutils/textblockmatchers.h @@ -129,7 +129,7 @@ class ITextBlockMatcherSettings class ExactTextMatch : public ITextBlockMatcherSettings { public: - virtual TextBlockMatcherPointer createMatcher() const; + TextBlockMatcherPointer createMatcher() const override; }; /*! \libinternal \brief @@ -141,7 +141,7 @@ class ExactTextMatch : public ITextBlockMatcherSettings class NoTextMatch : public ITextBlockMatcherSettings { public: - virtual TextBlockMatcherPointer createMatcher() const; + TextBlockMatcherPointer createMatcher() const override; }; /*! \libinternal \brief @@ -160,7 +160,7 @@ class FilteringExactTextMatch : public ITextBlockMatcherSettings { public: //! Factory method. - virtual TextBlockMatcherPointer createMatcher() const; + TextBlockMatcherPointer createMatcher() const override; //! Add a regular expression for which a matching line should be skipped. void addRegexToSkip(const std::string &lineToSkip); private: diff --git a/src/testutils/xvgtest.cpp b/src/testutils/xvgtest.cpp index d1b2a3e6f0..66249a3fc0 100644 --- a/src/testutils/xvgtest.cpp +++ b/src/testutils/xvgtest.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by + * Copyright (c) 2015,2016,2017,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -73,8 +73,8 @@ class XvgMatcher : public ITextBlockMatcher { } - virtual void checkStream(TextInputStream *stream, - TestReferenceChecker *checker) + void checkStream(TextInputStream *stream, + TestReferenceChecker *checker) override { checkXvgFile(stream, checker, settings_); } diff --git a/src/testutils/xvgtest.h b/src/testutils/xvgtest.h index 6fba81d99f..e92c8d99d5 100644 --- a/src/testutils/xvgtest.h +++ b/src/testutils/xvgtest.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2015, by the GROMACS development team, led by + * Copyright (c) 2015,2018, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -117,7 +117,7 @@ class XvgMatch : public ITextBlockMatcherSettings return *this; } - virtual TextBlockMatcherPointer createMatcher() const; + TextBlockMatcherPointer createMatcher() const override; private: XvgMatchSettings settings_; -- 2.22.0