From 19c74b1e8ed7f1e69b75b2efeb771ea46db3c734 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Wed, 1 Jul 2015 20:12:59 +0200 Subject: [PATCH] Added explicit to all constructors --- src/analysis/Analysis.h | 2 +- src/analysis/AnalysisWithLandmarks.h | 2 +- .../ClassicalMultiDimensionalScaling.cpp | 2 +- src/analysis/Commit.cpp | 2 +- src/analysis/Histogram.cpp | 2 +- src/analysis/LandmarkSelectionBase.h | 2 +- src/analysis/SelectAllFrames.cpp | 2 +- src/bias/ABMD.cpp | 2 +- src/bias/Bias.h | 2 +- src/bias/BiasValue.cpp | 2 +- src/bias/ExtendedLagrangian.cpp | 2 +- src/bias/External.cpp | 2 +- src/bias/LWalls.cpp | 2 +- src/bias/MetaD.cpp | 2 +- src/bias/MovingRestraint.cpp | 2 +- src/bias/Restraint.cpp | 2 +- src/bias/UWalls.cpp | 2 +- src/cltools/Driver.cpp | 2 +- src/cltools/GenTemplate.cpp | 2 +- src/cltools/Info.cpp | 2 +- src/cltools/Manual.cpp | 2 +- src/cltools/SimpleMD.cpp | 2 +- src/cltools/SumHills.cpp | 2 +- src/cltools/kT.cpp | 2 +- src/colvar/Angle.cpp | 2 +- src/colvar/CH3Shifts.cpp | 2 +- src/colvar/CS2Backbone.cpp | 2 +- src/colvar/Cell.cpp | 2 +- src/colvar/Constant.cpp | 2 +- src/colvar/ContactMap.cpp | 2 +- src/colvar/Coordination.cpp | 2 +- src/colvar/CoordinationBase.h | 2 +- src/colvar/DHEnergy.cpp | 2 +- src/colvar/DRMSD.cpp | 2 +- src/colvar/Dipole.cpp | 2 +- src/colvar/Distance.cpp | 2 +- src/colvar/Energy.cpp | 2 +- src/colvar/Fake.cpp | 2 +- src/colvar/Gyration.cpp | 2 +- src/colvar/MultiRMSD.cpp | 2 +- src/colvar/NOE.cpp | 2 +- src/colvar/PCARMSD.cpp | 2 +- src/colvar/PathMSD.cpp | 2 +- src/colvar/PathMSDBase.h | 2 +- src/colvar/Position.cpp | 2 +- src/colvar/PropertyMap.cpp | 2 +- src/colvar/Puckering.cpp | 2 +- src/colvar/RDC.cpp | 2 +- src/colvar/RMSD.cpp | 2 +- src/colvar/Template.cpp | 2 +- src/colvar/Torsion.cpp | 2 +- src/colvar/Volume.cpp | 2 +- src/core/Action.h | 4 +-- src/core/ActionAtomistic.h | 2 +- src/core/ActionPilot.h | 2 +- src/core/ActionSet.h | 2 +- src/core/ActionSetup.h | 2 +- src/core/ActionWithArguments.h | 2 +- src/core/ActionWithValue.h | 2 +- src/core/ActionWithVirtualAtom.h | 2 +- src/core/Atoms.h | 2 +- src/core/CLTool.h | 4 +-- src/core/CLToolMain.cpp | 4 +-- src/core/Colvar.h | 2 +- src/core/GREX.h | 2 +- src/core/SetupMolInfo.h | 2 +- src/core/TargetDist.h | 2 +- src/crystallization/DFSBasic.cpp | 2 +- src/crystallization/DFSClusterRadius.cpp | 2 +- src/crystallization/DFSClustering.h | 2 +- src/crystallization/DFSMaxSize.cpp | 2 +- src/crystallization/DFSNumberOfClusters.cpp | 2 +- src/crystallization/Fccubic.cpp | 2 +- src/crystallization/Gradient.h | 2 +- src/crystallization/GradientVessel.cpp | 2 +- src/crystallization/LocalSteinhardt.h | 2 +- src/crystallization/MoleculeOrientation.cpp | 2 +- src/crystallization/MoleculePlane.cpp | 2 +- src/crystallization/OrientationSphere.h | 2 +- src/crystallization/Q3.cpp | 2 +- src/crystallization/Q4.cpp | 2 +- src/crystallization/Q6.cpp | 2 +- src/crystallization/SMAC.cpp | 2 +- src/crystallization/SimpleCubic.cpp | 2 +- src/crystallization/Steinhardt.h | 2 +- src/crystallization/Tetrahedral.cpp | 2 +- src/crystallization/VectorMean.cpp | 2 +- src/crystallization/VectorMultiColvar.h | 2 +- src/crystallization/VectorSum.cpp | 2 +- src/function/Combine.cpp | 2 +- src/function/Ensemble.cpp | 2 +- src/function/FuncPathMSD.cpp | 2 +- src/function/FuncSumHills.cpp | 2 +- src/function/Function.h | 2 +- src/function/Matheval.cpp | 2 +- src/function/Piecewise.cpp | 2 +- src/function/Sort.cpp | 2 +- src/function/Target.cpp | 2 +- src/generic/Debug.cpp | 2 +- src/generic/DumpAtoms.cpp | 2 +- src/generic/DumpDerivatives.cpp | 2 +- src/generic/DumpForces.cpp | 2 +- src/generic/DumpMassCharge.cpp | 2 +- src/generic/DumpProjections.cpp | 2 +- src/generic/EffectiveEnergyDrift.cpp | 2 +- src/generic/FitToTemplate.cpp | 2 +- src/generic/Flush.cpp | 2 +- src/generic/Group.cpp | 2 +- src/generic/Include.cpp | 2 +- src/generic/Print.cpp | 2 +- src/generic/RandomExchanges.cpp | 2 +- src/generic/Read.cpp | 2 +- src/generic/Time.cpp | 2 +- src/generic/WholeMolecules.cpp | 2 +- src/generic/WrapAround.cpp | 2 +- src/imd/ActionIMD.cpp | 2 +- src/manyrestraints/ManyRestraintsBase.h | 2 +- src/manyrestraints/UWalls.cpp | 2 +- src/mapping/Mapping.h | 2 +- src/mapping/PCAVars.cpp | 2 +- src/mapping/Path.cpp | 2 +- src/mapping/PathBase.h | 2 +- src/mapping/PropertyMap.cpp | 2 +- src/mapping/SpathVessel.cpp | 2 +- src/mapping/ZpathVessel.cpp | 2 +- src/multicolvar/ActionVolume.h | 2 +- src/multicolvar/AdjacencyMatrixAction.h | 2 +- src/multicolvar/AdjacencyMatrixVessel.h | 2 +- src/multicolvar/AlphaBeta.cpp | 2 +- src/multicolvar/Angles.cpp | 2 +- src/multicolvar/Bridge.cpp | 2 +- src/multicolvar/BridgedMultiColvarFunction.h | 2 +- src/multicolvar/CoordinationNumbers.cpp | 2 +- src/multicolvar/Density.cpp | 2 +- src/multicolvar/DihedralCorrelation.cpp | 2 +- src/multicolvar/Distances.cpp | 2 +- src/multicolvar/DumpMultiColvar.cpp | 2 +- src/multicolvar/FilterBetween.cpp | 2 +- src/multicolvar/FilterLessThan.cpp | 2 +- src/multicolvar/FilterMoreThan.cpp | 2 +- src/multicolvar/InPlaneDistances.cpp | 2 +- src/multicolvar/LocalAverage.cpp | 2 +- src/multicolvar/MultiColvar.h | 2 +- src/multicolvar/MultiColvarBase.h | 2 +- src/multicolvar/MultiColvarDensity.cpp | 2 +- src/multicolvar/MultiColvarFilter.h | 2 +- src/multicolvar/MultiColvarFunction.h | 2 +- src/multicolvar/NumberOfLinks.cpp | 2 +- src/multicolvar/Sprint.cpp | 2 +- src/multicolvar/Torsions.cpp | 2 +- src/multicolvar/VolumeAround.cpp | 2 +- src/multicolvar/VolumeCavity.cpp | 2 +- src/multicolvar/VolumeGradientBase.h | 2 +- src/multicolvar/VolumeInCylinder.cpp | 2 +- src/multicolvar/VolumeTetrapore.cpp | 2 +- src/multicolvar/XDistances.cpp | 2 +- src/multicolvar/XYDistances.cpp | 2 +- src/reference/ArgumentOnlyDistance.h | 2 +- src/reference/DRMSD.h | 2 +- src/reference/Direction.cpp | 2 +- src/reference/DotProductDistance.cpp | 2 +- src/reference/EuclideanDistance.cpp | 2 +- src/reference/FakeFrame.h | 2 +- src/reference/MahalanobisDistance.cpp | 2 +- src/reference/MultiDomainRMSD.h | 2 +- src/reference/NormalizedEuclideanDistance.cpp | 2 +- src/reference/OptimalRMSD.cpp | 2 +- src/reference/RMSDBase.h | 2 +- src/reference/ReferenceArguments.h | 2 +- src/reference/ReferenceAtoms.h | 2 +- src/reference/ReferenceConfiguration.h | 4 +-- src/reference/SimpleRMSD.cpp | 2 +- src/reference/SingleDomainRMSD.h | 2 +- src/secondarystructure/AlphaRMSD.cpp | 2 +- src/secondarystructure/AntibetaRMSD.cpp | 2 +- src/secondarystructure/ParabetaRMSD.cpp | 2 +- .../SecondaryStructureRMSD.h | 2 +- src/setup/Load.cpp | 2 +- src/setup/Restart.cpp | 2 +- src/setup/Units.cpp | 2 +- src/tools/AtomNumber.h | 4 ++- src/tools/Communicator.h | 34 +++++++++---------- src/tools/Exception.h | 2 +- src/tools/FileBase.h | 2 +- src/tools/Grid.h | 4 +-- src/tools/Keywords.h | 2 +- src/tools/LinkCells.h | 2 +- src/tools/Random.h | 2 +- src/vatom/COM.cpp | 2 +- src/vatom/Center.cpp | 2 +- src/vatom/Ghost.cpp | 2 +- src/vesselbase/ActionWithInputVessel.h | 2 +- src/vesselbase/ActionWithVessel.h | 2 +- src/vesselbase/AltMin.cpp | 2 +- src/vesselbase/Between.h | 2 +- src/vesselbase/BridgeVessel.h | 2 +- src/vesselbase/FunctionVessel.h | 2 +- src/vesselbase/Highest.cpp | 2 +- src/vesselbase/Histogram.cpp | 2 +- src/vesselbase/LessThan.h | 2 +- src/vesselbase/Lowest.cpp | 2 +- src/vesselbase/Max.cpp | 2 +- src/vesselbase/Mean.cpp | 2 +- src/vesselbase/Min.cpp | 2 +- src/vesselbase/Moments.cpp | 2 +- src/vesselbase/MoreThan.cpp | 2 +- src/vesselbase/OrderingVessel.h | 2 +- src/vesselbase/ShortcutVessel.h | 2 +- src/vesselbase/StoreDataVessel.h | 2 +- src/vesselbase/Sum.cpp | 2 +- src/vesselbase/ValueVessel.h | 2 +- src/vesselbase/Vessel.h | 2 +- src/wrapper/Plumed.h | 8 ++++- 213 files changed, 242 insertions(+), 234 deletions(-) diff --git a/src/analysis/Analysis.h b/src/analysis/Analysis.h index 33a01f972..9044ac07f 100644 --- a/src/analysis/Analysis.h +++ b/src/analysis/Analysis.h @@ -134,7 +134,7 @@ protected: std::string getOutputFormat() const ; public: static void registerKeywords( Keywords& keys ); - Analysis(const ActionOptions&); + explicit Analysis(const ActionOptions&); ~Analysis(); void prepare(); void calculate(); diff --git a/src/analysis/AnalysisWithLandmarks.h b/src/analysis/AnalysisWithLandmarks.h index 86426fc79..aa361123c 100644 --- a/src/analysis/AnalysisWithLandmarks.h +++ b/src/analysis/AnalysisWithLandmarks.h @@ -47,7 +47,7 @@ protected: unsigned getNumberOfLandmarks() const ; public: static void registerKeywords( Keywords& keys ); - AnalysisWithLandmarks( const ActionOptions& ); + explicit AnalysisWithLandmarks( const ActionOptions& ); ~AnalysisWithLandmarks(); /// Do the analysis void performAnalysis(); diff --git a/src/analysis/ClassicalMultiDimensionalScaling.cpp b/src/analysis/ClassicalMultiDimensionalScaling.cpp index f64e5211d..20e2451de 100644 --- a/src/analysis/ClassicalMultiDimensionalScaling.cpp +++ b/src/analysis/ClassicalMultiDimensionalScaling.cpp @@ -172,7 +172,7 @@ private: PointWiseMapping* myembedding; public: static void registerKeywords( Keywords& keys ); - ClassicalMultiDimensionalScaling( const ActionOptions& ao ); + explicit ClassicalMultiDimensionalScaling( const ActionOptions& ao ); ~ClassicalMultiDimensionalScaling(); void analyzeLandmarks(); }; diff --git a/src/analysis/Commit.cpp b/src/analysis/Commit.cpp index a164f4d90..8879bf5f1 100644 --- a/src/analysis/Commit.cpp +++ b/src/analysis/Commit.cpp @@ -65,7 +65,7 @@ private: std::vector<double> bmin, bmax; public: static void registerKeywords( Keywords& keys ); - Committor(const ActionOptions&ao); + explicit Committor(const ActionOptions&ao); void calculate(); void apply(){} }; diff --git a/src/analysis/Histogram.cpp b/src/analysis/Histogram.cpp index 761d8a26a..befe10b72 100644 --- a/src/analysis/Histogram.cpp +++ b/src/analysis/Histogram.cpp @@ -122,7 +122,7 @@ private: bool unnormalized; public: static void registerKeywords( Keywords& keys ); - Histogram(const ActionOptions&ao); + explicit Histogram(const ActionOptions&ao); void performAnalysis(); void performTask( const unsigned& , const unsigned& , MultiValue& ) const ; }; diff --git a/src/analysis/LandmarkSelectionBase.h b/src/analysis/LandmarkSelectionBase.h index 123dd14cf..4e12a403c 100644 --- a/src/analysis/LandmarkSelectionBase.h +++ b/src/analysis/LandmarkSelectionBase.h @@ -71,7 +71,7 @@ protected: /// Transfer frame i in the underlying action to the object we are going to analyze void selectFrame( const unsigned& , MultiReferenceBase* ); public: - LandmarkSelectionBase( const LandmarkSelectionOptions& lo ); + explicit LandmarkSelectionBase( const LandmarkSelectionOptions& lo ); virtual ~LandmarkSelectionBase(); /// Check everything was read in void checkRead() const ; diff --git a/src/analysis/SelectAllFrames.cpp b/src/analysis/SelectAllFrames.cpp index b0f751264..6e9101508 100644 --- a/src/analysis/SelectAllFrames.cpp +++ b/src/analysis/SelectAllFrames.cpp @@ -27,7 +27,7 @@ namespace analysis { class CopyAllFrames : public LandmarkSelectionBase { public: - CopyAllFrames( const LandmarkSelectionOptions& lo ); + explicit CopyAllFrames( const LandmarkSelectionOptions& lo ); void select( MultiReferenceBase* ); }; diff --git a/src/bias/ABMD.cpp b/src/bias/ABMD.cpp index b71f88a67..45a41f3c2 100644 --- a/src/bias/ABMD.cpp +++ b/src/bias/ABMD.cpp @@ -89,7 +89,7 @@ class ABMD : public Bias{ std::vector<int> seed; vector<Random> random; public: - ABMD(const ActionOptions&); + explicit ABMD(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/bias/Bias.h b/src/bias/Bias.h index b7092b491..9e0ae8859 100644 --- a/src/bias/Bias.h +++ b/src/bias/Bias.h @@ -48,7 +48,7 @@ protected: void setOutputForce(int i,double g); public: static void registerKeywords(Keywords&); - Bias(const ActionOptions&ao); + explicit Bias(const ActionOptions&ao); void apply(); unsigned getNumberOfDerivatives(); void turnOnDerivatives(); diff --git a/src/bias/BiasValue.cpp b/src/bias/BiasValue.cpp index 30ef5f794..9a2e9e013 100644 --- a/src/bias/BiasValue.cpp +++ b/src/bias/BiasValue.cpp @@ -81,7 +81,7 @@ PRINT ARG=t,cos,sin,d.x,d.y,d.z,mycos,mysin,cc.bias.vv1 STRIDE=1 FILE=colvar FMT class BiasValue : public Bias{ public: - BiasValue(const ActionOptions&); + explicit BiasValue(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/bias/ExtendedLagrangian.cpp b/src/bias/ExtendedLagrangian.cpp index fcca8f001..171e92f01 100644 --- a/src/bias/ExtendedLagrangian.cpp +++ b/src/bias/ExtendedLagrangian.cpp @@ -129,7 +129,7 @@ class ExtendedLagrangian : public Bias{ double kbt; Random rand; public: - ExtendedLagrangian(const ActionOptions&); + explicit ExtendedLagrangian(const ActionOptions&); void calculate(); void update(); void turnOnDerivatives(); diff --git a/src/bias/External.cpp b/src/bias/External.cpp index 256321756..db9cfb53b 100644 --- a/src/bias/External.cpp +++ b/src/bias/External.cpp @@ -99,7 +99,7 @@ private: Grid* BiasGrid_; public: - External(const ActionOptions&); + explicit External(const ActionOptions&); ~External(); void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/bias/LWalls.cpp b/src/bias/LWalls.cpp index dbb26c8a1..ed8dd9ef9 100644 --- a/src/bias/LWalls.cpp +++ b/src/bias/LWalls.cpp @@ -71,7 +71,7 @@ class LWalls : public Bias{ std::vector<double> eps; std::vector<double> offset; public: - LWalls(const ActionOptions&); + explicit LWalls(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/bias/MetaD.cpp b/src/bias/MetaD.cpp index 23f3259d4..d0bc095ed 100644 --- a/src/bias/MetaD.cpp +++ b/src/bias/MetaD.cpp @@ -284,7 +284,7 @@ private: std::string fmt; public: - MetaD(const ActionOptions&); + explicit MetaD(const ActionOptions&); ~MetaD(); void calculate(); void update(); diff --git a/src/bias/MovingRestraint.cpp b/src/bias/MovingRestraint.cpp index 66275e39f..68f21d293 100644 --- a/src/bias/MovingRestraint.cpp +++ b/src/bias/MovingRestraint.cpp @@ -112,7 +112,7 @@ class MovingRestraint : public Bias{ std::vector<double> work; double tot_work; public: - MovingRestraint(const ActionOptions&); + explicit MovingRestraint(const ActionOptions&); void calculate(); static void registerKeywords( Keywords& keys ); }; diff --git a/src/bias/Restraint.cpp b/src/bias/Restraint.cpp index a6a8af0b0..8a2e1139d 100644 --- a/src/bias/Restraint.cpp +++ b/src/bias/Restraint.cpp @@ -67,7 +67,7 @@ class Restraint : public Bias{ Value* valueBias; Value* valueForce2; public: - Restraint(const ActionOptions&); + explicit Restraint(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/bias/UWalls.cpp b/src/bias/UWalls.cpp index bb97ea4da..6f77344bc 100644 --- a/src/bias/UWalls.cpp +++ b/src/bias/UWalls.cpp @@ -71,7 +71,7 @@ class UWalls : public Bias{ std::vector<double> eps; std::vector<double> offset; public: - UWalls(const ActionOptions&); + explicit UWalls(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/cltools/Driver.cpp b/src/cltools/Driver.cpp index 21d7b823d..cd27611d5 100644 --- a/src/cltools/Driver.cpp +++ b/src/cltools/Driver.cpp @@ -166,7 +166,7 @@ template<typename real> class Driver : public CLTool { public: static void registerKeywords( Keywords& keys ); - Driver(const CLToolOptions& co ); + explicit Driver(const CLToolOptions& co ); int main(FILE* in,FILE*out,Communicator& pc); string description()const; }; diff --git a/src/cltools/GenTemplate.cpp b/src/cltools/GenTemplate.cpp index a6aab531f..a0f494f4b 100644 --- a/src/cltools/GenTemplate.cpp +++ b/src/cltools/GenTemplate.cpp @@ -58,7 +58,7 @@ public CLTool { public: static void registerKeywords( Keywords& keys ); - GenTemplate(const CLToolOptions& co ); + explicit GenTemplate(const CLToolOptions& co ); int main(FILE* in, FILE*out,Communicator& pc); string description()const{ return "print out a template input for a particular action"; diff --git a/src/cltools/Info.cpp b/src/cltools/Info.cpp index 51c9e7f95..9ed205ef0 100644 --- a/src/cltools/Info.cpp +++ b/src/cltools/Info.cpp @@ -54,7 +54,7 @@ public CLTool { public: static void registerKeywords( Keywords& keys ); - Info(const CLToolOptions& co ); + explicit Info(const CLToolOptions& co ); int main(FILE* in, FILE*out,Communicator& pc); string description()const{ return "provide informations about plumed"; diff --git a/src/cltools/Manual.cpp b/src/cltools/Manual.cpp index 477f8c65c..8ad567fe1 100644 --- a/src/cltools/Manual.cpp +++ b/src/cltools/Manual.cpp @@ -59,7 +59,7 @@ public CLTool { public: static void registerKeywords( Keywords& keys ); - Manual(const CLToolOptions& co ); + explicit Manual(const CLToolOptions& co ); int main(FILE* in, FILE*out,Communicator& pc); string description()const{ return "print out a description of the keywords for an action in html"; diff --git a/src/cltools/SimpleMD.cpp b/src/cltools/SimpleMD.cpp index 241acdb07..614ebbf59 100644 --- a/src/cltools/SimpleMD.cpp +++ b/src/cltools/SimpleMD.cpp @@ -104,7 +104,7 @@ static void registerKeywords( Keywords& keys ){ keys.add("compulsory","wrapatoms","false","If true, atomic coordinates are written wrapped in minimal cell"); } -SimpleMD( const CLToolOptions& co ) : +explicit SimpleMD( const CLToolOptions& co ) : CLTool(co), write_positions_first(true), write_statistics_first(true), diff --git a/src/cltools/SumHills.cpp b/src/cltools/SumHills.cpp index 47ed3d1c0..c02388b44 100644 --- a/src/cltools/SumHills.cpp +++ b/src/cltools/SumHills.cpp @@ -189,7 +189,7 @@ that gives myhisto_0.dat, myhisto_1.dat, myhisto_3.dat etc.. class CLToolSumHills : public CLTool { public: static void registerKeywords( Keywords& keys ); - CLToolSumHills(const CLToolOptions& co ); + explicit CLToolSumHills(const CLToolOptions& co ); int main(FILE* in,FILE*out,Communicator& pc); string description()const; /// find a list of variables present, if they are periodic and which is the period diff --git a/src/cltools/kT.cpp b/src/cltools/kT.cpp index 684c1a741..123f4ed09 100644 --- a/src/cltools/kT.cpp +++ b/src/cltools/kT.cpp @@ -56,7 +56,7 @@ public CLTool { public: static void registerKeywords( Keywords& keys ); - kt(const CLToolOptions& co ); + explicit kt(const CLToolOptions& co ); int main(FILE* in, FILE*out,Communicator& pc); string description()const{ return "print out the value of kT at a particular temperature"; diff --git a/src/colvar/Angle.cpp b/src/colvar/Angle.cpp index 1c2065e8c..27518bea6 100644 --- a/src/colvar/Angle.cpp +++ b/src/colvar/Angle.cpp @@ -88,7 +88,7 @@ class Angle : public Colvar { bool pbc; public: - Angle(const ActionOptions&); + explicit Angle(const ActionOptions&); // active methods: virtual void calculate(); static void registerKeywords( Keywords& keys ); diff --git a/src/colvar/CH3Shifts.cpp b/src/colvar/CH3Shifts.cpp index f8754b05c..fb40b62ae 100644 --- a/src/colvar/CH3Shifts.cpp +++ b/src/colvar/CH3Shifts.cpp @@ -123,7 +123,7 @@ class CH3Shifts : public Colvar { double len_pl2alm; double for_pl2alm; public: - CH3Shifts(const ActionOptions&); + explicit CH3Shifts(const ActionOptions&); ~CH3Shifts(); static void registerKeywords( Keywords& keys ); virtual void calculate(); diff --git a/src/colvar/CS2Backbone.cpp b/src/colvar/CS2Backbone.cpp index e2811128f..4747462f7 100644 --- a/src/colvar/CS2Backbone.cpp +++ b/src/colvar/CS2Backbone.cpp @@ -135,7 +135,7 @@ class CS2Backbone : public Colvar { Coor<double> coor; Coor<double> csforces; public: - CS2Backbone(const ActionOptions&); + explicit CS2Backbone(const ActionOptions&); ~CS2Backbone(); static void registerKeywords( Keywords& keys ); virtual void calculate(); diff --git a/src/colvar/Cell.cpp b/src/colvar/Cell.cpp index f37f0a0cc..6c77b5369 100644 --- a/src/colvar/Cell.cpp +++ b/src/colvar/Cell.cpp @@ -53,7 +53,7 @@ class Cell : public Colvar { Value* components[3][3]; public: - Cell(const ActionOptions&); + explicit Cell(const ActionOptions&); // active methods: virtual void calculate(); /// Register all the keywords for this action diff --git a/src/colvar/Constant.cpp b/src/colvar/Constant.cpp index 3adee8764..c9daad3c2 100644 --- a/src/colvar/Constant.cpp +++ b/src/colvar/Constant.cpp @@ -58,7 +58,7 @@ PRINT ARG=sss.2 class Constant : public Colvar { double value; public: - Constant(const ActionOptions&); + explicit Constant(const ActionOptions&); // active methods: virtual void calculate(); static void registerKeywords( Keywords& keys ); diff --git a/src/colvar/ContactMap.cpp b/src/colvar/ContactMap.cpp index 2b5d2ab26..e9789f916 100644 --- a/src/colvar/ContactMap.cpp +++ b/src/colvar/ContactMap.cpp @@ -81,7 +81,7 @@ private: vector<double> reference, weight; public: static void registerKeywords( Keywords& keys ); - ContactMap(const ActionOptions&); + explicit ContactMap(const ActionOptions&); ~ContactMap(); // active methods: virtual void calculate(); diff --git a/src/colvar/Coordination.cpp b/src/colvar/Coordination.cpp index 83f2422a5..a2d71b8de 100644 --- a/src/colvar/Coordination.cpp +++ b/src/colvar/Coordination.cpp @@ -94,7 +94,7 @@ class Coordination : public CoordinationBase{ SwitchingFunction switchingFunction; public: - Coordination(const ActionOptions&); + explicit Coordination(const ActionOptions&); // active methods: static void registerKeywords( Keywords& keys ); virtual double pairing(double distance,double&dfunc,unsigned i,unsigned j)const; diff --git a/src/colvar/CoordinationBase.h b/src/colvar/CoordinationBase.h index 0e786a5e0..5f6ae3a7e 100644 --- a/src/colvar/CoordinationBase.h +++ b/src/colvar/CoordinationBase.h @@ -37,7 +37,7 @@ class CoordinationBase : public Colvar { bool firsttime; public: - CoordinationBase(const ActionOptions&); + explicit CoordinationBase(const ActionOptions&); ~CoordinationBase(); // active methods: virtual void calculate(); diff --git a/src/colvar/DHEnergy.cpp b/src/colvar/DHEnergy.cpp index 8bfc63b7b..590775db3 100644 --- a/src/colvar/DHEnergy.cpp +++ b/src/colvar/DHEnergy.cpp @@ -72,7 +72,7 @@ class DHEnergy : public CoordinationBase{ double epsilon; public: - DHEnergy(const ActionOptions&); + explicit DHEnergy(const ActionOptions&); // active methods: static void registerKeywords( Keywords& keys ); virtual double pairing(double distance,double&dfunc,unsigned i,unsigned j)const; diff --git a/src/colvar/DRMSD.cpp b/src/colvar/DRMSD.cpp index 9a41f57c5..f83ade6bb 100644 --- a/src/colvar/DRMSD.cpp +++ b/src/colvar/DRMSD.cpp @@ -82,7 +82,7 @@ class DRMSD : public Colvar { PLMD::DRMSD* drmsd_; public: - DRMSD(const ActionOptions&); + explicit DRMSD(const ActionOptions&); ~DRMSD(); virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/Dipole.cpp b/src/colvar/Dipole.cpp index efa2567db..28d4f1af2 100644 --- a/src/colvar/Dipole.cpp +++ b/src/colvar/Dipole.cpp @@ -55,7 +55,7 @@ on the position) is computed on the geometric center of the group. class Dipole : public Colvar { vector<AtomNumber> ga_lista; public: - Dipole(const ActionOptions&); + explicit Dipole(const ActionOptions&); virtual void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/colvar/Distance.cpp b/src/colvar/Distance.cpp index 40fa4d76c..890f11a8a 100644 --- a/src/colvar/Distance.cpp +++ b/src/colvar/Distance.cpp @@ -118,7 +118,7 @@ class Distance : public Colvar { public: static void registerKeywords( Keywords& keys ); - Distance(const ActionOptions&); + explicit Distance(const ActionOptions&); // active methods: virtual void calculate(); }; diff --git a/src/colvar/Energy.cpp b/src/colvar/Energy.cpp index 9b55c949b..e2f68a869 100644 --- a/src/colvar/Energy.cpp +++ b/src/colvar/Energy.cpp @@ -61,7 +61,7 @@ PRINT ARG=ene class Energy : public Colvar { public: - Energy(const ActionOptions&); + explicit Energy(const ActionOptions&); // active methods: void prepare(); virtual void calculate(); diff --git a/src/colvar/Fake.cpp b/src/colvar/Fake.cpp index c7f49c568..c0efb6e17 100644 --- a/src/colvar/Fake.cpp +++ b/src/colvar/Fake.cpp @@ -51,7 +51,7 @@ class ColvarFake : public Colvar { public: static void registerKeywords( Keywords& keys ); - ColvarFake(const ActionOptions&); + explicit ColvarFake(const ActionOptions&); // active methods: virtual void calculate(); }; diff --git a/src/colvar/Gyration.cpp b/src/colvar/Gyration.cpp index 8f2572a21..212506769 100644 --- a/src/colvar/Gyration.cpp +++ b/src/colvar/Gyration.cpp @@ -93,7 +93,7 @@ private: bool nopbc; public: static void registerKeywords(Keywords& keys); - Gyration(const ActionOptions&); + explicit Gyration(const ActionOptions&); virtual void calculate(); }; diff --git a/src/colvar/MultiRMSD.cpp b/src/colvar/MultiRMSD.cpp index aeab313c8..d341dbad6 100644 --- a/src/colvar/MultiRMSD.cpp +++ b/src/colvar/MultiRMSD.cpp @@ -41,7 +41,7 @@ class MultiRMSD : public Colvar { ReferenceValuePack mypack; public: - MultiRMSD(const ActionOptions&); + explicit MultiRMSD(const ActionOptions&); ~MultiRMSD(); virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/NOE.cpp b/src/colvar/NOE.cpp index 5f5e6b887..4f0eb01dc 100644 --- a/src/colvar/NOE.cpp +++ b/src/colvar/NOE.cpp @@ -80,7 +80,7 @@ private: bool serial; public: static void registerKeywords( Keywords& keys ); - NOE(const ActionOptions&); + explicit NOE(const ActionOptions&); ~NOE(); virtual void calculate(); }; diff --git a/src/colvar/PCARMSD.cpp b/src/colvar/PCARMSD.cpp index 73321b8ff..eef472815 100644 --- a/src/colvar/PCARMSD.cpp +++ b/src/colvar/PCARMSD.cpp @@ -40,7 +40,7 @@ class PCARMSD : public Colvar { std::vector<PDB> pdbv; std::vector<string> pca_names; public: - PCARMSD(const ActionOptions&); + explicit PCARMSD(const ActionOptions&); ~PCARMSD(); virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/PathMSD.cpp b/src/colvar/PathMSD.cpp index ac484f2fa..b5734044a 100644 --- a/src/colvar/PathMSD.cpp +++ b/src/colvar/PathMSD.cpp @@ -63,7 +63,7 @@ is shared, as well as most input options. class PathMSD : public PathMSDBase { public: - PathMSD(const ActionOptions&); + explicit PathMSD(const ActionOptions&); static void registerKeywords(Keywords& keys); }; diff --git a/src/colvar/PathMSDBase.h b/src/colvar/PathMSDBase.h index d4140678b..f7d64b8ba 100644 --- a/src/colvar/PathMSDBase.h +++ b/src/colvar/PathMSDBase.h @@ -75,7 +75,7 @@ protected: std::vector< std::vector<double> > indexvec; // use double to allow isomaps unsigned nframes; public: - PathMSDBase(const ActionOptions&); + explicit PathMSDBase(const ActionOptions&); // active methods: virtual void calculate(); // virtual void prepare(); diff --git a/src/colvar/Position.cpp b/src/colvar/Position.cpp index 943b07e57..cddd6364a 100644 --- a/src/colvar/Position.cpp +++ b/src/colvar/Position.cpp @@ -72,7 +72,7 @@ class Position : public Colvar { public: static void registerKeywords( Keywords& keys ); - Position(const ActionOptions&); + explicit Position(const ActionOptions&); // active methods: virtual void calculate(); }; diff --git a/src/colvar/PropertyMap.cpp b/src/colvar/PropertyMap.cpp index 621d99ca6..8a4170075 100644 --- a/src/colvar/PropertyMap.cpp +++ b/src/colvar/PropertyMap.cpp @@ -81,7 +81,7 @@ is shared, as well as most input options. class PropertyMap : public PathMSDBase { public: - PropertyMap(const ActionOptions&); + explicit PropertyMap(const ActionOptions&); static void registerKeywords(Keywords& keys); }; diff --git a/src/colvar/Puckering.cpp b/src/colvar/Puckering.cpp index 9157940f6..b39b1b920 100644 --- a/src/colvar/Puckering.cpp +++ b/src/colvar/Puckering.cpp @@ -56,7 +56,7 @@ namespace colvar{ class Puckering : public Colvar { public: - Puckering(const ActionOptions&); + explicit Puckering(const ActionOptions&); virtual void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/colvar/RDC.cpp b/src/colvar/RDC.cpp index c471666fa..5cf65e1c0 100644 --- a/src/colvar/RDC.cpp +++ b/src/colvar/RDC.cpp @@ -129,7 +129,7 @@ private: bool serial; bool svd; public: - RDC(const ActionOptions&); + explicit RDC(const ActionOptions&); static void registerKeywords( Keywords& keys ); virtual void calculate(); }; diff --git a/src/colvar/RMSD.cpp b/src/colvar/RMSD.cpp index 352007ada..df1daf679 100644 --- a/src/colvar/RMSD.cpp +++ b/src/colvar/RMSD.cpp @@ -41,7 +41,7 @@ class RMSD : public Colvar { bool squared; public: - RMSD(const ActionOptions&); + explicit RMSD(const ActionOptions&); ~RMSD(); virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/Template.cpp b/src/colvar/Template.cpp index 0bcc1030d..28b1443a0 100644 --- a/src/colvar/Template.cpp +++ b/src/colvar/Template.cpp @@ -47,7 +47,7 @@ class Template : public Colvar { bool pbc; public: - Template(const ActionOptions&); + explicit Template(const ActionOptions&); // active methods: virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/Torsion.cpp b/src/colvar/Torsion.cpp index f4e2b2fe7..486774f8b 100644 --- a/src/colvar/Torsion.cpp +++ b/src/colvar/Torsion.cpp @@ -71,7 +71,7 @@ class Torsion : public Colvar { bool do_cosine; public: - Torsion(const ActionOptions&); + explicit Torsion(const ActionOptions&); // active methods: virtual void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/colvar/Volume.cpp b/src/colvar/Volume.cpp index 951960ac4..4f4f79c66 100644 --- a/src/colvar/Volume.cpp +++ b/src/colvar/Volume.cpp @@ -49,7 +49,7 @@ PRINT ARG=vol class Volume : public Colvar { public: - Volume(const ActionOptions&); + explicit Volume(const ActionOptions&); // active methods: virtual void calculate(); /// Register all the keywords for this action diff --git a/src/core/Action.h b/src/core/Action.h index a6ec62ece..0ae02f996 100644 --- a/src/core/Action.h +++ b/src/core/Action.h @@ -157,12 +157,12 @@ public: public: /// Standard constructor from ActionOptions - Action(const ActionOptions&); + explicit Action(const ActionOptions&); /// Destructor virtual ~Action(); private: /// Copy constructor is disabled (private and unimplemented) - Action(const Action&a); + explicit Action(const Action&a); /// Assignment operator is disabled (private and unimplemented) Action& operator=(const Action&a); public: diff --git a/src/core/ActionAtomistic.h b/src/core/ActionAtomistic.h index 2d15c2dad..4a32b2700 100644 --- a/src/core/ActionAtomistic.h +++ b/src/core/ActionAtomistic.h @@ -138,7 +138,7 @@ public: // virtual functions: - ActionAtomistic(const ActionOptions&ao); + explicit ActionAtomistic(const ActionOptions&ao); ~ActionAtomistic(); static void registerKeywords( Keywords& keys ); diff --git a/src/core/ActionPilot.h b/src/core/ActionPilot.h index 551c73d0b..359e0f55a 100644 --- a/src/core/ActionPilot.h +++ b/src/core/ActionPilot.h @@ -43,7 +43,7 @@ class ActionPilot: protected: int getStride()const; public: - ActionPilot(const ActionOptions&); + explicit ActionPilot(const ActionOptions&); /// Create the keywords for actionPilot static void registerKeywords(Keywords& keys); /// Check if the action is active on this step diff --git a/src/core/ActionSet.h b/src/core/ActionSet.h index 3a29cda86..420ffd3fa 100644 --- a/src/core/ActionSet.h +++ b/src/core/ActionSet.h @@ -40,7 +40,7 @@ class ActionSet: { PlumedMain& plumed; public: - ActionSet(PlumedMain&p); + explicit ActionSet(PlumedMain&p); ~ActionSet(); /// Clear and deletes all the included pointers. void clearDelete(); diff --git a/src/core/ActionSetup.h b/src/core/ActionSetup.h index d8f1412df..b0708b306 100644 --- a/src/core/ActionSetup.h +++ b/src/core/ActionSetup.h @@ -34,7 +34,7 @@ class ActionSetup : public virtual Action { public: /// Constructor - ActionSetup(const ActionOptions&ao); + explicit ActionSetup(const ActionOptions&ao); /// Creator of keywords static void registerKeywords( Keywords& keys ); /// Do nothing. diff --git a/src/core/ActionWithArguments.h b/src/core/ActionWithArguments.h index feef08a6d..a12bdc78a 100644 --- a/src/core/ActionWithArguments.h +++ b/src/core/ActionWithArguments.h @@ -69,7 +69,7 @@ public: /// Add forces to arguments (used in apply) void addForcesOnArguments( const std::vector<double>& forces ); public: - ActionWithArguments(const ActionOptions&); + explicit ActionWithArguments(const ActionOptions&); virtual ~ActionWithArguments(){} /// Calculate the numerical derivatives /// N.B. only pass an ActionWithValue to this routine if you know exactly what you diff --git a/src/core/ActionWithValue.h b/src/core/ActionWithValue.h index b4feadca8..39ddbf2f4 100644 --- a/src/core/ActionWithValue.h +++ b/src/core/ActionWithValue.h @@ -109,7 +109,7 @@ protected: /// Return a pointer to the value by name Value* getPntrToComponent(const std::string& name); public: - ActionWithValue(const ActionOptions&ao); + explicit ActionWithValue(const ActionOptions&ao); ~ActionWithValue(); /// Register all the relevant keywords for the action diff --git a/src/core/ActionWithVirtualAtom.h b/src/core/ActionWithVirtualAtom.h index 43b1ad2e3..3323b5da5 100644 --- a/src/core/ActionWithVirtualAtom.h +++ b/src/core/ActionWithVirtualAtom.h @@ -78,7 +78,7 @@ public: const std::map<AtomNumber,Tensor> & getGradients()const; /// Return the atom id of the corresponding virtual atom AtomNumber getIndex()const; - ActionWithVirtualAtom(const ActionOptions&ao); + explicit ActionWithVirtualAtom(const ActionOptions&ao); ~ActionWithVirtualAtom(); static void registerKeywords(Keywords& keys); void setGradientsIfNeeded(); diff --git a/src/core/Atoms.h b/src/core/Atoms.h index 7da51dc06..3318fe1f4 100644 --- a/src/core/Atoms.h +++ b/src/core/Atoms.h @@ -128,7 +128,7 @@ class Atoms public: - Atoms(PlumedMain&plumed); + explicit Atoms(PlumedMain&plumed); ~Atoms(); void init(); diff --git a/src/core/CLTool.h b/src/core/CLTool.h index ba7c44044..b434c47c1 100644 --- a/src/core/CLTool.h +++ b/src/core/CLTool.h @@ -42,7 +42,7 @@ private: const Keywords& keys; static Keywords emptyKeys; public: - CLToolOptions(const std::string &name); + explicit CLToolOptions(const std::string &name); CLToolOptions(const CLToolOptions& co, const Keywords& k); }; @@ -89,7 +89,7 @@ public: enum {unset,commandline,ifile} inputdata; /// Create the help keywords static void registerKeywords( Keywords& keys ); - CLTool(const CLToolOptions& co ); + explicit CLTool(const CLToolOptions& co ); /// Read the arguments from the command line bool readInput( int argc, char**argv, FILE* in, FILE*out ); /// virtual function mapping to the specific main for each tool diff --git a/src/core/CLToolMain.cpp b/src/core/CLToolMain.cpp index ef97621ec..a77e2b1cc 100644 --- a/src/core/CLToolMain.cpp +++ b/src/core/CLToolMain.cpp @@ -203,7 +203,7 @@ int CLToolMain::run(int argc, char **argv,FILE*in,FILE*out,Communicator& pc){ "Commands:\n"; fprintf(out,"%s",msg.c_str()); for(unsigned j=0;j<availableCxx.size();++j){ - CLTool *cl=cltoolRegister().create(availableCxx[j]); + CLTool *cl=cltoolRegister().create(CLToolOptions(availableCxx[j])); plumed_assert(cl); string manual=availableCxx[j]+" : "+cl->description(); delete cl; @@ -229,7 +229,7 @@ int CLToolMain::run(int argc, char **argv,FILE*in,FILE*out,Communicator& pc){ string command(argv[i]); if(find(availableCxx.begin(),availableCxx.end(),command)!=availableCxx.end()){ - CLTool *cl=cltoolRegister().create(command); + CLTool *cl=cltoolRegister().create(CLToolOptions(command)); plumed_assert(cl); // Read the command line options (returns false if we are just printing help) if( !cl->readInput( argc-i,&argv[i],in,out ) ){ delete cl; return 0; } diff --git a/src/core/Colvar.h b/src/core/Colvar.h index e6a389542..d4366c474 100644 --- a/src/core/Colvar.h +++ b/src/core/Colvar.h @@ -66,7 +66,7 @@ protected: void setBoxDerivativesNoPbc(Value*); public: bool checkIsEnergy(){return isEnergy;} - Colvar(const ActionOptions&); + explicit Colvar(const ActionOptions&); ~Colvar(){} static void registerKeywords( Keywords& keys ); virtual unsigned getNumberOfDerivatives(); diff --git a/src/core/GREX.h b/src/core/GREX.h index 0f4996223..3d0e42f1f 100644 --- a/src/core/GREX.h +++ b/src/core/GREX.h @@ -49,7 +49,7 @@ class GREX: std::string buffer; int myreplica; public: - GREX(PlumedMain&); + explicit GREX(PlumedMain&); ~GREX(); void cmd(const std::string&key,void*val=NULL); void calculate(); diff --git a/src/core/SetupMolInfo.h b/src/core/SetupMolInfo.h index f741e8d9d..99088fc73 100644 --- a/src/core/SetupMolInfo.h +++ b/src/core/SetupMolInfo.h @@ -43,7 +43,7 @@ private: public: ~SetupMolInfo(); static void registerKeywords( Keywords& keys ); - SetupMolInfo(const ActionOptions&ao); + explicit SetupMolInfo(const ActionOptions&ao); void getBackbone( std::vector<std::string>& resstrings, const std::string& fortype, std::vector< std::vector<AtomNumber> >& backbone ); std::string getAtomName(AtomNumber a)const; unsigned getResidueNumber(AtomNumber a)const; diff --git a/src/core/TargetDist.h b/src/core/TargetDist.h index 111858ff8..8bc2c90de 100644 --- a/src/core/TargetDist.h +++ b/src/core/TargetDist.h @@ -37,7 +37,7 @@ private: std::vector<double> target; Log &log; public: - TargetDist(Log& log) : log(log) {} + explicit TargetDist(Log& log) : log(log) {} void read( const PDB& pdb, std::vector<Value*> args ); void read( const std::vector<double>& targ, std::vector<Value*> ar ); double calculate( std::vector<double>& derivs ); diff --git a/src/crystallization/DFSBasic.cpp b/src/crystallization/DFSBasic.cpp index 8412323e7..58f9d053b 100644 --- a/src/crystallization/DFSBasic.cpp +++ b/src/crystallization/DFSBasic.cpp @@ -137,7 +137,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - DFSBasic(const ActionOptions&); + explicit DFSBasic(const ActionOptions&); /// void doCalculationOnCluster(); }; diff --git a/src/crystallization/DFSClusterRadius.cpp b/src/crystallization/DFSClusterRadius.cpp index b39fd30bc..d72bf626a 100644 --- a/src/crystallization/DFSClusterRadius.cpp +++ b/src/crystallization/DFSClusterRadius.cpp @@ -48,7 +48,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - DFSClusterDiameter(const ActionOptions&); + explicit DFSClusterDiameter(const ActionOptions&); /// void doCalculationOnCluster(); /// diff --git a/src/crystallization/DFSClustering.h b/src/crystallization/DFSClustering.h index 09efb83f4..3ad613abe 100644 --- a/src/crystallization/DFSClustering.h +++ b/src/crystallization/DFSClustering.h @@ -52,7 +52,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - DFSClustering(const ActionOptions&); + explicit DFSClustering(const ActionOptions&); /// Required as we have to be able to deal with vectors unsigned getNumberOfQuantities(); /// This checks whether derivatives can be computed given the base multicolvar diff --git a/src/crystallization/DFSMaxSize.cpp b/src/crystallization/DFSMaxSize.cpp index 877ced320..93e59f1d3 100644 --- a/src/crystallization/DFSMaxSize.cpp +++ b/src/crystallization/DFSMaxSize.cpp @@ -79,7 +79,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - DFSMaxCluster(const ActionOptions&); + explicit DFSMaxCluster(const ActionOptions&); /// void doCalculationOnCluster(); }; diff --git a/src/crystallization/DFSNumberOfClusters.cpp b/src/crystallization/DFSNumberOfClusters.cpp index e11f81f42..6db6912e0 100644 --- a/src/crystallization/DFSNumberOfClusters.cpp +++ b/src/crystallization/DFSNumberOfClusters.cpp @@ -45,7 +45,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - DFSNumberOfClusters(const ActionOptions&); + explicit DFSNumberOfClusters(const ActionOptions&); /// void doCalculationOnCluster(); }; diff --git a/src/crystallization/Fccubic.cpp b/src/crystallization/Fccubic.cpp index ebcd35e39..617ae7070 100644 --- a/src/crystallization/Fccubic.cpp +++ b/src/crystallization/Fccubic.cpp @@ -50,7 +50,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - Fccubic(const ActionOptions&); + explicit Fccubic(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/crystallization/Gradient.h b/src/crystallization/Gradient.h index 7a8b6a8e1..01f06cbd7 100644 --- a/src/crystallization/Gradient.h +++ b/src/crystallization/Gradient.h @@ -40,7 +40,7 @@ private: std::string kerneltype; public: static void registerKeywords( Keywords& keys ); - Gradient(const ActionOptions&); + explicit Gradient(const ActionOptions&); /// Get the number of quantities that are calculated each time virtual unsigned getNumberOfQuantities(); /// Check on pbc - is it orthorhombic diff --git a/src/crystallization/GradientVessel.cpp b/src/crystallization/GradientVessel.cpp index 0d202c7ea..ff28afa4f 100644 --- a/src/crystallization/GradientVessel.cpp +++ b/src/crystallization/GradientVessel.cpp @@ -37,7 +37,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - GradientVessel( const vesselbase::VesselOptions& da ); + explicit GradientVessel( const vesselbase::VesselOptions& da ); std::string value_descriptor(); void resize(); bool calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const ; diff --git a/src/crystallization/LocalSteinhardt.h b/src/crystallization/LocalSteinhardt.h index bd71cc629..bfa6ac048 100644 --- a/src/crystallization/LocalSteinhardt.h +++ b/src/crystallization/LocalSteinhardt.h @@ -32,7 +32,7 @@ public: static void registerKeywords( Keywords& keys ){ OrientationSphere::registerKeywords(keys); } - LocalSteinhardt(const ActionOptions& ao): Action(ao), OrientationSphere(ao) + explicit LocalSteinhardt(const ActionOptions& ao): Action(ao), OrientationSphere(ao) { T* mc=dynamic_cast<T*>( getBaseMultiColvar(0) ); if(!mc) error("input action is not calculating the correct vectors"); diff --git a/src/crystallization/MoleculeOrientation.cpp b/src/crystallization/MoleculeOrientation.cpp index c47a91435..7f458d91d 100644 --- a/src/crystallization/MoleculeOrientation.cpp +++ b/src/crystallization/MoleculeOrientation.cpp @@ -53,7 +53,7 @@ class MoleculeOrientation : public VectorMultiColvar { private: public: static void registerKeywords( Keywords& keys ); - MoleculeOrientation( const ActionOptions& ao ); + explicit MoleculeOrientation( const ActionOptions& ao ); void calculateVector( multicolvar::AtomValuePack& myatoms ) const; }; diff --git a/src/crystallization/MoleculePlane.cpp b/src/crystallization/MoleculePlane.cpp index e9c0c74d1..e40cc43cc 100644 --- a/src/crystallization/MoleculePlane.cpp +++ b/src/crystallization/MoleculePlane.cpp @@ -40,7 +40,7 @@ class MoleculePlane : public VectorMultiColvar { private: public: static void registerKeywords( Keywords& keys ); - MoleculePlane( const ActionOptions& ao ); + explicit MoleculePlane( const ActionOptions& ao ); void calculateVector( multicolvar::AtomValuePack& myatoms ) const ; }; diff --git a/src/crystallization/OrientationSphere.h b/src/crystallization/OrientationSphere.h index 20b43cdc1..cdf5b6ac2 100644 --- a/src/crystallization/OrientationSphere.h +++ b/src/crystallization/OrientationSphere.h @@ -37,7 +37,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - OrientationSphere(const ActionOptions&); + explicit OrientationSphere(const ActionOptions&); double compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const ; virtual double transformDotProduct( const double& dot, double& df ) const ; virtual double calculateCoordinationPrefactor( const double& coord, double& df ) const ; diff --git a/src/crystallization/Q3.cpp b/src/crystallization/Q3.cpp index ab47f2634..033d6d407 100644 --- a/src/crystallization/Q3.cpp +++ b/src/crystallization/Q3.cpp @@ -171,7 +171,7 @@ namespace crystallization { class Q3 : public Steinhardt { public: static void registerKeywords( Keywords& keys ); - Q3( const ActionOptions& ao ); + explicit Q3( const ActionOptions& ao ); }; PLUMED_REGISTER_ACTION(Q3,"Q3") diff --git a/src/crystallization/Q4.cpp b/src/crystallization/Q4.cpp index 7f8fc5277..17a370dfd 100644 --- a/src/crystallization/Q4.cpp +++ b/src/crystallization/Q4.cpp @@ -170,7 +170,7 @@ namespace crystallization { class Q4 : public Steinhardt { public: static void registerKeywords( Keywords& keys ); - Q4( const ActionOptions& ao ); + explicit Q4( const ActionOptions& ao ); }; PLUMED_REGISTER_ACTION(Q4,"Q4") diff --git a/src/crystallization/Q6.cpp b/src/crystallization/Q6.cpp index 49bcdf1d7..169f07749 100644 --- a/src/crystallization/Q6.cpp +++ b/src/crystallization/Q6.cpp @@ -170,7 +170,7 @@ namespace crystallization { class Q6 : public Steinhardt { public: static void registerKeywords( Keywords& keys ); - Q6( const ActionOptions& ao ); + explicit Q6( const ActionOptions& ao ); }; PLUMED_REGISTER_ACTION(Q6,"Q6") diff --git a/src/crystallization/SMAC.cpp b/src/crystallization/SMAC.cpp index bb0bdd5dd..bb875cd3e 100644 --- a/src/crystallization/SMAC.cpp +++ b/src/crystallization/SMAC.cpp @@ -32,7 +32,7 @@ private: SwitchingFunction coord_switch; public: static void registerKeywords( Keywords& keys ); - SMAC(const ActionOptions& ao); + explicit SMAC(const ActionOptions& ao); double transformDotProduct( const double& dot, double& df ) const ; double calculateCoordinationPrefactor( const double& coord, double& df ) const ; }; diff --git a/src/crystallization/SimpleCubic.cpp b/src/crystallization/SimpleCubic.cpp index 24ef1e889..3bb23d476 100644 --- a/src/crystallization/SimpleCubic.cpp +++ b/src/crystallization/SimpleCubic.cpp @@ -62,7 +62,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - SimpleCubic(const ActionOptions&); + explicit SimpleCubic(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/crystallization/Steinhardt.h b/src/crystallization/Steinhardt.h index 906f98a37..ac666c9f7 100644 --- a/src/crystallization/Steinhardt.h +++ b/src/crystallization/Steinhardt.h @@ -40,7 +40,7 @@ protected: void setAngularMomentum( const unsigned& ang ); public: static void registerKeywords( Keywords& keys ); - Steinhardt( const ActionOptions& ao ); + explicit Steinhardt( const ActionOptions& ao ); void calculateVector( multicolvar::AtomValuePack& myatoms ) const ; double deriv_poly( const unsigned&, const double&, double& ) const ; }; diff --git a/src/crystallization/Tetrahedral.cpp b/src/crystallization/Tetrahedral.cpp index 0c07b22e8..cb1f09d40 100644 --- a/src/crystallization/Tetrahedral.cpp +++ b/src/crystallization/Tetrahedral.cpp @@ -82,7 +82,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - Tetrahedral(const ActionOptions&); + explicit Tetrahedral(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/crystallization/VectorMean.cpp b/src/crystallization/VectorMean.cpp index 940434513..081fdffc7 100644 --- a/src/crystallization/VectorMean.cpp +++ b/src/crystallization/VectorMean.cpp @@ -32,7 +32,7 @@ class VectorMean : public vesselbase::FunctionVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - VectorMean( const vesselbase::VesselOptions& da ); + explicit VectorMean( const vesselbase::VesselOptions& da ); std::string value_descriptor(); void resize(); bool calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const ; diff --git a/src/crystallization/VectorMultiColvar.h b/src/crystallization/VectorMultiColvar.h index 37db089aa..247d9acb6 100644 --- a/src/crystallization/VectorMultiColvar.h +++ b/src/crystallization/VectorMultiColvar.h @@ -48,7 +48,7 @@ protected: void addForcesOnAtoms( const std::vector<double>& inforces ); public: static void registerKeywords( Keywords& keys ); - VectorMultiColvar(const ActionOptions&); + explicit VectorMultiColvar(const ActionOptions&); ~VectorMultiColvar(){} /// The norm of a vector is not periodic virtual bool isPeriodic(){ return false; } diff --git a/src/crystallization/VectorSum.cpp b/src/crystallization/VectorSum.cpp index 2c0f6dfa7..49caf038c 100644 --- a/src/crystallization/VectorSum.cpp +++ b/src/crystallization/VectorSum.cpp @@ -32,7 +32,7 @@ class VectorSum : public vesselbase::FunctionVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - VectorSum( const vesselbase::VesselOptions& da ); + explicit VectorSum( const vesselbase::VesselOptions& da ); std::string value_descriptor(); void resize(); bool calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const ; diff --git a/src/function/Combine.cpp b/src/function/Combine.cpp index 0c46d8350..fce4e1682 100644 --- a/src/function/Combine.cpp +++ b/src/function/Combine.cpp @@ -66,7 +66,7 @@ class Combine : std::vector<double> coefficients; std::vector<double> powers; public: - Combine(const ActionOptions&); + explicit Combine(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/function/Ensemble.cpp b/src/function/Ensemble.cpp index 172f467b9..b5b0cc5d5 100644 --- a/src/function/Ensemble.cpp +++ b/src/function/Ensemble.cpp @@ -58,7 +58,7 @@ class Ensemble : unsigned ens_dim; double fact; public: - Ensemble(const ActionOptions&); + explicit Ensemble(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/function/FuncPathMSD.cpp b/src/function/FuncPathMSD.cpp index e42eb38ad..c66ebe99b 100644 --- a/src/function/FuncPathMSD.cpp +++ b/src/function/FuncPathMSD.cpp @@ -141,7 +141,7 @@ struct pairordering { }; public: - FuncPathMSD(const ActionOptions&); + explicit FuncPathMSD(const ActionOptions&); // active methods: virtual void calculate(); virtual void prepare(); diff --git a/src/function/FuncSumHills.cpp b/src/function/FuncSumHills.cpp index 0db4ce6c2..662a221c7 100644 --- a/src/function/FuncSumHills.cpp +++ b/src/function/FuncSumHills.cpp @@ -193,7 +193,7 @@ class FuncSumHills : BiasRepresentation *biasrep; BiasRepresentation *historep; public: - FuncSumHills(const ActionOptions&); + explicit FuncSumHills(const ActionOptions&); ~FuncSumHills(); void calculate(); // this probably is not needed bool checkFilesAreExisting(const vector<string> & hills ); diff --git a/src/function/Function.h b/src/function/Function.h index 6379cd9af..e4da4685b 100644 --- a/src/function/Function.h +++ b/src/function/Function.h @@ -44,7 +44,7 @@ protected: void addValueWithDerivatives(); void addComponentWithDerivatives( const std::string& name ); public: - Function(const ActionOptions&); + explicit Function(const ActionOptions&); virtual ~Function(){} void apply(); static void registerKeywords(Keywords&); diff --git a/src/function/Matheval.cpp b/src/function/Matheval.cpp index 77a56d6f3..c0aaf7c9b 100644 --- a/src/function/Matheval.cpp +++ b/src/function/Matheval.cpp @@ -103,7 +103,7 @@ class Matheval : vector<double> values; vector<char*> names; public: - Matheval(const ActionOptions&); + explicit Matheval(const ActionOptions&); ~Matheval(); void calculate(); static void registerKeywords(Keywords& keys); diff --git a/src/function/Piecewise.cpp b/src/function/Piecewise.cpp index a89837be7..1522bee22 100644 --- a/src/function/Piecewise.cpp +++ b/src/function/Piecewise.cpp @@ -75,7 +75,7 @@ class Piecewise : { std::vector<std::pair<double,double> > points; public: - Piecewise(const ActionOptions&); + explicit Piecewise(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/function/Sort.cpp b/src/function/Sort.cpp index 9bc0cafe9..4bd763864 100644 --- a/src/function/Sort.cpp +++ b/src/function/Sort.cpp @@ -61,7 +61,7 @@ class Sort : public Function { public: - Sort(const ActionOptions&); + explicit Sort(const ActionOptions&); void calculate(); static void registerKeywords(Keywords& keys); }; diff --git a/src/function/Target.cpp b/src/function/Target.cpp index e0a9de726..b1084025c 100644 --- a/src/function/Target.cpp +++ b/src/function/Target.cpp @@ -49,7 +49,7 @@ private: ReferenceValuePack mypack; PLMD::ArgumentOnlyDistance* target; public: - Target(const ActionOptions&); + explicit Target(const ActionOptions&); ~Target(); virtual void calculate(); static void registerKeywords(Keywords& keys ); diff --git a/src/generic/Debug.cpp b/src/generic/Debug.cpp index 89a83364c..dc27ec166 100644 --- a/src/generic/Debug.cpp +++ b/src/generic/Debug.cpp @@ -54,7 +54,7 @@ class Debug: bool novirial; bool detailedTimers; public: - Debug(const ActionOptions&ao); + explicit Debug(const ActionOptions&ao); /// Register all the relevant keywords for the action static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/generic/DumpAtoms.cpp b/src/generic/DumpAtoms.cpp index 0c79ce186..7e2830dbd 100644 --- a/src/generic/DumpAtoms.cpp +++ b/src/generic/DumpAtoms.cpp @@ -112,7 +112,7 @@ class DumpAtoms: XDRFILE* xd; #endif public: - DumpAtoms(const ActionOptions&); + explicit DumpAtoms(const ActionOptions&); ~DumpAtoms(); static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/generic/DumpDerivatives.cpp b/src/generic/DumpDerivatives.cpp index 4fdb1d050..5af7dfa8a 100644 --- a/src/generic/DumpDerivatives.cpp +++ b/src/generic/DumpDerivatives.cpp @@ -62,7 +62,7 @@ public ActionWithArguments OFile of; public: void calculate(){} - DumpDerivatives(const ActionOptions&); + explicit DumpDerivatives(const ActionOptions&); static void registerKeywords(Keywords& keys); void apply(){} void update(); diff --git a/src/generic/DumpForces.cpp b/src/generic/DumpForces.cpp index 22202a9b6..7ec8822c7 100644 --- a/src/generic/DumpForces.cpp +++ b/src/generic/DumpForces.cpp @@ -61,7 +61,7 @@ public ActionWithArguments OFile of; public: void calculate(){} - DumpForces(const ActionOptions&); + explicit DumpForces(const ActionOptions&); static void registerKeywords(Keywords& keys); void apply(){} void update(); diff --git a/src/generic/DumpMassCharge.cpp b/src/generic/DumpMassCharge.cpp index 9e4446e68..a28d2cfd4 100644 --- a/src/generic/DumpMassCharge.cpp +++ b/src/generic/DumpMassCharge.cpp @@ -97,7 +97,7 @@ class DumpMassCharge: string file; bool first; public: - DumpMassCharge(const ActionOptions&); + explicit DumpMassCharge(const ActionOptions&); ~DumpMassCharge(); static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/generic/DumpProjections.cpp b/src/generic/DumpProjections.cpp index a13c18f7a..7a639964b 100644 --- a/src/generic/DumpProjections.cpp +++ b/src/generic/DumpProjections.cpp @@ -46,7 +46,7 @@ public ActionWithArguments OFile of; public: void calculate(){} - DumpProjections(const ActionOptions&); + explicit DumpProjections(const ActionOptions&); static void registerKeywords(Keywords& keys); void apply(){} void update(); diff --git a/src/generic/EffectiveEnergyDrift.cpp b/src/generic/EffectiveEnergyDrift.cpp index 042e98379..7ac256be1 100644 --- a/src/generic/EffectiveEnergyDrift.cpp +++ b/src/generic/EffectiveEnergyDrift.cpp @@ -108,7 +108,7 @@ public ActionPilot{ bool isFirstStep; public: - EffectiveEnergyDrift(const ActionOptions&); + explicit EffectiveEnergyDrift(const ActionOptions&); ~EffectiveEnergyDrift(); static void registerKeywords( Keywords& keys ); diff --git a/src/generic/FitToTemplate.cpp b/src/generic/FitToTemplate.cpp index 035e6a740..20c6683c5 100644 --- a/src/generic/FitToTemplate.cpp +++ b/src/generic/FitToTemplate.cpp @@ -96,7 +96,7 @@ class FitToTemplate: Vector center; Vector shift; public: - FitToTemplate(const ActionOptions&ao); + explicit FitToTemplate(const ActionOptions&ao); static void registerKeywords( Keywords& keys ); void calculate(); void apply(); diff --git a/src/generic/Flush.cpp b/src/generic/Flush.cpp index d53419543..ab8eba228 100644 --- a/src/generic/Flush.cpp +++ b/src/generic/Flush.cpp @@ -59,7 +59,7 @@ class Flush: public ActionPilot { public: - Flush(const ActionOptions&ao): + explicit Flush(const ActionOptions&ao): Action(ao), ActionPilot(ao) { diff --git a/src/generic/Group.cpp b/src/generic/Group.cpp index 1e4b539b2..372e9c86d 100644 --- a/src/generic/Group.cpp +++ b/src/generic/Group.cpp @@ -123,7 +123,7 @@ class Group: { public: - Group(const ActionOptions&ao); + explicit Group(const ActionOptions&ao); ~Group(); static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/generic/Include.cpp b/src/generic/Include.cpp index 183d0f4eb..ae3f216fb 100644 --- a/src/generic/Include.cpp +++ b/src/generic/Include.cpp @@ -68,7 +68,7 @@ class Include : { public: static void registerKeywords( Keywords& keys ); - Include(const ActionOptions&ao); + explicit Include(const ActionOptions&ao); void calculate(){} void apply(){} }; diff --git a/src/generic/Print.cpp b/src/generic/Print.cpp index a9cb23990..b1bd026f5 100644 --- a/src/generic/Print.cpp +++ b/src/generic/Print.cpp @@ -71,7 +71,7 @@ public ActionWithArguments public: void calculate(){} void prepare(); - Print(const ActionOptions&); + explicit Print(const ActionOptions&); static void registerKeywords(Keywords& keys); void apply(){} void update(); diff --git a/src/generic/RandomExchanges.cpp b/src/generic/RandomExchanges.cpp index 9dc089c1b..b971e15ba 100644 --- a/src/generic/RandomExchanges.cpp +++ b/src/generic/RandomExchanges.cpp @@ -77,7 +77,7 @@ class RandomExchanges: { public: static void registerKeywords( Keywords& keys ); - RandomExchanges(const ActionOptions&ao); + explicit RandomExchanges(const ActionOptions&ao); void calculate(){} void apply(){} }; diff --git a/src/generic/Read.cpp b/src/generic/Read.cpp index 6444d7da3..80930b340 100644 --- a/src/generic/Read.cpp +++ b/src/generic/Read.cpp @@ -74,7 +74,7 @@ private: std::vector<Value*> readvals; public: static void registerKeywords( Keywords& keys ); - Read(const ActionOptions&); + explicit Read(const ActionOptions&); ~Read(); void prepare(); void apply(){} diff --git a/src/generic/Time.cpp b/src/generic/Time.cpp index df799928c..6660b9b03 100644 --- a/src/generic/Time.cpp +++ b/src/generic/Time.cpp @@ -47,7 +47,7 @@ PRINT ARG=t1 class Time : public ActionWithValue { public: static void registerKeywords( Keywords& keys ); - Time(const ActionOptions&); + explicit Time(const ActionOptions&); // active methods: virtual void calculate(); virtual void apply(){} diff --git a/src/generic/WholeMolecules.cpp b/src/generic/WholeMolecules.cpp index 6495cc672..b7f277bd4 100644 --- a/src/generic/WholeMolecules.cpp +++ b/src/generic/WholeMolecules.cpp @@ -109,7 +109,7 @@ class WholeMolecules: { vector<vector<AtomNumber> > groups; public: - WholeMolecules(const ActionOptions&ao); + explicit WholeMolecules(const ActionOptions&ao); static void registerKeywords( Keywords& keys ); void calculate(); void apply(){} diff --git a/src/generic/WrapAround.cpp b/src/generic/WrapAround.cpp index d17901a5f..f0e308e12 100644 --- a/src/generic/WrapAround.cpp +++ b/src/generic/WrapAround.cpp @@ -160,7 +160,7 @@ class WrapAround: vector<AtomNumber> reference; unsigned groupby; public: - WrapAround(const ActionOptions&ao); + explicit WrapAround(const ActionOptions&ao); static void registerKeywords( Keywords& keys ); void calculate(); void apply(){} diff --git a/src/imd/ActionIMD.cpp b/src/imd/ActionIMD.cpp index 488dbcb00..7fd6a08d2 100644 --- a/src/imd/ActionIMD.cpp +++ b/src/imd/ActionIMD.cpp @@ -84,7 +84,7 @@ public: static void registerKeywords( Keywords& keys ); void calculate(); void apply(); - IMD(const ActionOptions&); + explicit IMD(const ActionOptions&); ~IMD(){}; }; diff --git a/src/manyrestraints/ManyRestraintsBase.h b/src/manyrestraints/ManyRestraintsBase.h index 2cf2b38ee..e13d2775b 100644 --- a/src/manyrestraints/ManyRestraintsBase.h +++ b/src/manyrestraints/ManyRestraintsBase.h @@ -42,7 +42,7 @@ private: vesselbase::ActionWithVessel* aves; public: static void registerKeywords( Keywords& keys ); - ManyRestraintsBase(const ActionOptions&); + explicit ManyRestraintsBase(const ActionOptions&); bool isPeriodic(){ return false; } unsigned getNumberOfDerivatives(); /// Routines that have to be defined so as not to have problems with virtual methods diff --git a/src/manyrestraints/UWalls.cpp b/src/manyrestraints/UWalls.cpp index 0fda53ec7..b76f1213a 100644 --- a/src/manyrestraints/UWalls.cpp +++ b/src/manyrestraints/UWalls.cpp @@ -68,7 +68,7 @@ private: double offset; public: static void registerKeywords( Keywords& keys ); - UWalls( const ActionOptions& ); + explicit UWalls( const ActionOptions& ); double calcPotential( const double& val, double& df ) const ; }; diff --git a/src/mapping/Mapping.h b/src/mapping/Mapping.h index 855f91576..4891a5932 100644 --- a/src/mapping/Mapping.h +++ b/src/mapping/Mapping.h @@ -65,7 +65,7 @@ protected: ReferenceConfiguration* getReferenceConfiguration( const unsigned& ifunc ); public: static void registerKeywords( Keywords& keys ); - Mapping(const ActionOptions&); + explicit Mapping(const ActionOptions&); ~Mapping(); /// Overload the virtual functions that appear in both ActionAtomistic and ActionWithArguments void turnOnDerivatives(); diff --git a/src/mapping/PCAVars.cpp b/src/mapping/PCAVars.cpp index aaf1ad0d1..d06fd3a2d 100644 --- a/src/mapping/PCAVars.cpp +++ b/src/mapping/PCAVars.cpp @@ -184,7 +184,7 @@ private: std::vector<double> forces, forcesToApply; public: static void registerKeywords( Keywords& keys ); - PCAVars(const ActionOptions&); + explicit PCAVars(const ActionOptions&); ~PCAVars(); unsigned getNumberOfDerivatives(); void lockRequests(); diff --git a/src/mapping/Path.cpp b/src/mapping/Path.cpp index 51fa4f81f..bcbc30191 100644 --- a/src/mapping/Path.cpp +++ b/src/mapping/Path.cpp @@ -58,7 +58,7 @@ namespace mapping{ class Path : public PathBase { public: static void registerKeywords( Keywords& keys ); - Path(const ActionOptions&); + explicit Path(const ActionOptions&); }; PLUMED_REGISTER_ACTION(Path,"PATH") diff --git a/src/mapping/PathBase.h b/src/mapping/PathBase.h index da36cd41a..0ae402810 100644 --- a/src/mapping/PathBase.h +++ b/src/mapping/PathBase.h @@ -32,7 +32,7 @@ private: double lambda; public: static void registerKeywords( Keywords& keys ); - PathBase(const ActionOptions&); + explicit PathBase(const ActionOptions&); double getLambda(); void calculate(); void performTask( const unsigned& , const unsigned& , MultiValue& ) const ; diff --git a/src/mapping/PropertyMap.cpp b/src/mapping/PropertyMap.cpp index 8c82d6396..15d9a2de6 100644 --- a/src/mapping/PropertyMap.cpp +++ b/src/mapping/PropertyMap.cpp @@ -51,7 +51,7 @@ namespace mapping{ class PropertyMap : public PathBase { public: static void registerKeywords( Keywords& keys ); - PropertyMap(const ActionOptions&); + explicit PropertyMap(const ActionOptions&); }; PLUMED_REGISTER_ACTION(PropertyMap,"GPROPERTYMAP") diff --git a/src/mapping/SpathVessel.cpp b/src/mapping/SpathVessel.cpp index 6a3a6c7b4..b06e3b66d 100644 --- a/src/mapping/SpathVessel.cpp +++ b/src/mapping/SpathVessel.cpp @@ -34,7 +34,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - SpathVessel( const vesselbase::VesselOptions& da ); + explicit SpathVessel( const vesselbase::VesselOptions& da ); std::string value_descriptor(); void prepare(); bool calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_index ) const ; diff --git a/src/mapping/ZpathVessel.cpp b/src/mapping/ZpathVessel.cpp index d10d5e5a9..f492a5066 100644 --- a/src/mapping/ZpathVessel.cpp +++ b/src/mapping/ZpathVessel.cpp @@ -32,7 +32,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - ZpathVessel( const vesselbase::VesselOptions& da ); + explicit ZpathVessel( const vesselbase::VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double finalTransform( const double& val, double& dv ); diff --git a/src/multicolvar/ActionVolume.h b/src/multicolvar/ActionVolume.h index e8c209e6c..1171179ae 100644 --- a/src/multicolvar/ActionVolume.h +++ b/src/multicolvar/ActionVolume.h @@ -50,7 +50,7 @@ protected: std::string getKernelType() const ; public: static void registerKeywords( Keywords& keys ); - ActionVolume(const ActionOptions&); + explicit ActionVolume(const ActionOptions&); /// Get the number of quantities that are calculated each time virtual unsigned getNumberOfQuantities(); /// Calculate whats in the volume diff --git a/src/multicolvar/AdjacencyMatrixAction.h b/src/multicolvar/AdjacencyMatrixAction.h index 39a96a3a6..6cf1b667d 100644 --- a/src/multicolvar/AdjacencyMatrixAction.h +++ b/src/multicolvar/AdjacencyMatrixAction.h @@ -63,7 +63,7 @@ protected: void addDerivativesOnMatrixElement( const unsigned& ielem, const unsigned& jrow, const double& df, Matrix<double>& der ); public: static void registerKeywords( Keywords& keys ); - AdjacencyMatrixAction(const ActionOptions&); + explicit AdjacencyMatrixAction(const ActionOptions&); double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; void calculateWeight( AtomValuePack& myatoms ) const ; void doJobsRequiredBeforeTaskList(); diff --git a/src/multicolvar/AdjacencyMatrixVessel.h b/src/multicolvar/AdjacencyMatrixVessel.h index 1d1f12d29..373d390d8 100644 --- a/src/multicolvar/AdjacencyMatrixVessel.h +++ b/src/multicolvar/AdjacencyMatrixVessel.h @@ -39,7 +39,7 @@ private: public: static void registerKeywords( Keywords& keys ); /// Constructor - AdjacencyMatrixVessel( const vesselbase::VesselOptions& ); + explicit AdjacencyMatrixVessel( const vesselbase::VesselOptions& ); /// Ensures we use less memory for buffer in final loop void setBufferStart( unsigned& start ); /// Ensures that finish is set properly diff --git a/src/multicolvar/AlphaBeta.cpp b/src/multicolvar/AlphaBeta.cpp index b203e5b55..4e332d827 100644 --- a/src/multicolvar/AlphaBeta.cpp +++ b/src/multicolvar/AlphaBeta.cpp @@ -97,7 +97,7 @@ private: std::vector<double> target; public: static void registerKeywords( Keywords& keys ); - AlphaBeta(const ActionOptions&); + explicit AlphaBeta(const ActionOptions&); virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; bool isPeriodic(){ return false; } }; diff --git a/src/multicolvar/Angles.cpp b/src/multicolvar/Angles.cpp index 2acaf5a32..cf108fd5e 100644 --- a/src/multicolvar/Angles.cpp +++ b/src/multicolvar/Angles.cpp @@ -91,7 +91,7 @@ private: SwitchingFunction sf2; public: static void registerKeywords( Keywords& keys ); - Angles(const ActionOptions&); + explicit Angles(const ActionOptions&); /// Updates neighbor list virtual double compute( const unsigned& tindex, AtomValuePack& ) const ; /// Returns the number of coordinates of the field diff --git a/src/multicolvar/Bridge.cpp b/src/multicolvar/Bridge.cpp index 0e1e95a13..4148cacb0 100644 --- a/src/multicolvar/Bridge.cpp +++ b/src/multicolvar/Bridge.cpp @@ -66,7 +66,7 @@ private: SwitchingFunction sf2; public: static void registerKeywords( Keywords& keys ); - Bridge(const ActionOptions&); + explicit Bridge(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; void calculateWeight( AtomValuePack& myatoms ) const ; diff --git a/src/multicolvar/BridgedMultiColvarFunction.h b/src/multicolvar/BridgedMultiColvarFunction.h index b54a3779c..639c4ab35 100644 --- a/src/multicolvar/BridgedMultiColvarFunction.h +++ b/src/multicolvar/BridgedMultiColvarFunction.h @@ -48,7 +48,7 @@ protected: void setAtomActive( const unsigned& n ); public: static void registerKeywords( Keywords& keys ); - BridgedMultiColvarFunction(const ActionOptions&); + explicit BridgedMultiColvarFunction(const ActionOptions&); /// Get a pointer to the base multicolvar MultiColvarBase* getPntrToMultiColvar() const ; /// Don't actually clear the derivatives when this is called from plumed main. diff --git a/src/multicolvar/CoordinationNumbers.cpp b/src/multicolvar/CoordinationNumbers.cpp index a87fc6713..ae618b6d5 100644 --- a/src/multicolvar/CoordinationNumbers.cpp +++ b/src/multicolvar/CoordinationNumbers.cpp @@ -69,7 +69,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - CoordinationNumbers(const ActionOptions&); + explicit CoordinationNumbers(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/multicolvar/Density.cpp b/src/multicolvar/Density.cpp index 32794ad57..6d5f9c201 100644 --- a/src/multicolvar/Density.cpp +++ b/src/multicolvar/Density.cpp @@ -52,7 +52,7 @@ PRINT ARG=d1.* FILE=colvar1 FMT=%8.4f class Density : public MultiColvar { public: static void registerKeywords( Keywords& keys ); - Density(const ActionOptions&); + explicit Density(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/multicolvar/DihedralCorrelation.cpp b/src/multicolvar/DihedralCorrelation.cpp index 14b72c433..fce6c2a7f 100644 --- a/src/multicolvar/DihedralCorrelation.cpp +++ b/src/multicolvar/DihedralCorrelation.cpp @@ -84,7 +84,7 @@ class DihedralCorrelation : public MultiColvar { private: public: static void registerKeywords( Keywords& keys ); - DihedralCorrelation(const ActionOptions&); + explicit DihedralCorrelation(const ActionOptions&); virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; bool isPeriodic(){ return false; } }; diff --git a/src/multicolvar/Distances.cpp b/src/multicolvar/Distances.cpp index 9f5b256fe..2bf9839d9 100644 --- a/src/multicolvar/Distances.cpp +++ b/src/multicolvar/Distances.cpp @@ -126,7 +126,7 @@ class Distances : public MultiColvar { private: public: static void registerKeywords( Keywords& keys ); - Distances(const ActionOptions&); + explicit Distances(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/multicolvar/DumpMultiColvar.cpp b/src/multicolvar/DumpMultiColvar.cpp index 3d1b8bba5..cbcfa0c4b 100644 --- a/src/multicolvar/DumpMultiColvar.cpp +++ b/src/multicolvar/DumpMultiColvar.cpp @@ -71,7 +71,7 @@ class DumpMultiColvar: MultiColvarBase* mycolv; std::string fmt_xyz; public: - DumpMultiColvar(const ActionOptions&); + explicit DumpMultiColvar(const ActionOptions&); ~DumpMultiColvar(); static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/multicolvar/FilterBetween.cpp b/src/multicolvar/FilterBetween.cpp index 97d071027..f68192022 100644 --- a/src/multicolvar/FilterBetween.cpp +++ b/src/multicolvar/FilterBetween.cpp @@ -41,7 +41,7 @@ private: HistogramBead hb; public: static void registerKeywords( Keywords& keys ); - FilterBetween(const ActionOptions& ao); + explicit FilterBetween(const ActionOptions& ao); double applyFilter( const double& val, double& df ) const ; }; diff --git a/src/multicolvar/FilterLessThan.cpp b/src/multicolvar/FilterLessThan.cpp index 17acee918..1db871b80 100644 --- a/src/multicolvar/FilterLessThan.cpp +++ b/src/multicolvar/FilterLessThan.cpp @@ -41,7 +41,7 @@ private: SwitchingFunction sf; public: static void registerKeywords( Keywords& keys ); - FilterLess(const ActionOptions& ao); + explicit FilterLess(const ActionOptions& ao); double applyFilter( const double& val, double& df ) const ; }; diff --git a/src/multicolvar/FilterMoreThan.cpp b/src/multicolvar/FilterMoreThan.cpp index d22fb6c96..e462bbf85 100644 --- a/src/multicolvar/FilterMoreThan.cpp +++ b/src/multicolvar/FilterMoreThan.cpp @@ -41,7 +41,7 @@ private: SwitchingFunction sf; public: static void registerKeywords( Keywords& keys ); - FilterMore(const ActionOptions& ao); + explicit FilterMore(const ActionOptions& ao); double applyFilter( const double& val, double& df ) const ; }; diff --git a/src/multicolvar/InPlaneDistances.cpp b/src/multicolvar/InPlaneDistances.cpp index a925c6ee8..7bbb9613f 100644 --- a/src/multicolvar/InPlaneDistances.cpp +++ b/src/multicolvar/InPlaneDistances.cpp @@ -46,7 +46,7 @@ Calculate distances in the plane perpendicular to an axis class InPlaneDistances : public MultiColvar { public: static void registerKeywords( Keywords& keys ); - InPlaneDistances(const ActionOptions&); + explicit InPlaneDistances(const ActionOptions&); // active methods: virtual double compute(const unsigned& tindex, AtomValuePack& myatoms ) const ; bool isPeriodic(){ return false; } diff --git a/src/multicolvar/LocalAverage.cpp b/src/multicolvar/LocalAverage.cpp index 9bd376550..de7076ce4 100644 --- a/src/multicolvar/LocalAverage.cpp +++ b/src/multicolvar/LocalAverage.cpp @@ -88,7 +88,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - LocalAverage(const ActionOptions&); + explicit LocalAverage(const ActionOptions&); /// We have to overwrite this here unsigned getNumberOfQuantities(); /// Actually do the calculation diff --git a/src/multicolvar/MultiColvar.h b/src/multicolvar/MultiColvar.h index fa7359f1d..ed5edaf44 100644 --- a/src/multicolvar/MultiColvar.h +++ b/src/multicolvar/MultiColvar.h @@ -58,7 +58,7 @@ protected: /// Add a collective variable void addColvar( const std::vector<unsigned>& newatoms ); public: - MultiColvar(const ActionOptions&); + explicit MultiColvar(const ActionOptions&); ~MultiColvar(){} static void registerKeywords( Keywords& keys ); /// Get the position of atom iatom diff --git a/src/multicolvar/MultiColvarBase.h b/src/multicolvar/MultiColvarBase.h index b532c4b14..02ecf222c 100644 --- a/src/multicolvar/MultiColvarBase.h +++ b/src/multicolvar/MultiColvarBase.h @@ -90,7 +90,7 @@ protected: /// Decode indices if there are 2 or 3 atoms involved void decodeIndexToAtoms( const unsigned& taskCode, std::vector<unsigned>& atoms ) const ; public: - MultiColvarBase(const ActionOptions&); + explicit MultiColvarBase(const ActionOptions&); ~MultiColvarBase(){} static void registerKeywords( Keywords& keys ); /// Turn on the derivatives diff --git a/src/multicolvar/MultiColvarDensity.cpp b/src/multicolvar/MultiColvarDensity.cpp index 8222be59f..ac5cf65e7 100644 --- a/src/multicolvar/MultiColvarDensity.cpp +++ b/src/multicolvar/MultiColvarDensity.cpp @@ -70,7 +70,7 @@ class MultiColvarDensity : std::vector<double> bw; std::vector<unsigned> directions; public: - MultiColvarDensity(const ActionOptions&); + explicit MultiColvarDensity(const ActionOptions&); ~MultiColvarDensity(); static void registerKeywords( Keywords& keys ); void calculate(){} diff --git a/src/multicolvar/MultiColvarFilter.h b/src/multicolvar/MultiColvarFilter.h index 51a889d7f..65004537b 100644 --- a/src/multicolvar/MultiColvarFilter.h +++ b/src/multicolvar/MultiColvarFilter.h @@ -37,7 +37,7 @@ to see whether or not they are within a certain range class MultiColvarFilter : public BridgedMultiColvarFunction { public: static void registerKeywords( Keywords& keys ); - MultiColvarFilter(const ActionOptions&); + explicit MultiColvarFilter(const ActionOptions&); /// Do everything required to setup the derivatives void doJobsRequiredBeforeTaskList(); /// Get the number of quantities in the colvar diff --git a/src/multicolvar/MultiColvarFunction.h b/src/multicolvar/MultiColvarFunction.h index f660b518d..2c377dc69 100644 --- a/src/multicolvar/MultiColvarFunction.h +++ b/src/multicolvar/MultiColvarFunction.h @@ -73,7 +73,7 @@ protected: /// Return the base multicolvar index that this colvar is a part of unsigned getBaseColvarNumber( const unsigned& iatom ) const ; public: - MultiColvarFunction(const ActionOptions&); + explicit MultiColvarFunction(const ActionOptions&); static void registerKeywords( Keywords& keys ); /// Update the atoms that are active virtual void updateActiveAtoms( AtomValuePack& myatoms ) const ; diff --git a/src/multicolvar/NumberOfLinks.cpp b/src/multicolvar/NumberOfLinks.cpp index 373da6b36..a810206ce 100644 --- a/src/multicolvar/NumberOfLinks.cpp +++ b/src/multicolvar/NumberOfLinks.cpp @@ -73,7 +73,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - NumberOfLinks(const ActionOptions&); + explicit NumberOfLinks(const ActionOptions&); /// Do the stuff with the switching functions void calculateWeight( AtomValuePack& myatoms ) const ; /// Actually do the calculation diff --git a/src/multicolvar/Sprint.cpp b/src/multicolvar/Sprint.cpp index 70c2c163d..f4ceaab18 100644 --- a/src/multicolvar/Sprint.cpp +++ b/src/multicolvar/Sprint.cpp @@ -92,7 +92,7 @@ public: /// Create manual static void registerKeywords( Keywords& keys ); /// Constructor - Sprint(const ActionOptions&); + explicit Sprint(const ActionOptions&); /// Do the matrix calculation void completeCalculation(); /// Sprint needs its only apply routine as it creates values diff --git a/src/multicolvar/Torsions.cpp b/src/multicolvar/Torsions.cpp index 709e79912..88840b5d1 100644 --- a/src/multicolvar/Torsions.cpp +++ b/src/multicolvar/Torsions.cpp @@ -74,7 +74,7 @@ Similarly \@psi-4 tells plumed that you want to calculate the \f$\psi\f$ angle o class Torsions : public MultiColvar { public: static void registerKeywords( Keywords& keys ); - Torsions(const ActionOptions&); + explicit Torsions(const ActionOptions&); virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; bool isPeriodic(){ return true; } void retrieveDomain( std::string& min, std::string& max ){ min="-pi"; max="pi"; } diff --git a/src/multicolvar/VolumeAround.cpp b/src/multicolvar/VolumeAround.cpp index 0883d9186..6c21ca28d 100644 --- a/src/multicolvar/VolumeAround.cpp +++ b/src/multicolvar/VolumeAround.cpp @@ -76,7 +76,7 @@ private: double zlow, zhigh; public: static void registerKeywords( Keywords& keys ); - VolumeAround(const ActionOptions& ao); + explicit VolumeAround(const ActionOptions& ao); void setupRegions(); double calculateNumberInside( const Vector& cpos, Vector& derivatives, Tensor& vir, std::vector<Vector>& refders ) const ; }; diff --git a/src/multicolvar/VolumeCavity.cpp b/src/multicolvar/VolumeCavity.cpp index 00fa6d969..13e467004 100644 --- a/src/multicolvar/VolumeCavity.cpp +++ b/src/multicolvar/VolumeCavity.cpp @@ -118,7 +118,7 @@ private: std::vector<Tensor> dbi, dcross, dperp; public: static void registerKeywords( Keywords& keys ); - VolumeCavity(const ActionOptions& ao); + explicit VolumeCavity(const ActionOptions& ao); ~VolumeCavity(); void setupRegions(); void update(); diff --git a/src/multicolvar/VolumeGradientBase.h b/src/multicolvar/VolumeGradientBase.h index 3e7735854..926ade012 100644 --- a/src/multicolvar/VolumeGradientBase.h +++ b/src/multicolvar/VolumeGradientBase.h @@ -47,7 +47,7 @@ protected: void setNumberInVolume( const unsigned& , const unsigned& , const double& , const Vector& , const Tensor& , const std::vector<Vector>& , MultiValue& ) const ; public: static void registerKeywords( Keywords& keys ); - VolumeGradientBase(const ActionOptions&); + explicit VolumeGradientBase(const ActionOptions&); /// Do jobs required before tasks are undertaken void doJobsRequiredBeforeTaskList(); /// Actually do what we are asked diff --git a/src/multicolvar/VolumeInCylinder.cpp b/src/multicolvar/VolumeInCylinder.cpp index 6b94cd92a..e7e1f02c9 100644 --- a/src/multicolvar/VolumeInCylinder.cpp +++ b/src/multicolvar/VolumeInCylinder.cpp @@ -69,7 +69,7 @@ private: SwitchingFunction switchingFunction; public: static void registerKeywords( Keywords& keys ); - VolumeInCylinder (const ActionOptions& ao); + explicit VolumeInCylinder (const ActionOptions& ao); void setupRegions(); double calculateNumberInside( const Vector& cpos, Vector& derivatives, Tensor& vir, std::vector<Vector>& refders ) const ; }; diff --git a/src/multicolvar/VolumeTetrapore.cpp b/src/multicolvar/VolumeTetrapore.cpp index 857eea12d..ec074975c 100644 --- a/src/multicolvar/VolumeTetrapore.cpp +++ b/src/multicolvar/VolumeTetrapore.cpp @@ -47,7 +47,7 @@ private: std::vector<Tensor> dbi, dcross, dperp; public: static void registerKeywords( Keywords& keys ); - VolumeTetrapore(const ActionOptions& ao); + explicit VolumeTetrapore(const ActionOptions& ao); ~VolumeTetrapore(); void setupRegions(); void update(); diff --git a/src/multicolvar/XDistances.cpp b/src/multicolvar/XDistances.cpp index b9ddf6a4a..0333cf952 100644 --- a/src/multicolvar/XDistances.cpp +++ b/src/multicolvar/XDistances.cpp @@ -113,7 +113,7 @@ private: unsigned myc; public: static void registerKeywords( Keywords& keys ); - XDistances(const ActionOptions&); + explicit XDistances(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/multicolvar/XYDistances.cpp b/src/multicolvar/XYDistances.cpp index bfccf6e4d..9836c0d10 100644 --- a/src/multicolvar/XYDistances.cpp +++ b/src/multicolvar/XYDistances.cpp @@ -87,7 +87,7 @@ private: unsigned myc1, myc2; public: static void registerKeywords( Keywords& keys ); - XYDistances(const ActionOptions&); + explicit XYDistances(const ActionOptions&); // active methods: virtual double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; /// Returns the number of coordinates of the field diff --git a/src/reference/ArgumentOnlyDistance.h b/src/reference/ArgumentOnlyDistance.h index 1ff130c81..2b045564a 100644 --- a/src/reference/ArgumentOnlyDistance.h +++ b/src/reference/ArgumentOnlyDistance.h @@ -33,7 +33,7 @@ class Pbc; class ArgumentOnlyDistance : public ReferenceArguments { public: - ArgumentOnlyDistance( const ReferenceConfigurationOptions& ro ); + explicit ArgumentOnlyDistance( const ReferenceConfigurationOptions& ro ); void read( const PDB& pdb ); double calc( const std::vector<Vector>& pos, const Pbc& pbc, const std::vector<Value*>& vals, const std::vector<double>& arg, ReferenceValuePack& myder, const bool& squared ) const ; double calculate( const std::vector<Value*>& vals, ReferenceValuePack& myder, const bool& squared ) const ; diff --git a/src/reference/DRMSD.h b/src/reference/DRMSD.h index 217d48481..c0278ae3c 100644 --- a/src/reference/DRMSD.h +++ b/src/reference/DRMSD.h @@ -37,7 +37,7 @@ private: std::map< std::pair <unsigned,unsigned> , double> targets; void setup_targets(); public: - DRMSD( const ReferenceConfigurationOptions& ro ); + explicit DRMSD( const ReferenceConfigurationOptions& ro ); /// This sets upper and lower bounds on distances to be used in DRMSD void setBoundsOnDistances( bool dopbc, double lbound=0.0, double ubound=std::numeric_limits<double>::max( ) ); /// Check that similar comparisons are being performed - perhaps this is needed ask Davide? GAT diff --git a/src/reference/Direction.cpp b/src/reference/Direction.cpp index 2ae232942..9ec05b381 100644 --- a/src/reference/Direction.cpp +++ b/src/reference/Direction.cpp @@ -30,7 +30,7 @@ public ReferenceAtoms, public ReferenceArguments { public: - Direction( const ReferenceConfigurationOptions& ro ); + explicit Direction( const ReferenceConfigurationOptions& ro ); void read( const PDB& ); double calc( const std::vector<Vector>& pos, const Pbc& pbc, const std::vector<Value*>& vals, const std::vector<double>& args, ReferenceValuePack& myder, const bool& squared ) const ; diff --git a/src/reference/DotProductDistance.cpp b/src/reference/DotProductDistance.cpp index f70910716..a613a8a12 100644 --- a/src/reference/DotProductDistance.cpp +++ b/src/reference/DotProductDistance.cpp @@ -27,7 +27,7 @@ namespace PLMD { class DotProductDistance : public ArgumentOnlyDistance { public: - DotProductDistance( const ReferenceConfigurationOptions& ro ); + explicit DotProductDistance( const ReferenceConfigurationOptions& ro ); void read( const PDB& ); double calc( const std::vector<Value*>& vals, const std::vector<double>& arg, const bool& squared ); }; diff --git a/src/reference/EuclideanDistance.cpp b/src/reference/EuclideanDistance.cpp index 6c3275760..ffa027c4d 100644 --- a/src/reference/EuclideanDistance.cpp +++ b/src/reference/EuclideanDistance.cpp @@ -26,7 +26,7 @@ namespace PLMD { class EuclideanDistance : public ArgumentOnlyDistance { public: - EuclideanDistance( const ReferenceConfigurationOptions& ro ); + explicit EuclideanDistance( const ReferenceConfigurationOptions& ro ); bool pcaIsEnabledForThisReference(){ return true; } void setupPCAStorage( ReferenceValuePack& mypack ){ mypack.switchOnPCAOption(); } }; diff --git a/src/reference/FakeFrame.h b/src/reference/FakeFrame.h index 79e9e5354..9e90e1eb6 100644 --- a/src/reference/FakeFrame.h +++ b/src/reference/FakeFrame.h @@ -30,7 +30,7 @@ class FakeFrame : public PLMD::ReferenceConfiguration { public: - FakeFrame( const ReferenceConfigurationOptions& ro ) : ReferenceConfiguration(ro) {} + explicit FakeFrame( const ReferenceConfigurationOptions& ro ) : ReferenceConfiguration(ro) {} void read( const PDB& ){ plumed_merror("should not be called"); } double calc( const std::vector<Vector>& pos, const Pbc& pbc, const std::vector<Value*>& vals, const std::vector<double>& arg, ReferenceValuePack& myder, const bool& squared ) const { plumed_merror("should not be called"); return 1.0; diff --git a/src/reference/MahalanobisDistance.cpp b/src/reference/MahalanobisDistance.cpp index 2c6fd1f45..b10a6a818 100644 --- a/src/reference/MahalanobisDistance.cpp +++ b/src/reference/MahalanobisDistance.cpp @@ -26,7 +26,7 @@ namespace PLMD { class MahalanobisDistance : public ArgumentOnlyDistance { public: - MahalanobisDistance( const ReferenceConfigurationOptions& ro ); + explicit MahalanobisDistance( const ReferenceConfigurationOptions& ro ); }; PLUMED_REGISTER_METRIC(MahalanobisDistance,"MAHALANOBIS") diff --git a/src/reference/MultiDomainRMSD.h b/src/reference/MultiDomainRMSD.h index 9e26b7b66..7c60b77b2 100644 --- a/src/reference/MultiDomainRMSD.h +++ b/src/reference/MultiDomainRMSD.h @@ -39,7 +39,7 @@ private: /// Each of the domains we are calculating the distance from std::vector<SingleDomainRMSD*> domains; public: - MultiDomainRMSD( const ReferenceConfigurationOptions& ro ); + explicit MultiDomainRMSD( const ReferenceConfigurationOptions& ro ); ~MultiDomainRMSD(); /// Read in the input from a pdb void read( const PDB& ); diff --git a/src/reference/NormalizedEuclideanDistance.cpp b/src/reference/NormalizedEuclideanDistance.cpp index 51ee3be55..59f37b552 100644 --- a/src/reference/NormalizedEuclideanDistance.cpp +++ b/src/reference/NormalizedEuclideanDistance.cpp @@ -26,7 +26,7 @@ namespace PLMD { class NormalizedEuclideanDistance : public ArgumentOnlyDistance { public: - NormalizedEuclideanDistance( const ReferenceConfigurationOptions& ro ); + explicit NormalizedEuclideanDistance( const ReferenceConfigurationOptions& ro ); }; PLUMED_REGISTER_METRIC(NormalizedEuclideanDistance,"NORM-EUCLIDEAN") diff --git a/src/reference/OptimalRMSD.cpp b/src/reference/OptimalRMSD.cpp index c4f08c962..7670d3280 100644 --- a/src/reference/OptimalRMSD.cpp +++ b/src/reference/OptimalRMSD.cpp @@ -31,7 +31,7 @@ private: bool fast; RMSD myrmsd; public: - OptimalRMSD(const ReferenceConfigurationOptions& ro); + explicit OptimalRMSD(const ReferenceConfigurationOptions& ro); void read( const PDB& ); double calc( const std::vector<Vector>& pos, ReferenceValuePack& myder, const bool& squared ) const ; bool pcaIsEnabledForThisReference(){ return true; } diff --git a/src/reference/RMSDBase.h b/src/reference/RMSDBase.h index af651bd4b..67a5862ef 100644 --- a/src/reference/RMSDBase.h +++ b/src/reference/RMSDBase.h @@ -34,7 +34,7 @@ class RMSDBase : public SingleDomainRMSD { // this is to avoid warnings: using SingleDomainRMSD::calc; public: - RMSDBase( const ReferenceConfigurationOptions& ro ); + explicit RMSDBase( const ReferenceConfigurationOptions& ro ); double calc( const std::vector<Vector>& pos, const Pbc& pbc, ReferenceValuePack& myder, const bool& squared ) const; double calculate( const std::vector<Vector>& pos, ReferenceValuePack& myder, const bool& squared ) const ; virtual double calc( const std::vector<Vector>& pos, ReferenceValuePack& myder, const bool& squared ) const=0; diff --git a/src/reference/ReferenceArguments.h b/src/reference/ReferenceArguments.h index 8e17ad41d..3ed35378f 100644 --- a/src/reference/ReferenceArguments.h +++ b/src/reference/ReferenceArguments.h @@ -68,7 +68,7 @@ protected: /// configuration in CV space double calculateArgumentDistance( const std::vector<Value*> & vals, const std::vector<double>& arg, ReferenceValuePack& myder, const bool& squared ) const ; public: - ReferenceArguments( const ReferenceConfigurationOptions& ro ); + explicit ReferenceArguments( const ReferenceConfigurationOptions& ro ); /// Get the number of reference arguments unsigned getNumberOfReferenceArguments() const ; /// Get the arguments required diff --git a/src/reference/ReferenceAtoms.h b/src/reference/ReferenceAtoms.h index b8ce2d36a..0acbed46d 100644 --- a/src/reference/ReferenceAtoms.h +++ b/src/reference/ReferenceAtoms.h @@ -85,7 +85,7 @@ protected: /// This does the checks that are always required void singleDomainRequests( std::vector<AtomNumber>&, bool disable_checks ); public: - ReferenceAtoms( const ReferenceConfigurationOptions& ro ); + explicit ReferenceAtoms( const ReferenceConfigurationOptions& ro ); /// This returns the number of reference atom positions unsigned getNumberOfReferencePositions() const ; /// This allows us to use a single pos array with RMSD objects using different atom indexes diff --git a/src/reference/ReferenceConfiguration.h b/src/reference/ReferenceConfiguration.h index 37509736b..910025f86 100644 --- a/src/reference/ReferenceConfiguration.h +++ b/src/reference/ReferenceConfiguration.h @@ -51,7 +51,7 @@ friend class ReferenceConfiguration; private: std::string tt; public: - ReferenceConfigurationOptions( const std::string& type ); + explicit ReferenceConfigurationOptions( const std::string& type ); bool usingFastOption() const ; std::string getMultiRMSDType() const ; }; @@ -88,7 +88,7 @@ protected: /// Clear the derivatives // void clearDerivatives(); public: - ReferenceConfiguration( const ReferenceConfigurationOptions& ro ); + explicit ReferenceConfiguration( const ReferenceConfigurationOptions& ro ); /// Destructor virtual ~ReferenceConfiguration(); /// Return the name of this metric diff --git a/src/reference/SimpleRMSD.cpp b/src/reference/SimpleRMSD.cpp index ad55f6cb0..c718ba980 100644 --- a/src/reference/SimpleRMSD.cpp +++ b/src/reference/SimpleRMSD.cpp @@ -29,7 +29,7 @@ class SimpleRMSD : public RMSDBase { private: RMSD myrmsd; public: - SimpleRMSD( const ReferenceConfigurationOptions& ro ); + explicit SimpleRMSD( const ReferenceConfigurationOptions& ro ); void read( const PDB& ); double calc( const std::vector<Vector>& pos, ReferenceValuePack& myder, const bool& squared ) const ; bool pcaIsEnabledForThisReference(){ return true; } diff --git a/src/reference/SingleDomainRMSD.h b/src/reference/SingleDomainRMSD.h index b6487b4da..a74b8d699 100644 --- a/src/reference/SingleDomainRMSD.h +++ b/src/reference/SingleDomainRMSD.h @@ -32,7 +32,7 @@ class SingleDomainRMSD : public ReferenceAtoms { protected: void readReference( const PDB& pdb ); public: - SingleDomainRMSD( const ReferenceConfigurationOptions& ro ); + explicit SingleDomainRMSD( const ReferenceConfigurationOptions& ro ); /// Set the reference structure virtual void setReferenceAtoms( const std::vector<Vector>& conf, const std::vector<double>& align_in, const std::vector<double>& displace_in ); /// Calculate diff --git a/src/secondarystructure/AlphaRMSD.cpp b/src/secondarystructure/AlphaRMSD.cpp index 029fe7f3b..ee03e440e 100644 --- a/src/secondarystructure/AlphaRMSD.cpp +++ b/src/secondarystructure/AlphaRMSD.cpp @@ -80,7 +80,7 @@ ALPHARMSD RESIDUES=all TYPE=DRMSD LESS_THAN={RATIONAL R_0=0.08 NN=8 MM=12} LABEL class AlphaRMSD : public SecondaryStructureRMSD { public: static void registerKeywords( Keywords& keys ); - AlphaRMSD(const ActionOptions&); + explicit AlphaRMSD(const ActionOptions&); }; PLUMED_REGISTER_ACTION(AlphaRMSD,"ALPHARMSD") diff --git a/src/secondarystructure/AntibetaRMSD.cpp b/src/secondarystructure/AntibetaRMSD.cpp index 9cd13e0a9..18cb17796 100644 --- a/src/secondarystructure/AntibetaRMSD.cpp +++ b/src/secondarystructure/AntibetaRMSD.cpp @@ -82,7 +82,7 @@ ANTIBETARMSD RESIDUES=all TYPE=DRMSD LESS_THAN={RATIONAL R_0=0.08 NN=8 MM=12} LA class AntibetaRMSD : public SecondaryStructureRMSD { public: static void registerKeywords( Keywords& keys ); - AntibetaRMSD(const ActionOptions&); + explicit AntibetaRMSD(const ActionOptions&); }; PLUMED_REGISTER_ACTION(AntibetaRMSD,"ANTIBETARMSD") diff --git a/src/secondarystructure/ParabetaRMSD.cpp b/src/secondarystructure/ParabetaRMSD.cpp index 235b00d2a..09c5e46a9 100644 --- a/src/secondarystructure/ParabetaRMSD.cpp +++ b/src/secondarystructure/ParabetaRMSD.cpp @@ -82,7 +82,7 @@ PARABETARMSD RESIDUES=all TYPE=DRMSD LESS_THAN={RATIONAL R_0=0.08 NN=8 MM=12} LA class ParabetaRMSD : public SecondaryStructureRMSD { public: static void registerKeywords( Keywords& keys ); - ParabetaRMSD(const ActionOptions&); + explicit ParabetaRMSD(const ActionOptions&); }; PLUMED_REGISTER_ACTION(ParabetaRMSD,"PARABETARMSD") diff --git a/src/secondarystructure/SecondaryStructureRMSD.h b/src/secondarystructure/SecondaryStructureRMSD.h index 1e0d00bd5..a7081e882 100644 --- a/src/secondarystructure/SecondaryStructureRMSD.h +++ b/src/secondarystructure/SecondaryStructureRMSD.h @@ -72,7 +72,7 @@ protected: void setAtomsFromStrands( const unsigned& atom1, const unsigned& atom2 ); public: static void registerKeywords( Keywords& keys ); - SecondaryStructureRMSD(const ActionOptions&); + explicit SecondaryStructureRMSD(const ActionOptions&); virtual ~SecondaryStructureRMSD(); unsigned getNumberOfFunctionsInAction(); unsigned getNumberOfDerivatives(); diff --git a/src/setup/Load.cpp b/src/setup/Load.cpp index ba8dbbc64..fa844d9aa 100644 --- a/src/setup/Load.cpp +++ b/src/setup/Load.cpp @@ -51,7 +51,7 @@ class Load : { public: static void registerKeywords( Keywords& keys ); - Load(const ActionOptions&ao); + explicit Load(const ActionOptions&ao); }; PLUMED_REGISTER_ACTION(Load,"LOAD") diff --git a/src/setup/Restart.cpp b/src/setup/Restart.cpp index a8efa8d1f..a5e4f05f1 100644 --- a/src/setup/Restart.cpp +++ b/src/setup/Restart.cpp @@ -88,7 +88,7 @@ class Restart : { public: static void registerKeywords( Keywords& keys ); - Restart(const ActionOptions&ao); + explicit Restart(const ActionOptions&ao); }; PLUMED_REGISTER_ACTION(Restart,"RESTART") diff --git a/src/setup/Units.cpp b/src/setup/Units.cpp index 47b63efac..b80580ee7 100644 --- a/src/setup/Units.cpp +++ b/src/setup/Units.cpp @@ -63,7 +63,7 @@ class Units : { public: static void registerKeywords( Keywords& keys ); - Units(const ActionOptions&ao); + explicit Units(const ActionOptions&ao); }; PLUMED_REGISTER_ACTION(Units,"UNITS") diff --git a/src/tools/AtomNumber.h b/src/tools/AtomNumber.h index 2196c9d93..360d4c171 100644 --- a/src/tools/AtomNumber.h +++ b/src/tools/AtomNumber.h @@ -40,9 +40,11 @@ class AtomNumber{ unsigned index_; /// Construct with a given index. /// This constructor is kept private to avoid implicit cast. - AtomNumber(unsigned); + explicit AtomNumber(unsigned); public: /// Initialize to index=0 (serial=1) +// The following line triggers a warning in cppcheck, +// cppcheck-suppress noExplicitConstructor AtomNumber(); /// Returns the serial number unsigned serial()const; diff --git a/src/tools/Communicator.h b/src/tools/Communicator.h index dbf19c6be..2309cc4ea 100644 --- a/src/tools/Communicator.h +++ b/src/tools/Communicator.h @@ -69,27 +69,27 @@ class Communicator{ /// Init from pointer and size template <typename T> Data(T*p,int s): pointer(p), size(s), type(getMPIType<T>()) {} /// Init from reference - template <typename T> Data(T&p): pointer(&p), size(1), type(getMPIType<T>()) {} + template <typename T> explicit Data(T&p): pointer(&p), size(1), type(getMPIType<T>()) {} /// Init from pointer to VectorGeneric - template <unsigned n> Data(VectorGeneric<n> *p,int s): pointer(p), size(n*s), type(getMPIType<double>()) {} + template <unsigned n> explicit Data(VectorGeneric<n> *p,int s): pointer(p), size(n*s), type(getMPIType<double>()) {} /// Init from reference to VectorGeneric - template <unsigned n> Data(VectorGeneric<n> &p): pointer(&p), size(n), type(getMPIType<double>()) {} + template <unsigned n> explicit Data(VectorGeneric<n> &p): pointer(&p), size(n), type(getMPIType<double>()) {} /// Init from pointer to TensorGeneric - template <unsigned n,unsigned m> Data(TensorGeneric<n,m> *p,int s): pointer(p), size(n*m*s), type(getMPIType<double>()) {} + template <unsigned n,unsigned m> explicit Data(TensorGeneric<n,m> *p,int s): pointer(p), size(n*m*s), type(getMPIType<double>()) {} /// Init from reference to TensorGeneric - template <unsigned n,unsigned m> Data(TensorGeneric<n,m> &p): pointer(&p), size(n*m), type(getMPIType<double>()) {} + template <unsigned n,unsigned m> explicit Data(TensorGeneric<n,m> &p): pointer(&p), size(n*m), type(getMPIType<double>()) {} /// Init from reference to std::vector - template <typename T> Data(std::vector<T>&v){ + template <typename T> explicit Data(std::vector<T>&v){ if(v.size()>0){ Data d(&v[0],v.size()); pointer=d.pointer; size=d.size; type=d.type; } else { pointer=NULL; size=0; } } /// Init from reference to PLMD::Matrix - template <typename T> Data(Matrix<T>&m ){ + template <typename T> explicit Data(Matrix<T>&m ){ if(m.nrows()*m.ncols()>0){ Data d(&m(0,0),m.nrows()*m.ncols()); pointer=d.pointer; size=d.size; type=d.type; } else{ pointer=NULL; size=0; } } /// Init from reference to std::string - Data(std::string&s){ + explicit Data(std::string&s){ if(s.size()>0){ Data d(&s[0],s.size()); pointer=d.pointer; size=d.size; type=d.type; } else { pointer=NULL; size=0; } } @@ -100,21 +100,21 @@ class Communicator{ const void*pointer; int size; MPI_Datatype type; - template <typename T> ConstData(const T*p,int s): pointer(p), size(s), type(getMPIType<T>()) {} - template <typename T> ConstData(const T&p): pointer(&p), size(1), type(getMPIType<T>()) {} - template <unsigned n> ConstData(const VectorGeneric<n> *p,int s): pointer(p), size(n*s), type(getMPIType<double>()) {} - template <unsigned n> ConstData(const VectorGeneric<n> &p): pointer(&p), size(n), type(getMPIType<double>()) {} - template <unsigned n,unsigned m> ConstData(const TensorGeneric<n,m> *p,int s): pointer(p), size(n*m*s), type(getMPIType<double>()) {} - template <unsigned n,unsigned m> ConstData(const TensorGeneric<n,m> &p): pointer(&p), size(n*m), type(getMPIType<double>()) {} - template <typename T> ConstData(const std::vector<T>&v){ + template <typename T> explicit ConstData(const T*p,int s): pointer(p), size(s), type(getMPIType<T>()) {} + template <typename T> explicit ConstData(const T&p): pointer(&p), size(1), type(getMPIType<T>()) {} + template <unsigned n> explicit ConstData(const VectorGeneric<n> *p,int s): pointer(p), size(n*s), type(getMPIType<double>()) {} + template <unsigned n> explicit ConstData(const VectorGeneric<n> &p): pointer(&p), size(n), type(getMPIType<double>()) {} + template <unsigned n,unsigned m> explicit ConstData(const TensorGeneric<n,m> *p,int s): pointer(p), size(n*m*s), type(getMPIType<double>()) {} + template <unsigned n,unsigned m> explicit ConstData(const TensorGeneric<n,m> &p): pointer(&p), size(n*m), type(getMPIType<double>()) {} + template <typename T> explicit ConstData(const std::vector<T>&v){ if(v.size()>0){ ConstData d(&v[0],v.size()); pointer=d.pointer; size=d.size; type=d.type; } else { pointer=NULL; size=0; } } - template <typename T> ConstData(const Matrix<T>&m ){ + template <typename T> explicit ConstData(const Matrix<T>&m ){ if(m.nrows()*m.ncols()>0){ ConstData d(&m(0,0),m.nrows()*m.ncols()); pointer=d.pointer; size=d.size; type=d.type; } else{ pointer=NULL; size=0; } } - ConstData(const std::string&s){ + explicit ConstData(const std::string&s){ if(s.size()>0){ ConstData d(&s[0],s.size()); pointer=d.pointer; size=d.size; type=d.type; } else { pointer=NULL; size=0; } } diff --git a/src/tools/Exception.h b/src/tools/Exception.h index aabb5b31e..02c904c34 100644 --- a/src/tools/Exception.h +++ b/src/tools/Exception.h @@ -104,7 +104,7 @@ public: /// Without message Exception(); /// With message - Exception(const std::string&); + explicit Exception(const std::string&); /// With message plus file, line and function (meant to be used through a preprocessor macro) Exception(const std::string&,const std::string&,unsigned,const std::string&); /// Returns the error message diff --git a/src/tools/FileBase.h b/src/tools/FileBase.h index 948b746d8..6890ef191 100644 --- a/src/tools/FileBase.h +++ b/src/tools/FileBase.h @@ -38,7 +38,7 @@ This class just provides things which are common among OFile and IFile class FileBase{ /// Copy constructor is disabled (private and unimplemented) - FileBase(const FileBase&); + explicit FileBase(const FileBase&); /// Assignment operator is disabled (private and unimplemented) FileBase& operator=(const FileBase&); protected: diff --git a/src/tools/Grid.h b/src/tools/Grid.h index 9af3c1703..2897d6215 100644 --- a/src/tools/Grid.h +++ b/src/tools/Grid.h @@ -42,7 +42,7 @@ class WeightBase{ class BiasWeight:public WeightBase{ public: double beta,invbeta; - BiasWeight(double v){beta=v;invbeta=1./beta;} + explicit BiasWeight(double v){beta=v;invbeta=1./beta;} double projectInnerLoop(double &input, double &v){return input+exp(beta*v);} double projectOuterLoop(double &v){return -invbeta*std::log(v);} }; @@ -50,7 +50,7 @@ class BiasWeight:public WeightBase{ class ProbWeight:public WeightBase{ public: double beta,invbeta; - ProbWeight(double v){beta=v;invbeta=1./beta;} + explicit ProbWeight(double v){beta=v;invbeta=1./beta;} double projectInnerLoop(double &input, double &v){return input+v;} double projectOuterLoop(double &v){return -invbeta*std::log(v);} }; diff --git a/src/tools/Keywords.h b/src/tools/Keywords.h index 109005406..cfd99fe2f 100644 --- a/src/tools/Keywords.h +++ b/src/tools/Keywords.h @@ -38,7 +38,7 @@ class Keywords{ class KeyType{ public: enum {hidden,compulsory,flag,optional,atoms} style; - KeyType( const std::string& type ); + explicit KeyType( const std::string& type ); void setStyle( const std::string& type ); bool isCompulsory() const { return (style==compulsory); } bool isFlag() const { return (style==flag); } diff --git a/src/tools/LinkCells.h b/src/tools/LinkCells.h index 91563482c..9dc62cdb7 100644 --- a/src/tools/LinkCells.h +++ b/src/tools/LinkCells.h @@ -60,7 +60,7 @@ private: unsigned findCell( const Vector& pos ) const ; public: /// - LinkCells( Communicator& comm ); + explicit LinkCells( Communicator& comm ); /// Have the link cells been enabled bool enabled() const ; /// Set the value of the cutoff diff --git a/src/tools/Random.h b/src/tools/Random.h index ce5dfa51e..63f02acb5 100644 --- a/src/tools/Random.h +++ b/src/tools/Random.h @@ -44,7 +44,7 @@ class Random{ int idum; std::string name; public: - Random(const std::string & name=noname); + explicit Random(const std::string & name=noname); void setSeed(int idum); double RandU01(); double U01(); diff --git a/src/vatom/COM.cpp b/src/vatom/COM.cpp index 29b00201f..30795d971 100644 --- a/src/vatom/COM.cpp +++ b/src/vatom/COM.cpp @@ -71,7 +71,7 @@ class COM: { bool nopbc; public: - COM(const ActionOptions&ao); + explicit COM(const ActionOptions&ao); void calculate(); static void registerKeywords( Keywords& keys ); }; diff --git a/src/vatom/Center.cpp b/src/vatom/Center.cpp index 7660fef6a..326bd3c31 100644 --- a/src/vatom/Center.cpp +++ b/src/vatom/Center.cpp @@ -81,7 +81,7 @@ class Center: bool weight_mass; bool nopbc; public: - Center(const ActionOptions&ao); + explicit Center(const ActionOptions&ao); void calculate(); static void registerKeywords( Keywords& keys ); }; diff --git a/src/vatom/Ghost.cpp b/src/vatom/Ghost.cpp index 9efd2209e..b8873b75c 100644 --- a/src/vatom/Ghost.cpp +++ b/src/vatom/Ghost.cpp @@ -56,7 +56,7 @@ class Ghost: { vector<double> coord; public: - Ghost(const ActionOptions&ao); + explicit Ghost(const ActionOptions&ao); void calculate(); static void registerKeywords( Keywords& keys ); }; diff --git a/src/vesselbase/ActionWithInputVessel.h b/src/vesselbase/ActionWithInputVessel.h index 2313b6393..0b94300ee 100644 --- a/src/vesselbase/ActionWithInputVessel.h +++ b/src/vesselbase/ActionWithInputVessel.h @@ -47,7 +47,7 @@ protected: public: /// Registers the list of keywords static void registerKeywords( Keywords& keys ); - ActionWithInputVessel(const ActionOptions&); + explicit ActionWithInputVessel(const ActionOptions&); virtual ~ActionWithInputVessel(){} /// Calculate the numerical derivatives /// N.B. only pass an ActionWithValue to this routine if you know exactly what you diff --git a/src/vesselbase/ActionWithVessel.h b/src/vesselbase/ActionWithVessel.h index 56d4e38a2..a23638b62 100644 --- a/src/vesselbase/ActionWithVessel.h +++ b/src/vesselbase/ActionWithVessel.h @@ -144,7 +144,7 @@ protected: void addTaskToList( const unsigned& taskCode ); public: static void registerKeywords(Keywords& keys); - ActionWithVessel(const ActionOptions&ao); + explicit ActionWithVessel(const ActionOptions&ao); ~ActionWithVessel(); void unlockContributors(); void lockContributors(); diff --git a/src/vesselbase/AltMin.cpp b/src/vesselbase/AltMin.cpp index b2c423b03..4dc0418d3 100644 --- a/src/vesselbase/AltMin.cpp +++ b/src/vesselbase/AltMin.cpp @@ -31,7 +31,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - AltMin( const vesselbase::VesselOptions& da ); + explicit AltMin( const vesselbase::VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double finalTransform( const double& val, double& dv ); diff --git a/src/vesselbase/Between.h b/src/vesselbase/Between.h index ed665c257..a5388b188 100644 --- a/src/vesselbase/Between.h +++ b/src/vesselbase/Between.h @@ -34,7 +34,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Between( const VesselOptions& da ); + explicit Between( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double getCutoff(); diff --git a/src/vesselbase/BridgeVessel.h b/src/vesselbase/BridgeVessel.h index 34880bcf3..8a9ad99b1 100644 --- a/src/vesselbase/BridgeVessel.h +++ b/src/vesselbase/BridgeVessel.h @@ -45,7 +45,7 @@ private: ActionWithVessel* myOutputAction; ActionWithValue* myOutputValues; public: - BridgeVessel( const VesselOptions& ); + explicit BridgeVessel( const VesselOptions& ); /// Does this have derivatives bool hasDerivatives(); /// Resize the quantities in the vessel diff --git a/src/vesselbase/FunctionVessel.h b/src/vesselbase/FunctionVessel.h index aafa5836f..cc7cb816a 100644 --- a/src/vesselbase/FunctionVessel.h +++ b/src/vesselbase/FunctionVessel.h @@ -48,7 +48,7 @@ protected: bool usetol; public: static void registerKeywords( Keywords& keys ); - FunctionVessel( const VesselOptions& ); + explicit FunctionVessel( const VesselOptions& ); /// This does the resizing of the buffer virtual void resize(); /// Do the calcualtion diff --git a/src/vesselbase/Highest.cpp b/src/vesselbase/Highest.cpp index ef9358f48..97fdb7e09 100644 --- a/src/vesselbase/Highest.cpp +++ b/src/vesselbase/Highest.cpp @@ -29,7 +29,7 @@ class Highest : public OrderingVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Highest( const VesselOptions& da ); + explicit Highest( const VesselOptions& da ); std::string value_descriptor(); bool compare( const double& , const double& ); }; diff --git a/src/vesselbase/Histogram.cpp b/src/vesselbase/Histogram.cpp index 106618adf..0a06789eb 100644 --- a/src/vesselbase/Histogram.cpp +++ b/src/vesselbase/Histogram.cpp @@ -30,7 +30,7 @@ class Histogram : public ShortcutVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Histogram( const VesselOptions& da ); + explicit Histogram( const VesselOptions& da ); }; PLUMED_REGISTER_VESSEL(Histogram,"HISTOGRAM") diff --git a/src/vesselbase/LessThan.h b/src/vesselbase/LessThan.h index 97fbecb53..eade2002a 100644 --- a/src/vesselbase/LessThan.h +++ b/src/vesselbase/LessThan.h @@ -35,7 +35,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - LessThan( const VesselOptions& da ); + explicit LessThan( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double getCutoff(); diff --git a/src/vesselbase/Lowest.cpp b/src/vesselbase/Lowest.cpp index 769564dcb..7564cc651 100644 --- a/src/vesselbase/Lowest.cpp +++ b/src/vesselbase/Lowest.cpp @@ -29,7 +29,7 @@ class Lowest : public OrderingVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Lowest( const VesselOptions& da ); + explicit Lowest( const VesselOptions& da ); std::string value_descriptor(); bool compare( const double& , const double& ); }; diff --git a/src/vesselbase/Max.cpp b/src/vesselbase/Max.cpp index 72e31be6a..cea5ba246 100644 --- a/src/vesselbase/Max.cpp +++ b/src/vesselbase/Max.cpp @@ -32,7 +32,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Max( const VesselOptions& da ); + explicit Max( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double finalTransform( const double& val, double& dv ); diff --git a/src/vesselbase/Mean.cpp b/src/vesselbase/Mean.cpp index ccf9ef38e..b0575321e 100644 --- a/src/vesselbase/Mean.cpp +++ b/src/vesselbase/Mean.cpp @@ -30,7 +30,7 @@ class Mean : public FunctionVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Mean( const vesselbase::VesselOptions& da ); + explicit Mean( const vesselbase::VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; }; diff --git a/src/vesselbase/Min.cpp b/src/vesselbase/Min.cpp index 65c4bf9b9..c1a163d17 100644 --- a/src/vesselbase/Min.cpp +++ b/src/vesselbase/Min.cpp @@ -32,7 +32,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Min( const VesselOptions& da ); + explicit Min( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; double finalTransform( const double& val, double& dv ); diff --git a/src/vesselbase/Moments.cpp b/src/vesselbase/Moments.cpp index 89264c0bc..8b1cffd30 100644 --- a/src/vesselbase/Moments.cpp +++ b/src/vesselbase/Moments.cpp @@ -37,7 +37,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Moments( const vesselbase::VesselOptions& da ); + explicit Moments( const vesselbase::VesselOptions& da ); std::string description(); void resize(); void finish( const std::vector<double>& buffer ); diff --git a/src/vesselbase/MoreThan.cpp b/src/vesselbase/MoreThan.cpp index 1372d2fea..5ee472c6f 100644 --- a/src/vesselbase/MoreThan.cpp +++ b/src/vesselbase/MoreThan.cpp @@ -34,7 +34,7 @@ private: public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - MoreThan( const VesselOptions& da ); + explicit MoreThan( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; }; diff --git a/src/vesselbase/OrderingVessel.h b/src/vesselbase/OrderingVessel.h index 228b9f926..c4fa9aecc 100644 --- a/src/vesselbase/OrderingVessel.h +++ b/src/vesselbase/OrderingVessel.h @@ -37,7 +37,7 @@ private: StoreDataVessel* mydata; public: static void registerKeywords( Keywords& keys ); - OrderingVessel( const VesselOptions& da ); + explicit OrderingVessel( const VesselOptions& da ); void resize(); bool calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const { return true; } void finish( const std::vector<double>& buffer ); diff --git a/src/vesselbase/ShortcutVessel.h b/src/vesselbase/ShortcutVessel.h index 0e58d50c5..9eeb5ce97 100644 --- a/src/vesselbase/ShortcutVessel.h +++ b/src/vesselbase/ShortcutVessel.h @@ -36,7 +36,7 @@ protected: void addVessel( const std::string& name, const std::string& intput ); public: static void registerKeywords( Keywords& keys ); - ShortcutVessel( const VesselOptions& ); + explicit ShortcutVessel( const VesselOptions& ); std::string description(){ return ""; } void resize(){ plumed_error(); } bool calculate( const unsigned& taskCode, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_index ) const { plumed_error(); } diff --git a/src/vesselbase/StoreDataVessel.h b/src/vesselbase/StoreDataVessel.h index 759120c39..f0d367606 100644 --- a/src/vesselbase/StoreDataVessel.h +++ b/src/vesselbase/StoreDataVessel.h @@ -80,7 +80,7 @@ protected: void setLocalDerivative( const unsigned& ibuf, const double& val ); public: static void registerKeywords( Keywords& keys ); - StoreDataVessel( const VesselOptions& ); + explicit StoreDataVessel( const VesselOptions& ); /// Get the number of values that have been stored unsigned getNumberOfStoredValues() const ; /// Set a hard cutoff on the weight of an element diff --git a/src/vesselbase/Sum.cpp b/src/vesselbase/Sum.cpp index 97861c548..068b8bf3b 100644 --- a/src/vesselbase/Sum.cpp +++ b/src/vesselbase/Sum.cpp @@ -29,7 +29,7 @@ class Sum : public FunctionVessel { public: static void registerKeywords( Keywords& keys ); static void reserveKeyword( Keywords& keys ); - Sum( const VesselOptions& da ); + explicit Sum( const VesselOptions& da ); std::string value_descriptor(); double calcTransform( const double& val, double& dv ) const ; }; diff --git a/src/vesselbase/ValueVessel.h b/src/vesselbase/ValueVessel.h index 851767456..9e8b26ed7 100644 --- a/src/vesselbase/ValueVessel.h +++ b/src/vesselbase/ValueVessel.h @@ -41,7 +41,7 @@ protected: void setOutputValue( const double& val ); public: static void registerKeywords( Keywords& keys ); - ValueVessel( const VesselOptions& da ); + explicit ValueVessel( const VesselOptions& da ); std::string description(); virtual std::string value_descriptor()=0; bool applyForce( std::vector<double>& forces ); diff --git a/src/vesselbase/Vessel.h b/src/vesselbase/Vessel.h index 304669dc9..6ca8ca297 100644 --- a/src/vesselbase/Vessel.h +++ b/src/vesselbase/Vessel.h @@ -128,7 +128,7 @@ public: /// Convert the name to the label of the component static std::string transformName( const std::string& name ); /// The constructor - Vessel( const VesselOptions& da ); + explicit Vessel( const VesselOptions& da ); /// Virtual destructor needed for proper inheritance virtual ~Vessel(){} /// Return the name diff --git a/src/wrapper/Plumed.h b/src/wrapper/Plumed.h index fb6b2ef67..eab4d8d16 100644 --- a/src/wrapper/Plumed.h +++ b/src/wrapper/Plumed.h @@ -365,6 +365,9 @@ public: will not finalize the corresponding plumed structure. It is expected that the FORTRAN code calls plumed_c_finalize for it */ +// to have maximum portability of this file I do not use the explicit keyword here +// I thus add a suppress command for cppcheck +// cppcheck-suppress noExplicitConstructor Plumed(const char*c); /** Clone a Plumed object from a C plumed structure @@ -373,7 +376,10 @@ public: \attention The Plumed object created in this manner will not finalize the corresponding plumed structure. It is expected that the C code calls plumed_finalize for it -*/ +*/ +// to have maximum portability of this file I do not use the explicit keyword here +// I thus add a suppress command for cppcheck +// cppcheck-suppress noExplicitConstructor Plumed(plumed p); private: /** Copy constructor is disabled (private and unimplemented) -- GitLab