diff --git a/configure b/configure index 55de964945844f455b3eed6405e0f7863bb79728..dd7a26ec687ac3d0053a2e423e804caa7708bb71 100755 --- a/configure +++ b/configure @@ -4826,6 +4826,31 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports explicit" >&5 +$as_echo_n "checking whether $CXX supports explicit... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + class A{explicit A(){}}; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ; + $as_echo "#define explicit /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + #### Compulsory libraries #### # some of them might be made optional if we find that are not available in some system { $as_echo "$as_me:${as_lineno-$LINENO}: Now we will check compulsory headers and libraries" >&5 diff --git a/configure.ac b/configure.ac index 9d614bb6c3d430019b0557e236e1052e9af69678..5125466dee3ac8cfeba3c416bac01d93ef55aa1e 100644 --- a/configure.ac +++ b/configure.ac @@ -211,6 +211,13 @@ then PLUMED_CHECK_CXXFLAG([-Wold-style-cast]) fi +AC_MSG_CHECKING([whether $CXX supports explicit]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ class A{explicit A(){}};])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) ; + AC_DEFINE([explicit],[])]) + + #### Compulsory libraries #### # some of them might be made optional if we find that are not available in some system AC_MSG_NOTICE([Now we will check compulsory headers and libraries]) diff --git a/src/analysis/Analysis.h b/src/analysis/Analysis.h index 33a01f9726c1be0dd4253b4e9f7468c9c98563f7..9044ac07f0eeb44d768e57772e6f2a09a8991393 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 86426fc7961c612b86af1e9c0bf6ad25cd96991b..aa361123cd0cc8c9843ca69a1499cddf886524a1 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 f64e5211d5a1f1a4c2be805f11ac494c526516bf..20e2451de06dfaed2357252e995ec1c8130a70d0 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 a164f4d905bcfb8f3f7fae09537449e5414add13..8879bf5f1085b4452c0c4a916a49b92a74f845cb 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 761d8a26a9dc12c2a22c5ce66cdc4ef6c3c49d0a..befe10b728fff85359ed663582350e2965f1e926 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 123dd14cfe8d72eb9424b4fed2b869277b7262f5..4e12a403c0fbfd1c20bbed33f2402d34f8164027 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 b0f7512643bcd3b4814b74b0912276340d9c49d7..6e9101508afe82efb3e3382d4181c93f8811a27c 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 b71f88a67909a99cc34007dccbd6fc0c8b40fd31..45a41f3c2b766a15cbedd3cdfd403c6b0e631f0f 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 b7092b49155776fe49a76650838915622d8fdd32..9e0ae8859fd804a41adf4fdaf5522bf3521f6a5f 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 30ef5f794a3023d1d81f7918c3d160930dd0cb3f..9a2e9e0136a77d6db01338a56a6bec5fb2a41487 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 fcca8f001f4a694a0db7811503085892c1487ae8..171e92f01cefb6a3000c1c82a5c0d29b27fa5e87 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 256321756e3388c58cab34d896e1c42aecb828ec..db9cfb53b3c9e95bad22da494f600762a5da8ff3 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 dbb26c8a15f36d2782f35a5b817e0e08a2f60e68..ed8dd9ef9ce0a2ab7c8204089ab050d5e9bc1f55 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 23f3259d4a7a720f36530b30ac253a6c3461e901..d0bc095ed7c7154a1cc1dc48a5c79d18d3d8c2ab 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 a4e1052b967a3c476afe86a420d39ded5ce2c0f1..6f6229d5a77df5a2082b5cb9645c78463508c8ea 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 a6a8af0b0452b6b4e98e38e860a339c380cb98a7..8a2e1139dc34725415f792e924b5c8cb7e0a88e6 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 bb97ea4dad86301ed34eed42b85d0a30791e07e4..6f77344bc6edf3062496451fdfbf6bf9954db048 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 21d7b823d9f2a59f8bb5c95fb4be6e9c0730e36f..cd27611d57d1e42ea333186053bc9fdc06bd3da7 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 a6aab531f8c1e271c29bfc7e7549c8689001fd3c..a0f494f4b2a68725b893a61d2d8df8a3dd9ab35e 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 51c9e7f95f54ac63747dd601b6ea7c54a02dd83a..9ed205ef07aaa1a707d8dada2376b6886e8008a4 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 477f8c65c1df8dbbb67fd162c729980ab52426e3..8ad567fe1d7beaccd799e4d9f083a75b3498c245 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 241acdb07610467e4312e52ee24b1ba501db54ae..614ebbf59603b37e1577469d4f508853d1a2020e 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 47ed3d1c03a78e6f3575a5817e7f43818f048a5f..c02388b44f93c565bb581bccff50b800f951a00a 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 684c1a7411e758fcc1f774050c3ac03504f6eea1..123f4ed09013add90db9ccc0ecce0e930f2aa3f0 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 1c2065e8cfa7289c3ce0fa4e1b305f33b65873d1..27518bea6902b16e20afe3db220b558b3692ad1e 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 f8754b05c7578507385d9913361787f4561656ae..fb40b62ae54c0bcd43df9ffa929f87a082338eb0 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 e2811128f6590efd25f19786a8979d8931243029..4747462f7164cf1c3f3f7be9251e708ff9d7a1ef 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 f37f0a0cc1361eb13ba620fc0cbe9ae0feb29c63..6c77b53691898295b98cde3cfb195fc314f792b3 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 3adee8764fd50c64a8eaee91f4febad074e394c6..c9daad3c2f60291dcacea570c21dbae7297a8e93 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 2b5d2ab2696d0f5533fb17d954588e94ba2ee34c..e9789f91676711a4702046a1833f7eea2116d1d9 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 83f2422a513c67759e72c3384ef2bbaf6eabc023..a2d71b8ded7054e518ad7cf9f54e61743073abb2 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 0e786a5e05f6b43d9a2902c4677f10d7a9f907bf..5f6ae3a7e0aab40f37aab51787654b7dc944b079 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 8bfc63b7b20bfd0e4f7852d57bac87cbe2275623..590775db3efc11952f42358cbf0c5581fd543a37 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 9a41f57c5bcedfb42928716897f86e917d4f6a50..f83ade6bbd4ac829327057baf12fc7ea5992db45 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 efa2567dbcbf1bd834d3910fc1c87a52021b705e..28d4f1af2ecc2dc63c6fe72b64f997ed8fd17985 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 40fa4d76caabc34caef27a4456507e25dcd135b2..890f11a8a22d3d29b1d6b9f729d55ab27848dd32 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 9b55c949bb6738f5d6c9a7ae593d3f8633b54a3e..e2f68a8695aa82a5b273b255f4e41a234e92df5c 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 c7f49c56871ee8b8f1da2c4854e74f94a9fb415c..c0efb6e178dde6e52fa47f1494ab0e6f85fd0f49 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 8f2572a21b77a05dd558d782d19f3ced9b0a6392..21250676959c2e068242e4b2ed9374d175d81f55 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 aeab313c8e158e900e4462ab31b2b83c20b3b2c1..d341dbad6405d3d4a90996724522438d911e5b83 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 5f5e6b8870613594d2e848925b7ae685d1eaac79..4f0eb01dceb97cf8042d803aa3084c108e0dc8ef 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 73321b8ff71aeedc2420699f5ecbf9ca3b355e4a..eef47281559fb88a46e1912be0a6cf4fe67eda83 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 ac484f2fa4e05bc7743dd57ce1a7470bf18f3f39..b5734044aef0caa9960da595ba0ee0e568dd7f46 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 d4140678b605470ad6e44c088be685b35a9ebaad..f7d64b8baac46774cfcd7a14baa9d67e7f058d9a 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 943b07e57f15450f6639b496e920cabb1dc0d093..cddd6364a61c80ff914a34263e36b55fbf70a29f 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 621d99ca638081d0f144c2990c4e54ecd7c71de0..8a417007518f3f0a49f85a9378215ed5c945df5e 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 9157940f6fbe1905e600b6c90484b2fe95bdd656..b39b1b920566d36ac6d159ae005b1fabf72d06ae 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 c471666fad79c3aab44c01fd53b8f90dfeeb3a53..5cf65e1c07a166369a6b2f6a30cd083ca1a5b957 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 352007ada6d74a320ed6d5869ce0604cbcea6b86..df1daf679d009a5bba05fb23813636c2f2429ac4 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 0bcc1030d7a5b94411b5de04bad325cb1d25e7bc..28b1443a039fdb21c1c53c07809adae69093e0aa 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 f4e2b2fe7c1c6fd7dea5dadb3e6a396130d0e555..486774f8b2a294aef7e50f2272d72bdfb2024671 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 951960ac4166046ef2ceffac782813a8ea332636..4f4f79c668944c91ff5ee70f529f1108d6e42c4b 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 a6ec62ecec056431e87bce241c9a5f9d09f3835b..0ae02f99669c87818ccbd831368209fe5ab6cb1f 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 2d15c2dadedf75249961e0a195127367eec3ded0..4a32b27009c02d8e7765c48bb9c5c0341f5eaa45 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 551c73d0b901504bf5a2c5233096406a60996e31..359e0f55ab868e7d3d7632d671507f862fffd3c7 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 3a29cda86fd7a8798c643bdd6858b73c6729bf3e..420ffd3faa6cfdc73881eec31b139ca263d51a24 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 d8f1412df3c8b1f3451640a51c1658524d2c7729..b0708b306f0f0e79463e2146cd5323b4ccb207d2 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 feef08a6da5f054e6c3d043e1ec1ebffb81d07cd..a12bdc78a1df8f203aa262d1fba940aff45c99e3 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 b4feadca8ddd9dc9ffb7e2b557cf3499604d9f5d..39ddbf2f4a05ac272ac20b9d60ace6f351a2f786 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 43b1ad2e3a2c698d0dc57fb2ca7f65e4ee771855..3323b5da50797db758bb2c0e4b0e358d710e63b3 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 7da51dc06736b795b9f439ef7318f599652976e9..3318fe1f4df0cea7fc1a7b995ca8e103cada66f6 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 ba7c440444011b5baaca1164621b39001d85c138..b434c47c13cd0c8a5479d208e19f4c4e92c09883 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 ef97621ecaa8070732214ca20221eaec89c35bc0..a77e2b1cc3e0df8c9a41c88ae57a173e915f2856 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 e6a38954234ff38604cfc7abf81fc1a46850e703..d4366c474ea0381be82abc3e9f8263e2303e1ce2 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 0f499622356c1c776aeae221635868da8f184e6c..3d0e42f1fab223a3dac02748fe505318f3e9fdab 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 f741e8d9da4e33d6a862ff23f9784a907c59bdd4..99088fc73e4219d4a38a85663d3e2f04fd31b696 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 111858ff8a3f622274f214eb407a259928bc2bf5..8bc2c90de6d5adf4ac2b3d7d082f9a373e212667 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 8412323e74d9690bb4151164794bd7f4554097b6..58f9d053b161e65813a2e0ddcf23479b83a79c6c 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 b39fd30bc1294e2cb0f6efd9b726ffb206eb6934..d72bf626adf22f9bf2eb4dd861d4cdb06ac11e34 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 09efb83f4d7d0b71dffffdda7d48665adc2175ec..3ad613abe78aafc14fa2d90342939dc13fcca929 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 877ced320d879c4e678db0aa1a7e0a517371557c..93e59f1d399e97748c8933716c1351cd13165d97 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 e11f81f42dd37fb142230f9742694142cf5685b7..6db6912e0ad8eb6908c629414fb18f01aa1f4664 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 ebcd35e396a3d702f654223f3087225a5c3c68a8..617ae7070bda514c1be1907ac83b991e9c036acd 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 7a8b6a8e1754e029c96f05b2e51547231c990822..01f06cbd7fd32d9a6f28ee2afe2b2c8bccc305cf 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 0d202c7ea7eedf1e20aca40402c7fb3da5531ae9..ff28afa4fac5ab344a19d5425bb509a250ade630 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 bd71cc6296a55a1849ba2db3dc75cabcf686eacd..bfa6ac048f1c3cf518281f7a7af4150228bd295c 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 c47a9143593bdba079ef587cf8980d5429bcd76a..7f458d91d18ab33cff7031b7e9da2031db717c94 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 e9c0c74d1dd4a282d75fc3dfdc23a6d46c6ab718..e40cc43cc3d0ad4df6bd8fdbed6df000633a58c5 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 20b43cdc1571dea3580aa38a4613623667e010af..cdf5b6ac2dd0fc66d5b0c88678916dafe5df9ae5 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 ab47f2634305bffbda7c84c5ad87853901398142..033d6d407872c9d9671fd653aed05774ac0dc8ce 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 7f8fc527758caf2c2a5a5a8404a96024fd4dbef7..17a370dfd1424c72607145a8a36505a76a600f99 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 49bcdf1d7953ecb17d0eee10f043f4c8efbaf874..169f07749418916c6063f688c9ded5f30a621d42 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 bb0bdd5dd436569bfeef099464fcc3b6f3153312..bb875cd3e506f01e7ec4f3c6dc2a3f2271cf5533 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 24ef1e889162415d30a004f6ce00528a8f377afe..3bb23d476da60cc10636d0b8f2d0bdadeb0ffe06 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 906f98a374039338a6baf553a6b0b060f077158d..ac666c9f79f160afc3db99b78cb04fb531d308a6 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 0c07b22e8e9c4b3aac5019cbfe0c776471835892..cb1f09d4084cb98dd87bd7cc22eacadbaed81043 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 9404345132b5a029529074ddd8af293b029ec7eb..081fdffc7c9a5c844152dce23778489ce9a2b4ff 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 37db089aa83b4632c155717a30c34b08ae867bd0..247d9acb6b3a2638690ffbbcbc74764e80420c68 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 2c0f6dfa7c4554cf0cb16ec0996b426bc25bb806..49caf038cc1726a7884fbf27ab25bd075d323edd 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 0c46d83508ed106095a172e5c73e5cbbc781d2b9..fce4e1682c9595b73bb7a9f34f86498dc9af7836 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 172f467b998e135163739e40b532a3b53aa07808..b5b0cc5d517fd488348ed517a50bde32bc02eaa3 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 e42eb38adff82049bf2ad25837d0a34a8a9a5eab..c66ebe99bff7641dbf03dc7c6fa136b60593819d 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 0db4ce6c29a097e592a9b0e7dd98c58849af99d5..662a221c79a8608d4478f7308027208f0734adfa 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 6379cd9af9f10b77bb79aec9bd4ec5b8955df411..e4da4685bd971bdaff9696003c72ec1f54cf7caa 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 77a56d6f3b7b45b9f5f0ff5808e40b1a54054dbd..c0aaf7c9bf0c04da38b5b96860dd0e1c69397da8 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 a89837be76fa205737b2c58685d817b544aa6414..1522bee224301f9085a5e6d899bf634a04619575 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 9bc0cafe9a87bdd57d7c45e4861d824ab0a056f9..4bd763864538775bc4cff402a5f12a25f3f83832 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 e0a9de726445e6733fc0335c7392dbfebc2f528c..b1084025c24b78800605f5fc1b3c3ebc51e4a24f 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 89a83364c7497d3896e23a6aabbe2afe3493cd8d..dc27ec166cd6d23385c19fd8adecd02edc25c45c 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 0c79ce1862752a08d89fb704c42957f486e2ea84..7e2830dbd213a4752bac4e027c0fe6d94a0deb81 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 4fdb1d050a0507169008f3f1ea1770d0fed05c04..5af7dfa8a2df2397656809e2ae863b96f9ad8e0a 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 22202a9b6849ea43ca637e56c49f3f2b4e3799f2..7ec8822c778b9dd8729e73a541d557fda32cf6bd 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 9e4446e6880d1859ff5db03481c0318f75b36f09..a28d2cfd415dd05a1b7f4068a772acd74ea57242 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 a13c18f7a9784ef20d5666d68b99844309248748..7a639964b117a38ec9aebadbdff3a91756aff6be 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 042e9837967c0eb375665534fca4a06b5686131b..7ac256be18ea67a6af53b92792a827d7ee826f85 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 035e6a740af91c1477060101027915b87b376fb0..20c6683c5b14b3f8792365310494126c16131998 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 d5341954391aa9d60bb2d8aef10363991dd080c0..ab8eba2281254cdccd03378f500472f0ca3b9548 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 1e4b539b2e9b10418bee55e15407672b5dfc1a36..372e9c86d6b4c8c7bf63a90fc491f9bb6be65974 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 183d0f4ebc178b0d010e51a576f51f5d83e4b585..ae3f216fb8f31edc412d3a68fa0ec5ff9cab3f51 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 a9cb239903ee908d3411b2d8ea4c9be6bb8d48c6..b1bd026f5f074c48fa4fa9dee157403225d8cb17 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 9dc089c1b25c3ab12f76dc189a1a4d44b7280781..b971e15ba795cf90c6fc2ee0b50b083aec73d91e 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 6444d7da35cab7c2f3406ea5ab18a30ec911e8cf..80930b3407dd4077fb2d7d51328aa9e1b5d692a3 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 df799928c04528fe89b9f22927838d6bd3c5b5de..6660b9b03d8a2d6ab8716fa97369d630c6efa2d6 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 6495cc672fd724c32b287cec6a1f3484c30c50e1..b7f277bd49f635dacc3e574574fc6b9ec241939b 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 d17901a5f8fd18eee2158f3512430058a93ef40d..f0e308e12aec9d402a189b84ba0c6c238a90ee14 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 488dbcb00f23b1250fd97ab71ef40b4c3965e598..7fd6a08d2607dc4ac64c89df98f22a234abf848d 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 2cf2b38eefb2f62c2c17c6112a43a2fc0e9dc79d..e13d2775ba90dd6e88f02fc94898c96aea9c7df5 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 0fda53ec788da377f11c9e87e0cd161a1544b6c3..b76f1213afd3b553e953fd4b67979f1313f0c680 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 855f91576493e33c257dc8eb3b67b2d9d335b5b3..4891a5932a76685e2bbf693c21018b8bf46614c4 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 aaf1ad0d183b6047fcbbd45b4a2721749885ca4c..d06fd3a2d65487f093a8d660f1a60c400676e51d 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 51fa4f81f8b638b06dce0f693c13c4119a66028a..bcbc301914f72ab6e476159c34c92b2e75bf00a2 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 da36cd41ab7845a45d701e0bb044661362ad815c..0ae402810dc5f43307efd4b71eab7699d55eab50 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 8c82d6396e23052f1d9948889f74f16e2fc9c327..15d9a2de6d7d89b5b81e544ee98d9b0025ae880c 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 6a3a6c7b4ca08e2706cac8259adf9c00067cae03..b06e3b66d92af125c23aa214f71c3292486c2949 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 d10d5e5a9111d2ae071b8059fb7d129308992953..f492a5066963eaa3f6085a9d0cd63ff6a9e6d0c5 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 e8c209e6cd2d3df6f2f51bdcc80b8895186b9913..1171179ae42fec246634ba2a02c20241ad250271 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 39a96a3a672eb180ec5bd02cb94e916d4fe78dec..6cf1b667d2942d2f0e243a559b39a2b4ed2485d1 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 1d1f12d293b7afd33e84b2e103caf49ceaf510e7..373d390d8b8ee33b7ba17b80fb7ea574ef9696d0 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 b203e5b55d79f26b5799fcf7db668aa977869719..4e332d8273347b67b169862090c54906c4f93db1 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 2acaf5a32d222fbaaae883a8557294741a8009d2..cf108fd5e92e85de7f31a999f64f436d483c79d0 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 0e1e95a13127eefad2a55c18f73376ff6e1fc876..4148cacb0594ea04734d4d09af5e46448509c1a8 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 b54a3779cd3b90d41d4379416d5b9469a2fbea1c..639c4ab355a4ea0d5f084b0f4a1bc8861e197ba5 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 a87fc67130cc57e90a6e169202d65cc048be4092..ae618b6d5e357649b3a09240921d07a4f7e2005f 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 32794ad573b485dabf71cbe8119380793401e4de..6d5f9c2014604985082d79debc74a81a19dfef70 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 14b72c4339c169c3b16acc0fcb2bb9764f313997..fce6c2a7f10f0031673a6886d0754416cf021814 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 9f5b256fe011fd9f7c91a1bdc94bd66252727fd0..2bf9839d9b2cfaedfba90139f13ea6c6b636859d 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 3d1b8bba530cbbd7e05e9e1f4065ef76a3a692f9..cbcfa0c4b7191d19dcfc952c3438e22e0fcc4972 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 97d071027c53246d18a4fcbe1c6b0a31107a8560..f68192022584c5dc78abf40e9a3a185e7d07c2cb 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 17acee9182a5435e064160d7296d93161f467539..1db871b805561487c6e96165d6ee6b3199c455f7 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 d22fb6c968d58ab40a3953ee3b58b7d101af4ecc..e462bbf852aef13775e25f5dd412bfa083394941 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 a925c6ee85b831badd09f15b5f0b4e11dbf01d80..7bbb9613f2d13c6169bdabdc147ca3d45760a9c5 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 9bd3765502a067559b70c3afe1051d110aefd031..de7076ce4b12bcb4768b32be83cbc451ca892585 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 fa7359f1d8050fd79e43ba4a75d3eb675aef6cc6..ed5edaf440f0928864efd30efb536ed72b661d57 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 b532c4b145667a7c64520d0f92dfc4704fbfb5e9..02ecf222c9c5b4ab6c852e781059d514491c5c24 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 8222be59fbdd4e000115a0dac49f0c61fecc405f..ac5cf65e74b7694241fde255a2b19957e979a581 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 51a889d7f3a50b9511c676e2065017266a7a85ca..65004537b90ae850458209e6016b4c2064e8fde7 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 f660b518d5778c0cd8277376e5a7b100f2dbd0ad..2c377dc69cf6d99a281fd4c4e356d8e369b79b10 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 373da6b369889454a46a7675e4a3d61f85ad88de..a810206ce72af816720cb98a7293f75ed6394951 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 70c2c163dd2abb0e94d5be6f756e4d86c71c3c23..f4ceaab182b2ba04669e72691818cda1461ef0fb 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 709e7991208fc6d85fb6bd1b90be88dd1e1ee83b..88840b5d184ba49c919c285b98d739f1db0295a4 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 0883d9186b57aff87e672c839eefec81b335738d..6c21ca28d75239f1c8cc843bd00d53d8cbccd492 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 00fa6d969ad2886ab197f5945e8acc4b25dc07ea..13e46700469e348b79ed2077ea17f51f0f8d7abd 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 3e773585444ef5f9b31e6f9c934b902d5f3bc4f1..926ade012ab3c99ae80d58f419dabb2f626b4a73 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 6b94cd92a6ca40577ba36d4b81857457e33f882d..e7e1f02c9234b9e735635e807917dd9854993a04 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 857eea12d469247f3ee3003b3bad6290664b21f6..ec074975c52f274ce78ef6d1e3821938c867e7a4 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 b9ddf6a4a9964a3b727746c8cd2a27a4d5f3057c..0333cf952a7b3694f29d3daec68ad7a7e4b06d1c 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 bfccf6e4d6b616e8cc29ca6509d8018d02bdc89c..9836c0d105aeb9908fb66861f1383b7938ecd3d2 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 1ff130c8173c01b7abcdd6eb16dd32de8d54bd9c..2b045564af38a9c3683ce833c9443abd5b6f0c79 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 217d484819c8c4223250a90402e620b29528d450..c0278ae3c844e76967774b75a397e0a000857159 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 2ae232942968495b1f8250292d07daa78bea9d5c..9ec05b3819378f0fdeaf5f2101d23a1df0b0ff35 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 f70910716f1d664aa0ee102d505b608fc5f503f1..a613a8a1230658130c2c4dcfbd65c259d7d5d8aa 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 6c327576026f8a2c79d0aef92440eb4ff81ccda0..ffa027c4dc0c55f8f0f5687aa6de1a90491f560a 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 79e9e5354aa72176fc1c370ce2049b691ced95c3..9e90e1eb697bab1931349cd917ab5fec6b538a08 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 2c6fd1f453711428b67c04963ce597261228c090..b10a6a818fb24bd4f1f53c323e9cc72967d343db 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 9e26b7b66c4a7fa7b82915f2e24173f7000f69ff..7c60b77b21e46f9a92549187b7fbd33ed1a78802 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 51ee3be55fe3dea0191f5f6c0fc605c78dd42418..59f37b55228abfb8b3d0e5d03c787d90cf932bd7 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 c4f08c96277c8541c10c42a21ea819827d1d0bc1..7670d32800aae6627bde63e5d84b84df03827bf8 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 af651bd4b52085e3f31ea6c1a60121f3b1a9b70d..67a5862efeb9c0168c255256ea62c2ff8cf96c3a 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 8e17ad41d29cbc54eb83c8291205e912c879b912..3ed35378f028d2ccf301934fa0a0d9b625beec4b 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 b8ce2d36ad2b6a4ad8a74f3790005013958a4a3d..0acbed46d041a398dfb2f472717e5a032eb2d763 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 a339936af42d1d6d6710504321f4a4203ea9fc64..66913bfb311d49b0e607119b6b209560a52da797 100644 --- a/src/reference/ReferenceConfiguration.h +++ b/src/reference/ReferenceConfiguration.h @@ -43,7 +43,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 ; }; @@ -90,7 +90,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 ad55f6cb048e61cc5e8f33a3e3da37bf1e7c8d71..c718ba980c77d807868d4cc4bc57502eb0543d2c 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 b6487b4da931d6d59575024d6d47716aeb91f062..a74b8d6999496622b8fbb463a6267a89235d7974 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 029fe7f3b1bf18bce80001e6aafa05b6c6eaca7b..ee03e440e5ee297510572155f3016f4a507dbb41 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 9cd13e0a967d991643224c4bacc57b185ef82249..18cb177966fa5396dd8f377727f5926af0baa13a 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 235b00d2aad7a0bb3af97f7576b8cf639835914c..09c5e46a93dcceb9a94a8656542f5ad570d42c65 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 1e0d00bd571d0a2766e47c994adec6363663e0c7..a7081e88222be147ec9b0c048af1c65fa8672c11 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 ba8dbbc64569a06b70d823cb567323feb679e476..fa844d9aa9fea63bbfe3c221d578901d50215430 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 a8efa8d1fe4f80b68bb0c72a833e06530f8f2665..a5e4f05f1b9ff8a14291bcbfda3c78a123dee30a 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 47b63efac40049a1a93db7459490e8f8f70730e8..b80580ee77c588ab51763f8a1921682ea8196cef 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 2196c9d93be2456a647aeab3d6afd996fbf09d4b..360d4c1713b4a4a8e32e0bdb1e306df433191351 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 dbf19c6bef294cd339fd795b3cba689fc964fc86..2309cc4eade2c7e3a5a95aa0987e4381f754d569 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 aabb5b31e4f4492690f5b574b2fdb78972bcb748..02c904c34778c6fd422a3488bad26f1473256c34 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 948b746d83f31a1ce94d2879bbd8b408096562e6..6890ef191df2ab1454a366c09c2f147153e50f6d 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 9af3c1703213dfcb2c1b55b09c362e720fa0f766..2897d6215d0f80a8ccaba8d98eb0bff6b742575d 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 10900540619265378052071b3ca4697e33013a9b..cfd99fe2f7662c0e715a05725a3c277544a1e739 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 91563482c3bb521621f89b4c516811ed47ac4caf..9dc62cdb75c0859c6f09b92e8ca3d297942d1f5d 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 ce5dfa51e49499ef956cc556e8c42459da64c38c..63f02acb5d5b939a7b1e40b9c22ff7fb47284a2f 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 29b00201f53ff0c97a8819815e461d47cde3d995..30795d9712154472b4e72eca7c4a9a8ed3167f1a 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 7660fef6a00a70b41541af21335e86e1a095eeab..326bd3c3168fd31546aa31f01c4657da87347a82 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 9efd2209e9662883842161a8ae87bc4f423c0e9e..b8873b75c33bc6ad90c090e189a6b5e04422c53e 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 2313b639382c9816d79d6ca70eb9d93b81742da1..0b94300ee5f044b5024a7337fa0303b5c398d694 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 56d4e38a246536a7f0019bfb1f01fb8031a9ef05..a23638b6280cd32339b9ddcd3f9d1397793a143b 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 b2c423b03294923b6082c443ca87c66412d1e1e2..4dc0418d3aca6a998dc6a352e4cdbe037a89af45 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 ed665c257c803513ce78ec7dc733433abee117f8..a5388b188d93103cddf103ea33231b7cdfdad79b 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 34880bcf3a8c232fe3a6e1df4a4681a576a777da..8a9ad99b16df3f4cd283492aaed3fe3c0373a675 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 aafa5836f16e90a46fa60274991f049686104f8a..cc7cb816a38c12a56bb5a7342f7d023f948ec408 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 ef9358f48f9035d33ac68e15b68d2426c2cc7d41..97fdb7e090cff8bdd003a5765b1d516042d6006a 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 106618adf30989c8d035240d7afb9df84c154a89..0a06789eb1523c3f79692bdf563b1b8019a2fcd5 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 97fbecb534a79dee2d1a8e20642381f9be9b76a5..eade2002a64f4f796ff93332773dc2c60d80dca8 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 769564dcb16a21d4c21f385d8a059c9aaad20cc4..7564cc651a2702aacd3283ad8b964a1aac00e2dd 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 72e31be6aa7562698a2c53afb5e3d32535c9f63f..cea5ba246b202f2ccea5f7b924fbfc1097ec80c9 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 ccf9ef38e4aa1370a8b1431885539df53c7798ac..b0575321e16eb4fab40aeba2d1cee1e3bbd64940 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 65c4bf9b9222999f2eeca463707a3536eb2dedbe..c1a163d178790ba86af4ff86a0b0e731eb333589 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 89264c0bcb631efdbceb8ad0a16cd634c1d319e4..8b1cffd30ca32d4c50353f5bb7f92ff7fb428b27 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 1372d2fea5e8c0e968198c3d4b178e5c1195828a..5ee472c6f57ce5cc205aba4c07ac690d450cf80b 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 228b9f92607104c53c748547de64640028d5ca61..c4fa9aecc639428c8058cbdbfa03269366d17648 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 0e58d50c5546457b1b1450d86800811b78c1a83f..9eeb5ce97fe416bb06c93e5bbdcbd0b943387a38 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 759120c39190a7480e8099d0097ddd0b6ef97bfb..f0d36760666f3f2d446f31e3e39f7e3743360b77 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 97861c5480d9018f68634fd2da6e89935e358feb..068b8bf3bc165da5e0fa30b1ea652ed8a950d37a 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 851767456728c2c5de696fd95ca35c0171d45c9f..9e8b26ed782aebe6eb69ca71a5418d68e8c92bf9 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 304669dc9e3b0b11f7ecd175282226ee173d4cf4..6ca8ca297c31eedc485ad2e020114aa9df4a4543 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 fb6b2ef676fc0c6197b1093935cdbd3fb564c7d3..eab4d8d166e99f4754a17074cefb7cce26f4d589 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)