diff --git a/src/analysis/AnalysisBase.h b/src/analysis/AnalysisBase.h index 6fe0bd1458dc9550d952f5d0197f534773efa1b4..594f8f0b0b01bbb3a15cfd894f2f14c3a33f9f39 100644 --- a/src/analysis/AnalysisBase.h +++ b/src/analysis/AnalysisBase.h @@ -56,7 +56,7 @@ protected: AnalysisBase* my_input_data; public: static void registerKeywords( Keywords& keys ); - AnalysisBase(const ActionOptions&); + explicit AnalysisBase(const ActionOptions&); /// These are required because we inherit from both ActionAtomistic and ActionWithArguments void lockRequests(); void unlockRequests(); diff --git a/src/analysis/EuclideanDissimilarityMatrix.cpp b/src/analysis/EuclideanDissimilarityMatrix.cpp index 9dedf1a6d29984bafc3c96c754aa8b395b544554..85371822bbf07125dd2ec2f3d852eb7222566983 100644 --- a/src/analysis/EuclideanDissimilarityMatrix.cpp +++ b/src/analysis/EuclideanDissimilarityMatrix.cpp @@ -44,7 +44,7 @@ private: Matrix<double> dissimilarities; public: static void registerKeywords( Keywords& keys ); - EuclideanDissimilarityMatrix( const ActionOptions& ao ); + explicit EuclideanDissimilarityMatrix( const ActionOptions& ao ); /// Do the analysis void performAnalysis(); /// This ensures that classes that use this data know that dissimilarities were set diff --git a/src/analysis/FarthestPointSampling.cpp b/src/analysis/FarthestPointSampling.cpp index 0a0d7341dd030c894c4109d6e2add2966136410c..9c977972ad7b4eed0c017069370fb7999edb1344 100644 --- a/src/analysis/FarthestPointSampling.cpp +++ b/src/analysis/FarthestPointSampling.cpp @@ -40,7 +40,7 @@ private: unsigned seed; public: static void registerKeywords( Keywords& keys ); - FarthestPointSampling( const ActionOptions& ao ); + explicit FarthestPointSampling( const ActionOptions& ao ); void selectLandmarks(); }; diff --git a/src/analysis/LandmarkSelectionBase.h b/src/analysis/LandmarkSelectionBase.h index e809d2a1b683e4f1128af811ac0c5e236b2cf73f..4b29be5027059a2f2bfc7afbe51418b1e96ef2c5 100644 --- a/src/analysis/LandmarkSelectionBase.h +++ b/src/analysis/LandmarkSelectionBase.h @@ -45,7 +45,7 @@ protected: void voronoiAnalysis( const std::vector<unsigned>& myindices, std::vector<double>& lweights, std::vector<unsigned>& assignments ) const ; public: static void registerKeywords( Keywords& keys ); - LandmarkSelectionBase( const ActionOptions& ao ); + explicit LandmarkSelectionBase( const ActionOptions& ao ); /// Return the number of data points unsigned getNumberOfDataPoints() const ; /// Return the index of the data point in the base class diff --git a/src/analysis/LandmarkStaged.cpp b/src/analysis/LandmarkStaged.cpp index 763baa8e7e4d0fc0bce688305f2b4c4ad8e51117..f6ee5daf42e56601bc699b58e728a0d3aa2653f6 100644 --- a/src/analysis/LandmarkStaged.cpp +++ b/src/analysis/LandmarkStaged.cpp @@ -43,7 +43,7 @@ private: double gamma; public: static void registerKeywords( Keywords& keys ); - LandmarkStaged( const ActionOptions& ao ); + explicit LandmarkStaged( const ActionOptions& ao ); void selectLandmarks(); }; diff --git a/src/analysis/OutputColvarFile.cpp b/src/analysis/OutputColvarFile.cpp index 28dd12527328a4b94f033535b3832df564803ecc..3984481e43d4e61122740b78bb7c5f761cb24500 100644 --- a/src/analysis/OutputColvarFile.cpp +++ b/src/analysis/OutputColvarFile.cpp @@ -52,7 +52,7 @@ private: std::vector<std::string> req_vals; public: static void registerKeywords( Keywords& keys ); - OutputColvarFile( const ActionOptions& ); + explicit OutputColvarFile( const ActionOptions& ); void performTask( const unsigned&, const unsigned&, MultiValue& ) const { plumed_error(); } void performAnalysis(); }; diff --git a/src/analysis/PrintDissimilarityMatrix.cpp b/src/analysis/PrintDissimilarityMatrix.cpp index 168a2b8a61c9a1b45d9a04c8e6dd0a363040575c..09b1401923b70e1f8905d4a9ed21b78501ab2a15 100644 --- a/src/analysis/PrintDissimilarityMatrix.cpp +++ b/src/analysis/PrintDissimilarityMatrix.cpp @@ -42,7 +42,7 @@ private: std::string fname; public: static void registerKeywords( Keywords& keys ); - PrintDissimilarityMatrix( const ActionOptions& ao ); + explicit PrintDissimilarityMatrix( const ActionOptions& ao ); void performAnalysis(); void performTask( const unsigned&, const unsigned&, MultiValue& ) const { plumed_error(); } }; diff --git a/src/analysis/ReadDissimilarityMatrix.cpp b/src/analysis/ReadDissimilarityMatrix.cpp index fa0e08c81af1df00e341170d0b90c511d10992cb..c6c8c28ab6f594a38e1a9e2e78d417c34839e795 100644 --- a/src/analysis/ReadDissimilarityMatrix.cpp +++ b/src/analysis/ReadDissimilarityMatrix.cpp @@ -51,7 +51,7 @@ private: std::vector<double> weights; public: static void registerKeywords( Keywords& keys ); - ReadDissimilarityMatrix( const ActionOptions& ao ); + explicit ReadDissimilarityMatrix( const ActionOptions& ao ); unsigned getNumberOfDataPoints() const ; // Return the index of the data point in the base class unsigned getDataPointIndexInBase( const unsigned& idata ) const ; diff --git a/src/analysis/ReselectLandmarks.cpp b/src/analysis/ReselectLandmarks.cpp index 326018091ab94794c7a51fc9248afd3fc62e68b1..c791353371a4d42e7c00493138003297db2ebc7e 100644 --- a/src/analysis/ReselectLandmarks.cpp +++ b/src/analysis/ReselectLandmarks.cpp @@ -42,7 +42,7 @@ private: LandmarkSelectionBase* mylandmarks; public: static void registerKeywords( Keywords& keys ); - ReselectLandmarks( const ActionOptions& ao ); + explicit ReselectLandmarks( const ActionOptions& ao ); void selectLandmarks(); }; diff --git a/src/analysis/SelectRandomFrames.cpp b/src/analysis/SelectRandomFrames.cpp index 5dc4e11b34f0d4f30501c51c59cccd222cd84572..7ec712fdfb1fc65a70e13c226a56ae12511d15df 100644 --- a/src/analysis/SelectRandomFrames.cpp +++ b/src/analysis/SelectRandomFrames.cpp @@ -40,7 +40,7 @@ private: unsigned seed; public: static void registerKeywords( Keywords& keys ); - SelectRandomFrames( const ActionOptions& ao ); + explicit SelectRandomFrames( const ActionOptions& ao ); void selectLandmarks(); }; diff --git a/src/analysis/WhamHistogram.cpp b/src/analysis/WhamHistogram.cpp index 4d0616bf05d0158ddd899f1ff3afda312c73a706..2f10f39710ccf1107230b7b4a28d8ae2d5d67aa0 100644 --- a/src/analysis/WhamHistogram.cpp +++ b/src/analysis/WhamHistogram.cpp @@ -37,7 +37,7 @@ This can be used to output the a histogram using the weighted histogram techniqu class WhamHistogram : public ActionShortcut { public: static void registerKeywords( Keywords& keys ); - WhamHistogram( const ActionOptions& ); + explicit WhamHistogram( const ActionOptions& ); }; PLUMED_REGISTER_ACTION(WhamHistogram,"WHAM_HISTOGRAM") diff --git a/src/analysis/WhamWeights.cpp b/src/analysis/WhamWeights.cpp index c9c43069c631de732eeb148c8250977194d1676b..8aedd95f85d69d2c1a7af1b551085754827f280f 100644 --- a/src/analysis/WhamWeights.cpp +++ b/src/analysis/WhamWeights.cpp @@ -37,7 +37,7 @@ This can be used to output the data that has been stored in an Analysis object. class WhamWeights : public ActionShortcut { public: static void registerKeywords( Keywords& keys ); - WhamWeights( const ActionOptions& ); + explicit WhamWeights( const ActionOptions& ); }; PLUMED_REGISTER_ACTION(WhamWeights,"WHAM_WEIGHTS") diff --git a/src/dimred/DimensionalityReductionBase.h b/src/dimred/DimensionalityReductionBase.h index 2dc76a380794081822c81a9e9e9bf8d0f8fbec91..5f0772824fbe5b2bcdb99e41d732b92a94a363f1 100644 --- a/src/dimred/DimensionalityReductionBase.h +++ b/src/dimred/DimensionalityReductionBase.h @@ -43,7 +43,7 @@ protected: DimensionalityReductionBase* dimredbase; public: static void registerKeywords( Keywords& keys ); - DimensionalityReductionBase( const ActionOptions& ); + explicit DimensionalityReductionBase( const ActionOptions& ); /// Get the ith data point (this returns the projection) virtual void getProjection( const unsigned& idata, std::vector<double>& point, double& weight ); /// Actually perform the analysis diff --git a/src/dimred/OutputPCAProjections.cpp b/src/dimred/OutputPCAProjections.cpp index 175ecfe9c187acac7c4def95e5442ca55c5c1222..e0ff125097432e632442375aa5329b26b3f3782c 100644 --- a/src/dimred/OutputPCAProjections.cpp +++ b/src/dimred/OutputPCAProjections.cpp @@ -50,7 +50,7 @@ private: std::string filename; public: static void registerKeywords( Keywords& keys ); - OutputPCAProjection( const ActionOptions& ); + explicit OutputPCAProjection( const ActionOptions& ); void performTask( const unsigned&, const unsigned&, MultiValue& ) const { plumed_error(); } void performAnalysis(); }; diff --git a/src/dimred/ProjectNonLandmarkPoints.cpp b/src/dimred/ProjectNonLandmarkPoints.cpp index d51e9fd189a5a8dc54c40800129dc84a37b51beb..cf353493033c36a5506acbb065b25577d44d578c 100644 --- a/src/dimred/ProjectNonLandmarkPoints.cpp +++ b/src/dimred/ProjectNonLandmarkPoints.cpp @@ -53,7 +53,7 @@ private: void generateProjection( const unsigned& idat, std::vector<double>& point ); public: static void registerKeywords( Keywords& keys ); - ProjectNonLandmarkPoints( const ActionOptions& ao ); + explicit ProjectNonLandmarkPoints( const ActionOptions& ao ); /// Get a reference configuration (this returns the projection) analysis::DataCollectionObject& getStoredData( const unsigned& idat, const bool& calcdist ); /// Overwrite getArguments so we get arguments from underlying class diff --git a/src/dimred/SketchMap.cpp b/src/dimred/SketchMap.cpp index 5224a052c1510d5b9fb964a060d32a276acb24f8..6fa0a6fa1a21373beb2adbcc6a006d95952052f5 100644 --- a/src/dimred/SketchMap.cpp +++ b/src/dimred/SketchMap.cpp @@ -37,7 +37,7 @@ This can be used to output the data that has been stored in an Analysis object. class SketchMap : public ActionShortcut { public: static void registerKeywords( Keywords& keys ); - SketchMap( const ActionOptions& ); + explicit SketchMap( const ActionOptions& ); }; PLUMED_REGISTER_ACTION(SketchMap,"SKETCH_MAP") diff --git a/src/dimred/SketchMapBase.h b/src/dimred/SketchMapBase.h index dc39abb8aff6988e0f6f4bff1cbaffc8a812adfb..f2b2a9cbc77da9e181fca5674b251d977b788ea3 100644 --- a/src/dimred/SketchMapBase.h +++ b/src/dimred/SketchMapBase.h @@ -49,7 +49,7 @@ protected: double mixparam; public: static void registerKeywords( Keywords& keys ); - SketchMapBase( const ActionOptions& ); + explicit SketchMapBase( const ActionOptions& ); /// This starts the process of calculating the projections void calculateProjections( const Matrix<double>&, Matrix<double>& ); /// This finishes the process of calculating the prjections diff --git a/src/dimred/SketchMapConjGrad.cpp b/src/dimred/SketchMapConjGrad.cpp index 43ebbfe2b16607b92b293642673f662a333ef983..c78fd7a8de300597929681fc847e6aea29433483 100644 --- a/src/dimred/SketchMapConjGrad.cpp +++ b/src/dimred/SketchMapConjGrad.cpp @@ -40,7 +40,7 @@ private: double cgtol; public: static void registerKeywords( Keywords& keys ); - SketchMapConjGrad( const ActionOptions& ao ); + explicit SketchMapConjGrad( const ActionOptions& ao ); void minimise( Matrix<double>& ); }; diff --git a/src/dimred/SketchMapPointwise.cpp b/src/dimred/SketchMapPointwise.cpp index 9f547fca37fb25ca9a0eb2251d2212535967f2e7..b8a8a865e700edb42b5d8d7934ec75b49017d711 100644 --- a/src/dimred/SketchMapPointwise.cpp +++ b/src/dimred/SketchMapPointwise.cpp @@ -43,7 +43,7 @@ private: std::vector<unsigned> npoints, nfgrid; public: static void registerKeywords( Keywords& keys ); - SketchMapPointwise( const ActionOptions& ao ); + explicit SketchMapPointwise( const ActionOptions& ao ); void minimise( Matrix<double>& ); }; diff --git a/src/dimred/SketchMapRead.cpp b/src/dimred/SketchMapRead.cpp index 5120c9289bdd661a41c95142e0116c7026c82c6b..506dd7fa51907531d8f5595f45a465cacaf3d980 100644 --- a/src/dimred/SketchMapRead.cpp +++ b/src/dimred/SketchMapRead.cpp @@ -53,7 +53,7 @@ private: std::vector<std::unique_ptr<ReferenceConfiguration> > myframes; public: static void registerKeywords( Keywords& keys ); - SketchMapRead( const ActionOptions& ao ); + explicit SketchMapRead( const ActionOptions& ao ); void minimise( Matrix<double>& ); analysis::DataCollectionObject& getStoredData( const unsigned& idata, const bool& calcdist ); unsigned getNumberOfDataPoints() const ; diff --git a/src/dimred/SketchMapSmacof.cpp b/src/dimred/SketchMapSmacof.cpp index a4088e8054bd1a70b0fd17b4858fe64f4c9774cf..2e6130f26a918a51efe513d0b3c5235e76550832 100644 --- a/src/dimred/SketchMapSmacof.cpp +++ b/src/dimred/SketchMapSmacof.cpp @@ -42,7 +42,7 @@ private: double recalculateWeights( const Matrix<double>& projections, Matrix<double>& weights ); public: static void registerKeywords( Keywords& keys ); - SketchMapSmacof( const ActionOptions& ao ); + explicit SketchMapSmacof( const ActionOptions& ao ); void minimise( Matrix<double>& ); }; diff --git a/src/dimred/SmacoffMDS.cpp b/src/dimred/SmacoffMDS.cpp index 3bc60460fc49fa413bce34c7bb87285377d64b98..add9d53ad6dc9371c9a50793ced910425c2a1041 100644 --- a/src/dimred/SmacoffMDS.cpp +++ b/src/dimred/SmacoffMDS.cpp @@ -41,7 +41,7 @@ private: double tol; public: static void registerKeywords( Keywords& keys ); - SmacofMDS( const ActionOptions& ); + explicit SmacofMDS( const ActionOptions& ); void calculateProjections( const Matrix<double>&, Matrix<double>& ); }; diff --git a/src/maketools/codecheck b/src/maketools/codecheck index f39b975549155bf3342c40e73b62041096533fe8..51b2213c5d2d67f98ff394047920ed42e9ca04fd 100755 --- a/src/maketools/codecheck +++ b/src/maketools/codecheck @@ -37,6 +37,7 @@ if [ $do_cppcheck == true ] ; then cppcheck --std=c++11 --std=posix -j 4 --platform=unix64 --language=c++ \ -U__GNUG__ -U__PLUMED_HAS_EXTERNAL_LAPACK -U__PLUMED_HAS_EXTERNAL_BLAS \ -UGMX_CYGWIN -UF77_NO_UNDERSCORE -U_GLIBCXX_DEBUG -DNDEBUG -U__PLUMED_PBC_WHILE \ + -D__PLUMED_WRAPPER_CXX_EXPLICIT=explicit \ --template='[{file}:{line}] ({severity}) :{id}: {message}' --enable=all --inline-suppr --force \ $files fi diff --git a/src/piv/PIV.cpp b/src/piv/PIV.cpp index c53cbbc9935ee08879939eedb82a567d7d9c7c06..08f75162c04597a9e26663abd7df7dfec7e37b14 100644 --- a/src/piv/PIV.cpp +++ b/src/piv/PIV.cpp @@ -207,7 +207,7 @@ private: bool Svol,cross,direct,doneigh,test,CompDer,com; public: static void registerKeywords( Keywords& keys ); - PIV(const ActionOptions&); + explicit PIV(const ActionOptions&); ~PIV(); // active methods: virtual void calculate(); diff --git a/src/tools/ConjugateGradient.h b/src/tools/ConjugateGradient.h index 399a2958cf10f28838f9e528bc0a6172f51e3d90..9547506739363051d1dacfae7822ed8a7dfe1ad1 100644 --- a/src/tools/ConjugateGradient.h +++ b/src/tools/ConjugateGradient.h @@ -35,7 +35,7 @@ private: const unsigned ITMAX; const double EPS; public: - ConjugateGradient( FCLASS* funcc ) : MinimiseBase<FCLASS>(funcc), ITMAX(200), EPS(1E-10) {} + explicit ConjugateGradient( FCLASS* funcc ) : MinimiseBase<FCLASS>(funcc), ITMAX(200), EPS(1E-10) {} void minimise( const double& ftol, std::vector<double>& p, engf_pointer myfunc ); }; diff --git a/src/tools/PlumedHandle.h b/src/tools/PlumedHandle.h index 517fb768eb25324184f17d8d8ea9d7c2eccb719e..500a17f4e729689d5440a944fa6290756a491ebe 100644 --- a/src/tools/PlumedHandle.h +++ b/src/tools/PlumedHandle.h @@ -77,7 +77,7 @@ class PlumedHandle { /// Default construct as nullptr DlHandle() {} /// Construct from a void* - DlHandle(void*h): handle(h) {} + explicit DlHandle(void*h): handle(h) {} /// Destructor will call dlclose if necessary ~DlHandle(); /// Covertible to void* so that it can be used directly diff --git a/src/tools/Stopwatch.h b/src/tools/Stopwatch.h index 921de177c278d9e88673174d8522fcb58349cab8..a6cdc32885786d004fd7c6be721c0eff19311280 100644 --- a/src/tools/Stopwatch.h +++ b/src/tools/Stopwatch.h @@ -259,7 +259,7 @@ public: // When destructing, stopwatch is logged. // Make sure that log survives stopwatch. Typically, it should be declared earlier, in order // to be destroyed later. - Stopwatch(Log&log): mylog(&log) {} + explicit Stopwatch(Log&log): mylog(&log) {} // Destructor. ~Stopwatch(); /// Start timer named "name"