From 026364f660a0bbfc52f62c6b24cf5c21d19df775 Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Thu, 5 Jul 2018 12:19:54 +0200
Subject: [PATCH] auto

Using auto when creating a unique_ptr
---
 src/analysis/EuclideanDissimilarityMatrix.cpp | 6 ++++--
 src/cltools/Driver.cpp                        | 2 +-
 src/core/CLToolMain.cpp                       | 4 ++--
 src/core/PlumedMain.cpp                       | 2 +-
 src/dimred/PCA.cpp                            | 2 +-
 src/dimred/SketchMapRead.cpp                  | 6 ++++--
 src/mapping/PathTools.cpp                     | 6 +++---
 src/vesselbase/ActionWithVessel.cpp           | 2 +-
 8 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/src/analysis/EuclideanDissimilarityMatrix.cpp b/src/analysis/EuclideanDissimilarityMatrix.cpp
index 9b9a4c6b7..72f94a46c 100644
--- a/src/analysis/EuclideanDissimilarityMatrix.cpp
+++ b/src/analysis/EuclideanDissimilarityMatrix.cpp
@@ -131,8 +131,10 @@ double EuclideanDissimilarityMatrix::getDissimilarity( const unsigned& iframe, c
   }
   if( iframe!=jframe ) {
     double dd;
-    getStoredData( iframe, true ).transferDataToPDB( mypdb ); std::unique_ptr<ReferenceConfiguration> myref1=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
-    getStoredData( jframe, true ).transferDataToPDB( mypdb ); std::unique_ptr<ReferenceConfiguration> myref2=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
+    getStoredData( iframe, true ).transferDataToPDB( mypdb );
+    auto myref1=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
+    getStoredData( jframe, true ).transferDataToPDB( mypdb );
+    auto myref2=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
     if( !usingLowMem() ) dd=dissimilarities(iframe,jframe) = dissimilarities(jframe,iframe) = distance( getPbc(), getArguments(), myref1.get(), myref2.get(), true );
     else dd=distance( getPbc(), getArguments(), myref1.get(), myref2.get(), true );
     return dd;
diff --git a/src/cltools/Driver.cpp b/src/cltools/Driver.cpp
index f5ca94daf..8ad5051b5 100644
--- a/src/cltools/Driver.cpp
+++ b/src/cltools/Driver.cpp
@@ -296,7 +296,7 @@ int Driver<real>::main(FILE* in,FILE*out,Communicator& pc) {
   }
 
   if(debug_float && sizeof(real)!=sizeof(float)) {
-    std::unique_ptr<CLTool> cl(cltoolRegister().create(CLToolOptions("driver-float")));
+    auto cl=cltoolRegister().create(CLToolOptions("driver-float"));
     cl->setInputData(this->getInputData());
     int ret=cl->main(in,out,pc);
     return ret;
diff --git a/src/core/CLToolMain.cpp b/src/core/CLToolMain.cpp
index ef53aa9c5..ce22e4dfd 100644
--- a/src/core/CLToolMain.cpp
+++ b/src/core/CLToolMain.cpp
@@ -235,7 +235,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) {
-      std::unique_ptr<CLTool> cl(cltoolRegister().create(CLToolOptions(availableCxx[j])));
+      auto cl=cltoolRegister().create(CLToolOptions(availableCxx[j]));
       plumed_assert(cl);
       string manual=availableCxx[j]+" : "+cl->description();
       fprintf(out,"  plumed %s\n", manual.c_str());
@@ -260,7 +260,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()) {
-    std::unique_ptr<CLTool> cl(cltoolRegister().create(CLToolOptions(command)));
+    auto 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 ) ) { return 0; }
diff --git a/src/core/PlumedMain.cpp b/src/core/PlumedMain.cpp
index 781a80262..46d5bc096 100644
--- a/src/core/PlumedMain.cpp
+++ b/src/core/PlumedMain.cpp
@@ -552,7 +552,7 @@ void PlumedMain::readInputWords(const std::vector<std::string> & words) {
   } else {
     std::vector<std::string> interpreted(words);
     Tools::interpretLabel(interpreted);
-    std::unique_ptr<Action> action(actionRegister().create(ActionOptions(*this,interpreted)));
+    auto action=actionRegister().create(ActionOptions(*this,interpreted));
     if(!action) {
       std::string msg;
       msg ="ERROR\nI cannot understand line:";
diff --git a/src/dimred/PCA.cpp b/src/dimred/PCA.cpp
index 96a5dbc8f..650e55b58 100644
--- a/src/dimred/PCA.cpp
+++ b/src/dimred/PCA.cpp
@@ -155,7 +155,7 @@ PCA::PCA(const ActionOptions&ao):
 void PCA::performAnalysis() {
   // Align everything to the first frame
   my_input_data->getStoredData( 0, false ).transferDataToPDB( mypdb );
-  std::unique_ptr<ReferenceConfiguration> myconf0=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
+  auto myconf0=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
   MultiValue myval( 1, myconf0->getNumberOfReferenceArguments() + 3*myconf0->getNumberOfReferencePositions() + 9 );
   ReferenceValuePack mypack( myconf0->getNumberOfReferenceArguments(), myconf0->getNumberOfReferencePositions(), myval );
   for(unsigned i=0; i<myconf0->getNumberOfReferencePositions(); ++i) mypack.setAtomIndex( i, i );
diff --git a/src/dimred/SketchMapRead.cpp b/src/dimred/SketchMapRead.cpp
index ba41cb017..6f2ba3bb2 100644
--- a/src/dimred/SketchMapRead.cpp
+++ b/src/dimred/SketchMapRead.cpp
@@ -174,8 +174,10 @@ double SketchMapRead::getDissimilarity( const unsigned& i, const unsigned& j ) {
   plumed_assert( i<myframes.size() && j<myframes.size() );
   if( i!=j ) {
     double dd;
-    getStoredData( i, true ).transferDataToPDB( mypdb ); std::unique_ptr<ReferenceConfiguration> myref1=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
-    getStoredData( j, true ).transferDataToPDB( mypdb ); std::unique_ptr<ReferenceConfiguration> myref2=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
+    getStoredData( i, true ).transferDataToPDB( mypdb );
+    auto myref1=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
+    getStoredData( j, true ).transferDataToPDB( mypdb );
+    auto myref2=metricRegister().create<ReferenceConfiguration>(mtype, mypdb);
     dd=distance( getPbc(), ActionWithArguments::getArguments(), myref1.get(), myref2.get(), true );
     return dd;
   }
diff --git a/src/mapping/PathTools.cpp b/src/mapping/PathTools.cpp
index ccba660e6..ec92f48ab 100644
--- a/src/mapping/PathTools.cpp
+++ b/src/mapping/PathTools.cpp
@@ -152,7 +152,7 @@ int PathTools::main(FILE* in, FILE*out,Communicator& pc) {
       // Read the pdb file
       do_read=mypdb.readFromFilepointer(fp,false,0.1);
       if( do_read ) {
-        std::unique_ptr<ReferenceConfiguration> mymsd(metricRegister().create<ReferenceConfiguration>( mtype, mypdb ));
+        auto mymsd(metricRegister().create<ReferenceConfiguration>( mtype, mypdb ));
         frames.emplace_back( std::move(mymsd) );
       }
     }
@@ -218,14 +218,14 @@ int PathTools::main(FILE* in, FILE*out,Communicator& pc) {
   std::string istart; parse("--start",istart); FILE* fp2=fopen(istart.c_str(),"r"); PDB mystartpdb;
   if( istart.length()==0 ) error("input is missing use --istart + --iend or --path");
   if( !mystartpdb.readFromFilepointer(fp2,false,0.1) ) error("could not read fila " + istart);
-  std::unique_ptr<ReferenceConfiguration> sframe( metricRegister().create<ReferenceConfiguration>( mtype, mystartpdb ) );
+  auto sframe=metricRegister().create<ReferenceConfiguration>( mtype, mystartpdb );
   fclose(fp2);
 
 // Read final frame
   std::string iend; parse("--end",iend); FILE* fp1=fopen(iend.c_str(),"r"); PDB myendpdb;
   if( iend.length()==0 ) error("input is missing using --istart + --iend or --path");
   if( !myendpdb.readFromFilepointer(fp1,false,0.1) ) error("could not read fila " + iend);
-  std::unique_ptr<ReferenceConfiguration> eframe( metricRegister().create<ReferenceConfiguration>( mtype, myendpdb ) );
+  auto eframe=metricRegister().create<ReferenceConfiguration>( mtype, myendpdb );
   fclose(fp1);
 // Get atoms and arg requests
   std::vector<AtomNumber> atoms; std::vector<std::string> arg_names;
diff --git a/src/vesselbase/ActionWithVessel.cpp b/src/vesselbase/ActionWithVessel.cpp
index 31d41772d..391b3b10a 100644
--- a/src/vesselbase/ActionWithVessel.cpp
+++ b/src/vesselbase/ActionWithVessel.cpp
@@ -99,7 +99,7 @@ ActionWithVessel::~ActionWithVessel() {
 
 void ActionWithVessel::addVessel( const std::string& name, const std::string& input, const int numlab ) {
   VesselOptions da(name,"",numlab,input,this);
-  std::unique_ptr<Vessel> vv=vesselRegister().create(name,da);
+  auto vv=vesselRegister().create(name,da);
   FunctionVessel* fv=dynamic_cast<FunctionVessel*>(vv.get());
   if( fv ) {
     std::string mylabel=Vessel::transformName( name );
-- 
GitLab