Remove PrivateImplPointer in favour of std::unique_ptr
authorMark Abraham <mark.j.abraham@gmail.com>
Fri, 29 Jan 2021 12:11:02 +0000 (13:11 +0100)
committerMark Abraham <mark.j.abraham@gmail.com>
Fri, 29 Jan 2021 13:22:23 +0000 (14:22 +0100)
The single remaining advantage (help with const correctness in an
unlikely corner case) is outweighed by the disadvantages of
using a custom solution where a generic one would do.

Fixes #3684

126 files changed:
src/api/cpp/tests/restraint.cpp
src/gromacs/analysisdata/abstractdata.h
src/gromacs/analysisdata/analysisdata.h
src/gromacs/analysisdata/datamodulemanager.h
src/gromacs/analysisdata/datastorage.cpp
src/gromacs/analysisdata/datastorage.h
src/gromacs/analysisdata/modules/average.h
src/gromacs/analysisdata/modules/displacement.h
src/gromacs/analysisdata/modules/histogram.h
src/gromacs/analysisdata/modules/lifetime.h
src/gromacs/analysisdata/modules/plot.h
src/gromacs/analysisdata/tests/mock_datamodule.h
src/gromacs/applied_forces/densityfitting/densityfittingforceprovider.h
src/gromacs/commandline/cmdlinehelpcontext.h
src/gromacs/commandline/cmdlinehelpmodule.cpp
src/gromacs/commandline/cmdlinehelpmodule.h
src/gromacs/commandline/cmdlinehelpwriter.h
src/gromacs/commandline/cmdlinemodule.h
src/gromacs/commandline/cmdlinemodulemanager.h
src/gromacs/commandline/cmdlineparser.h
src/gromacs/commandline/cmdlineprogramcontext.h
src/gromacs/commandline/shellcompletions.h
src/gromacs/commandline/tests/cmdlinemodulemanagertest.h
src/gromacs/coordinateio/outputadaptercontainer.h
src/gromacs/correlationfunctions/tests/correlationdataset.h
src/gromacs/domdec/builder.h
src/gromacs/domdec/gpuhaloexchange.h
src/gromacs/domdec/localatomsetmanager.h
src/gromacs/essentialdynamics/edsam.h
src/gromacs/ewald/pme_coordinate_receiver_gpu.h
src/gromacs/ewald/pme_force_sender_gpu.h
src/gromacs/ewald/pme_gpu_program_impl.h
src/gromacs/ewald/pme_pp_comm_gpu.h
src/gromacs/fileio/mrcdensitymap.h
src/gromacs/gmxpreprocess/gpp_atomtype.h
src/gromacs/gmxpreprocess/gpp_bond_atomtype.h
src/gromacs/gpu_utils/device_context.h
src/gromacs/gpu_utils/device_stream.h
src/gromacs/gpu_utils/device_stream_manager.h
src/gromacs/imd/imd.h
src/gromacs/listed_forces/gpubonded.h
src/gromacs/math/coordinatetransformation.h
src/gromacs/math/densityfit.h
src/gromacs/math/densityfittingforce.h
src/gromacs/math/gausstransform.h
src/gromacs/mdlib/constr.h
src/gromacs/mdlib/gpuforcereduction.h
src/gromacs/mdlib/leapfrog_gpu.h
src/gromacs/mdlib/lincs_gpu.cuh
src/gromacs/mdlib/update.h
src/gromacs/mdlib/update_constrain_gpu.h
src/gromacs/mdlib/vsite.h
src/gromacs/mdrun/mdmodules.h
src/gromacs/mdtypes/forcebuffers.h
src/gromacs/mdtypes/iforceprovider.h
src/gromacs/mdtypes/state_propagator_data_gpu.h
src/gromacs/mdtypes/state_propagator_data_gpu_impl.h
src/gromacs/onlinehelp/helpformat.h
src/gromacs/onlinehelp/helpmanager.h
src/gromacs/onlinehelp/helptopic.h
src/gromacs/onlinehelp/helpwritercontext.cpp
src/gromacs/onlinehelp/helpwritercontext.h
src/gromacs/onlinehelp/rstparser.h
src/gromacs/options/abstractoption.h
src/gromacs/options/abstractoptionstorage.h
src/gromacs/options/abstractsection.h
src/gromacs/options/filenameoptionmanager.h
src/gromacs/options/optionmanagercontainer.h
src/gromacs/options/options.h
src/gromacs/options/options_impl.h
src/gromacs/options/optionsassigner.h
src/gromacs/options/optionsection.h
src/gromacs/options/optionsvisitor.h
src/gromacs/options/timeunitmanager.h
src/gromacs/pbcutil/com.h
src/gromacs/pulling/pull_rotation.h
src/gromacs/random/exponentialdistribution.h
src/gromacs/random/gammadistribution.h
src/gromacs/random/normaldistribution.h
src/gromacs/random/tabulatednormaldistribution.h
src/gromacs/random/threefry.h
src/gromacs/random/uniformintdistribution.h
src/gromacs/random/uniformrealdistribution.h
src/gromacs/selection/nbsearch.cpp
src/gromacs/selection/nbsearch.h
src/gromacs/selection/poscalc.h
src/gromacs/selection/selection.h
src/gromacs/selection/selectioncollection.h
src/gromacs/selection/selectionoptionbehavior.h
src/gromacs/selection/selectionoptionmanager.h
src/gromacs/selection/selhelp.cpp
src/gromacs/selection/symrec.h
src/gromacs/simd/simd.h
src/gromacs/tables/cubicsplinetable.h
src/gromacs/tables/quadraticsplinetable.h
src/gromacs/topology/atomprop.h
src/gromacs/topology/atomsbuilder.h
src/gromacs/topology/residuetypes.h
src/gromacs/trajectoryanalysis/analysismodule.h
src/gromacs/trajectoryanalysis/analysissettings.h
src/gromacs/trajectoryanalysis/modules/angle.cpp
src/gromacs/trajectoryanalysis/modules/surfacearea.h
src/gromacs/trajectoryanalysis/runnercommon.h
src/gromacs/trajectoryanalysis/tests/moduletest.h
src/gromacs/utility.h
src/gromacs/utility/classhelpers.h
src/gromacs/utility/datafilefinder.h
src/gromacs/utility/directoryenumerator.h
src/gromacs/utility/filestream.h
src/gromacs/utility/inmemoryserializer.h
src/gromacs/utility/keyvaluetreetransform.h
src/gromacs/utility/loggerbuilder.h
src/gromacs/utility/messagestringcollector.h
src/gromacs/utility/textreader.h
src/gromacs/utility/textwriter.h
src/programs/mdrun/tests/moduletest.h
src/testutils/include/testutils/cmdlinetest.h
src/testutils/include/testutils/interactivetest.h
src/testutils/include/testutils/loggertest.h
src/testutils/include/testutils/refdata.h
src/testutils/include/testutils/stdiohelper.h
src/testutils/include/testutils/stringtest.h
src/testutils/include/testutils/test_device.h
src/testutils/include/testutils/testfilemanager.h
src/testutils/include/testutils/testfileredirector.h
src/testutils/testoptions.cpp

index 11d001db648d6bcf36769e8b4bf9adecbaaacbeb..08ce92c084c77f2f3f50418343aa7043c2f829da 100644 (file)
@@ -45,7 +45,6 @@
 #include "gromacs/math/vectypes.h"
 #include "gromacs/restraint/restraintpotential.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmxapi
 {
index ca83202be56efe06ea5581d11099b88379b03cef..c8ed78454bd3dde1c08999bba1fad952112eeab9 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,8 +46,6 @@
 
 #include <memory>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -437,7 +435,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 0c74baf712fb51a19c6ab98025aaadb56480977a..5b4d12a761d7b706d4b60e21e3828ab9a3024d91 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010-2018, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -200,7 +200,7 @@ private:
 
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     friend class AnalysisDataHandle;
 };
index 55f15ac8579ebaf5c8827cfe28077e1838e62183..44c844b4b0d57c9d9cd5b5404eeca3b573b47506 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -44,8 +44,9 @@
 #ifndef GMX_ANALYSISDATA_DATAMODULEMANAGER_H
 #define GMX_ANALYSISDATA_DATAMODULEMANAGER_H
 
+#include <memory>
+
 #include "gromacs/analysisdata/abstractdata.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -272,7 +273,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 06011927885fd5dd6ac38185ea85380284c75854..7f80c082a8112111b7e19571747d7c512ade9224 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team.
- * Copyright (c) 2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -54,6 +54,7 @@
 #include "gromacs/analysisdata/dataframe.h"
 #include "gromacs/analysisdata/datamodulemanager.h"
 #include "gromacs/analysisdata/paralleloptions.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
 
index 789e6fc1260550da3e69fd59f4d2c06ebf4c7039..fad12ae58f3e072a07f8bf239005f291569d5cbe 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_ANALYSISDATA_DATASTORAGE_H
 #define GMX_ANALYSISDATA_DATASTORAGE_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/analysisdata/dataframe.h"
@@ -428,7 +429,7 @@ public:
 private:
     typedef internal::AnalysisDataStorageImpl Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 01e62d61e17a702b7fa2bd04855e194567bcaba1..63abd9c69fb389f90037f0a3d6a3cf5d577b2f09 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_ANALYSISDATA_MODULES_AVERAGE_H
 #define GMX_ANALYSISDATA_MODULES_AVERAGE_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/analysisdata/abstractdata.h"
 #include "gromacs/analysisdata/arraydata.h"
 #include "gromacs/analysisdata/datamodule.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -138,7 +138,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 //! Smart pointer to manage an AnalysisDataAverageModule object.
@@ -182,7 +182,7 @@ private:
 
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 //! Smart pointer to manage an AnalysisDataFrameAverageModule object.
index 9cad05c3ca6122e7d46b3c3f0d5921c3d595fc62..12916d7b321cdd90b6c18678d09c36b8010e7f81 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -98,7 +98,7 @@ private:
 
     class Impl;
 
-    PrivateImplPointer<Impl> _impl;
+    std::unique_ptr<Impl> _impl;
 };
 
 //! Smart pointer to manage an AnalysisDataDisplacementModule object.
index c15844c6c3438d9de25bb5ac68294770ee18b860..8f4b5c39dfa7b62dad16bb2af770b4e2d210be7b 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -425,7 +425,7 @@ private:
 
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     // Copy and assign disallowed by base.
 };
@@ -487,7 +487,7 @@ private:
 
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     // Copy and assign disallowed by base.
 };
@@ -535,7 +535,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     // Copy and assign disallowed by base.
 };
index ede0b25babbd6c6df90a33c03fff030ac564af56..d77eb486c9555ba453347b7924cced101992d709 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2013,2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_ANALYSISDATA_MODULES_LIFETIME_H
 #define GMX_ANALYSISDATA_MODULES_LIFETIME_H
 
+#include <memory>
+
 #include "gromacs/analysisdata/arraydata.h"
 #include "gromacs/analysisdata/datamodule.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -102,7 +103,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 //! Smart pointer to manage an AnalysisDataLifetimeModule object.
index 7064a49c22567d8f26d717a42d1422ecf29ea109..371fb8fabbf63da7b645c88b850b8c18df9a1bc5 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,7 +49,6 @@
 
 #include "gromacs/analysisdata/datamodule.h"
 #include "gromacs/options/timeunitmanager.h"
-#include "gromacs/utility/classhelpers.h"
 
 enum class XvgFormat : int;
 
@@ -254,7 +253,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 
index 65eaf2b06a54a1af618c372a4afd9bbdbd33bb7b..1ce1025e70fd0b8c0b1792a3d30f83c4a2ec1b35 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2011,2012,2013,2014,2015 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -53,7 +53,6 @@
 #include "gromacs/analysisdata/dataframe.h"
 #include "gromacs/analysisdata/datamodule.h"
 #include "gromacs/analysisdata/paralleloptions.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -90,7 +89,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 //! Smart pointer to manage an MockAnalysisDataModule object.
index 98616ebd97c2d7b13f4b8e715de07fec3b984c78..589621815693e3b3f37439c176d052696f973d5c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -48,7 +48,6 @@
 #include "gromacs/math/exponentialmovingaverage.h"
 #include "gromacs/mdspan/extensions.h"
 #include "gromacs/mdtypes/iforceprovider.h"
-#include "gromacs/utility/classhelpers.h"
 
 enum class PbcType : int;
 
@@ -147,7 +146,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index a2158603a93206f110bcf68f3144d8cf1bfc26d5..59d82bedb3d040bcd5296ae9749e785e404ef3bf 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2013,2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_COMMANDLINE_CMDLINEHELPCONTEXT_H
 #define GMX_COMMANDLINE_CMDLINEHELPCONTEXT_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/onlinehelp/helpwritercontext.h"
@@ -127,7 +128,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     GMX_DISALLOW_ASSIGN(CommandLineHelpContext);
 };
index cafbe459503568cbacfaca96c856c6f1f496fa37..4518c54515e7f9d2d49d346a99d21e20833b79c0 100644 (file)
@@ -59,6 +59,7 @@
 #include "gromacs/options/options.h"
 #include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/baseversion.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/fileredirector.h"
 #include "gromacs/utility/gmxassert.h"
index aebdf285f8297123f21896651c49550ea5743655..9b32961ca4b8c1c9d2790e1dc078e75d9c615a2a 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_COMMANDLINE_CMDLINEHELPMODULE_H
 #define GMX_COMMANDLINE_CMDLINEHELPMODULE_H
 
+#include <memory>
+
 #include "gromacs/commandline/cmdlinemodule.h"
 #include "gromacs/onlinehelp/ihelptopic.h"
-#include "gromacs/utility/classhelpers.h"
 
 #include "cmdlinemodulemanager_impl.h"
 
@@ -134,7 +135,7 @@ public:
 private:
     typedef CommandLineHelpModuleImpl Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 051790201dff7b8d65f2eb3ebb9685e4d6c0f3a4..8f6ac37b27ad2c103967ac7e12c96c1e1450d179 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2017,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2017,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_COMMANDLINE_CMDLINEHELPWRITER_H
 #define GMX_COMMANDLINE_CMDLINEHELPWRITER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -120,7 +119,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index f810043f5d318eda1292137f660a2562dc5c27f3..509993f55ebb56cb162c5e6f9160e598e1b90212 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2015,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,7 +43,7 @@
 #ifndef GMX_COMMANDLINE_CMDLINEMODULE_H
 #define GMX_COMMANDLINE_CMDLINEMODULE_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
 
 namespace gmx
 {
@@ -78,7 +78,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \brief
index 9575de0c4d525dcdeda6583c1ee2a98a5c171b37..c1bca865591af320faff8743b3eb7e2279900669 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -47,7 +47,6 @@
 #include <memory>
 
 #include "gromacs/onlinehelp/ihelptopic.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -344,7 +343,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
index b2ecfe491f27dc2a6a7f927811c6698017557275..ef49a131982114c7fa9f767fdfcf5cb4a8c2e148 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2016,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_COMMANDLINE_CMDLINEPARSER_H
 #define GMX_COMMANDLINE_CMDLINEPARSER_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -143,7 +142,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 00a3699ddf820f95c7faefa333f9511196ee8f0e..56323ddb43fd949b230766231bb4f543de9a8b7b 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -53,7 +53,6 @@
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/programcontext.h"
 
 namespace gmx
@@ -213,7 +212,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 28db8f9bd5e595ddec183d77d1e12b0dc59e041a..ef7d17d868568aed09cc87dd8546efa4e45b0b0c 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_COMMANDLINE_SHELLCOMPLETIONS_H
 #define GMX_COMMANDLINE_SHELLCOMPLETIONS_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -87,7 +86,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 493d1c0b33896dd933babb24283736e3f41dce21..e560eabb2313edbbe269f11541118a6670b352b9 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_COMMANDLINE_CMDLINEMODULEMANAGERTEST_H
 #define GMX_COMMANDLINE_CMDLINEMODULEMANAGERTEST_H
 
+#include <memory>
 #include <string>
 
 #include <gmock/gmock.h>
@@ -50,7 +51,6 @@
 #include "gromacs/commandline/cmdlinehelpcontext.h"
 #include "gromacs/commandline/cmdlinemodule.h"
 #include "gromacs/commandline/cmdlineoptionsmodule.h"
-#include "gromacs/utility/classhelpers.h"
 
 #include "testutils/stringtest.h"
 
@@ -152,7 +152,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index f5d2fd67b2b1d1ffe9c33a759a85e29091763e2b..19d6fca7bf437515681e2e39e9736b902f0ea41c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,7 +49,6 @@
 
 #include "gromacs/coordinateio/ioutputadapter.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/enumerationhelpers.h"
 
 namespace gmx
index 3b49626e95de5dcde9cc63492c5c52c0934ce57c..86cacc037157516ead386728da68588df0609ff5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2019, by the GROMACS development team, led by
+ * Copyright (c) 2014,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -42,6 +42,7 @@
 #ifndef GMX_CORRELATIONDATASET_H
 #define GMX_CORRELATIONDATASET_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
index 01239c8058a5c9c5b2048de02acd7c2aea310f41..0c6e764664a2e6ac11be4a297412cfeac8699fb5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_DOMDEC_BUILDER_H
 #define GMX_DOMDEC_BUILDER_H
 
+#include <memory>
+
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 struct gmx_domdec_t;
 struct gmx_mtop_t;
@@ -91,7 +92,7 @@ public:
 private:
     class Impl;
     //! Pimpl to hide implementation details
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index be4a3abc8ffbbb9853499f98aade6594f9e02d8f..0f6089df2f4f4605370ce8befd911cf70531523e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_DOMDEC_GPUHALOEXCHANGE_H
 #define GMX_DOMDEC_GPUHALOEXCHANGE_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxmpi.h"
 
 struct gmx_domdec_t;
@@ -133,7 +134,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index bff851974512d261e04e2f0107a088587e47906f..497efd7ee6305e9f4f478cca7d3bb617c99dfdaa 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -47,7 +47,6 @@
 #include <memory>
 
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 class gmx_ga2la_t;
 
@@ -102,7 +101,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 502abde6beae2c787b6ad4a7a9df21b41560f1db..e5d03a3f960d699453c5f2f15a1c62dd9cc8c26e 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -53,7 +53,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 /*! \brief Abstract type for essential dynamics
  *
@@ -88,7 +87,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 class MDLogger;
 } // namespace gmx
index 144bd27fddcf042366ffcfd609277ceb948c859a..0754b3a2453d9387d05013f61aaab9b4e57211ca 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_PMECOORDINATERECEIVERGPU_H
 #define GMX_PMECOORDINATERECEIVERGPU_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxmpi.h"
 
 class DeviceStream;
@@ -88,7 +89,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index df8e1873f8ecb4e9b36df823778be1fea4c404e3..bcc3b1e39330cd530bdcfef9b76000c6d0b34639 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -42,8 +42,9 @@
 #ifndef GMX_PMEFORCESENDERGPU_H
 #define GMX_PMEFORCESENDERGPU_H
 
+#include <memory>
+
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxmpi.h"
 
 class DeviceStream;
@@ -92,7 +93,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 6255e460546fb6965fa94391777c3ba91aee2789..4bb3ec1a5bea22ef867bd687e35baa702cdca117 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -44,6 +44,8 @@
 
 #include "config.h"
 
+#include <memory>
+
 #include "gromacs/gpu_utils/device_context.h"
 #include "gromacs/utility/classhelpers.h"
 
index a3e0239e589f0f3c294a0f4318334d9a11cae185..3e56da9af3e8604c3030e7b04772a18be7b62c83 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -42,7 +42,8 @@
 #ifndef GMX_PME_PP_COMM_GPU_H
 #define GMX_PME_PP_COMM_GPU_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
+
 #include "gromacs/utility/gmxmpi.h"
 
 class DeviceContext;
@@ -107,7 +108,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index aec1d970ac94a26375f37e59c28e8f79e4dd6ecc..ec1c60a7a0118bb1d61ebdb1aaccc3f577b95ea8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  * \inlibraryapi
  * \ingroup module_fileio
  */
+#include <memory>
 #include <string>
 #include <vector>
 
 #include "gromacs/math/multidimarray.h"
 #include "gromacs/mdspan/extensions.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -78,7 +78,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief Read an mrc density map from a given file.
@@ -118,7 +118,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief Write an mrc/ccp4 file that contains float values.
@@ -142,7 +142,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 8b6c7f08de3f3b1cce52c871fd2a102846b56b2c..43c51b3c1a0bed6c856a7504bc0f033c71de136b 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2011,2014,2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2011,2014,2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -48,9 +48,9 @@
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_mtop_t;
@@ -226,7 +226,7 @@ public:
 private:
     class Impl;
     //! Pimpl that holds the data.
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 #endif
index 3c1220dc425ecca2f9cd8b1f87641e8d3b02141f..c9644afdae97a4f70f5dc7b5246dcd285f0a326b 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2011,2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2011,2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 struct t_symtab;
 
 /*! \libinternal \brief
@@ -106,7 +105,7 @@ public:
 private:
     class Impl;
     //! Pimpl that holds the data.
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 #endif
index c4ab967b8f2e72934b553e3c63cd3fdbfee949fb..d9f61507284752859c8b2fec5f652bb717b9d6be 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2020, by the GROMACS development team, led by
+ * Copyright (c) 2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include "config.h"
 
+#include <memory>
+
 #if GMX_GPU_OPENCL
 #    include "gromacs/gpu_utils/gmxopencl.h"
 #endif
 #if GMX_GPU_SYCL
 #    include "gromacs/gpu_utils/gmxsycl.h"
 #endif
+
 #include "gromacs/gpu_utils/gpu_utils.h"
 #include "gromacs/hardware/device_management.h"
 #include "gromacs/utility/classhelpers.h"
index d1aca30236af675016bfef30ea6e4163d957c094..c93ffdce5f88ce767a36be5006517c8fdbd6525c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2020, by the GROMACS development team, led by
+ * Copyright (c) 2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -48,6 +48,8 @@
 
 #include "config.h"
 
+#include <memory>
+
 #if GMX_GPU_CUDA
 #    include <cuda_runtime.h>
 
@@ -56,6 +58,7 @@
 #elif GMX_GPU_SYCL
 #    include "gromacs/gpu_utils/gmxsycl.h"
 #endif
+
 #include "gromacs/utility/classhelpers.h"
 
 struct DeviceInformation;
index 1f8366e743fc7336855973af53fc8f4caa732362..036822d4e531d71132faaf933bc730b2f4ea14de 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_GPU_UTILS_GPUSTREAMMANAGER_H
 #define GMX_GPU_UTILS_GPUSTREAMMANAGER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 class DeviceContext;
 struct DeviceInformation;
 class DeviceStream;
@@ -140,7 +139,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 0ef075ae60bef98a04deb1a3b26415cbbcd0864d..2b0ea596060b97ffb51c24874c516dd52853b164 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2014,2015,2016,2017,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -68,7 +68,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 struct gmx_domdec_t;
 struct gmx_enerdata_t;
@@ -217,7 +216,7 @@ private:
     //! Implementation type.
     class Impl;
     //! Implementation object.
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
 public:
     // Befriend the factory function.
index 1cfeed429d2e92e84a4019d9366ab9361cc81fd7..41ad20d42a58b04a1c754015da0fef7a1dc80117 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2014,2015,2016,2017,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_LISTED_FORCES_GPUBONDED_H
 #define GMX_LISTED_FORCES_GPUBONDED_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/pbcutil/pbc.h"
 #include "gromacs/topology/idef.h"
-#include "gromacs/utility/classhelpers.h"
 
 class DeviceContext;
 class DeviceStream;
@@ -198,7 +199,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 2451283b1f232a1e3ef9eb7551872e0c47508546..0312878d5e3a224715a8518491f790e4211ce34a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,8 +43,9 @@
 #ifndef GMX_MATH_COORDINATETRANSFORMATION_H
 #define GMX_MATH_COORDINATETRANSFORMATION_H
 
+#include <memory>
+
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/classhelpers.h"
 
 #include "matrix.h"
 
@@ -91,7 +92,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief Transform coordinates in three dimensions by first
@@ -134,7 +135,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal
index 246d6610b0e4404ef02475c408f4d7820ac818fd..0f33d62a01cec035e33c14325560ab29518f7970 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,8 +43,9 @@
 #ifndef GMX_MATH_DENSITYFIT_H
 #define GMX_MATH_DENSITYFIT_H
 
+#include <memory>
+
 #include "gromacs/mdspan/extensions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 namespace gmx
index 5c16dadc77c70e2a1c9440dbba99b6fb56e5aed2..904ddea75f6cc572a31f613d7cfe1a0444995982 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  * \ingroup module_math
  */
 
+#include <memory>
+
 #include "gromacs/math/gausstransform.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdspan/extensions.h"
 #include "gromacs/mdspan/mdspan.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -105,7 +106,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 40ef38d79024a835d010ec7e9dae2c5fd4d136ea..f00e43fd3031779d2706bcbd1fa614e03a67ed0b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MATH_GAUSSTRANSFORM_H
 #define GMX_MATH_GAUSSTRANSFORM_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/math/multidimarray.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdspan/extensions.h"
 #include "gromacs/mdspan/mdspan.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 namespace gmx
@@ -121,7 +121,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief Parameters for density spreading kernels.
@@ -204,7 +204,7 @@ public:
 
 private:
     class Impl;
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \internal \brief A 3-orthotope over integer intervals.
index 1c9f41bd34afb84875fa44d00b849fdaec95305a..0c2dd9096f85be04c521b295606d41337a2db433 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <cstdio>
 
+#include <memory>
+
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/idef.h"
 #include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
 
@@ -214,7 +215,7 @@ private:
     //! Implementation type.
     class Impl;
     //! Implementation object.
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \brief Generate a fatal error because of too many LINCS/SETTLE warnings. */
index 8aad5efaf35fe4eb82764767e2272afc6305af4e..157c4c7eca5a2be662f7a47ce7dc4d287803fe51 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2020, by the GROMACS development team, led by
+ * Copyright (c) 2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDLIB_GPUFORCEREDUCTION_H
 #define GMX_MDLIB_GPUFORCEREDUCTION_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/timing/wallcycle.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/fixedcapacityvector.h"
 
 class GpuEventSynchronizer;
@@ -120,7 +121,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 7c76805d09209f130ac29be1810f85dcc985ab89..e802d4c8e313df0cacb29b5ce5bc821b50614825 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #    include "gromacs/gpu_utils/gputraits_sycl.h"
 #endif
 
+#include <memory>
+
 #include "gromacs/gpu_utils/hostallocator.h"
 #include "gromacs/pbcutil/pbc.h"
 #include "gromacs/pbcutil/pbc_aiuc.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 class DeviceContext;
 class DeviceStream;
index 7dfa2deb82a07c8e21eeb05bb1c6943ec5d066ce..40433efcb7a347ca2a4754c220dd7d3b647b90e2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDLIB_LINCS_GPU_CUH
 #define GMX_MDLIB_LINCS_GPU_CUH
 
+#include <memory>
+
 #include "gromacs/gpu_utils/device_context.h"
 #include "gromacs/gpu_utils/device_stream.h"
 #include "gromacs/gpu_utils/gputraits.cuh"
 #include "gromacs/mdlib/constr.h"
 #include "gromacs/pbcutil/pbc_aiuc.h"
-#include "gromacs/utility/classhelpers.h"
 
 class InteractionDefinitions;
 
index 9c3d434ec9f209d8dcbce531ec0f1fcbea70a2f1..207685f19e7ae4336678fa85ff1e0b2bda9a7661 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDLIB_UPDATE_H
 #define GMX_MDLIB_UPDATE_H
 
+#include <memory>
+
 #include "gromacs/math/paddedvector.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdtypes/md_enums.h"
 #include "gromacs/timing/wallcycle.h"
 #include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 class ekinstate_t;
@@ -208,7 +209,7 @@ private:
     //! Implementation type.
     class Impl;
     //! Implementation object.
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 }; // namespace gmx
index 581851f9a271cd93929b0f62ce8e145a2e92f98d..3e77d8d3cee6c55cbc90551b29b9f3a6d7049936 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDLIB_UPDATE_CONSTRAIN_GPU_H
 #define GMX_MDLIB_UPDATE_CONSTRAIN_GPU_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/mdtypes/group.h"
 #include "gromacs/timing/wallcycle.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 class DeviceContext;
 class DeviceStream;
@@ -179,7 +180,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index ae7c932b5e5caf390dccc20acd6cc96d107eeccf..5fa0163d156f97805b3f401575b3c310d9b1fb34 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -52,7 +52,6 @@
 #include "gromacs/topology/idef.h"
 #include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_domdec_t;
@@ -138,7 +137,7 @@ private:
     //! Implementation type.
     class Impl;
     //! Implementation object.
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \brief Create positions of vsite atoms based for the local system
index 6fabb761cd3854fb41bbfcd35548cb2b559ce9fa..5665701e33fc908606983c2e680d716aecfb99e3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,7 +43,7 @@
 #ifndef GMX_MDRUN_MDMODULES_H
 #define GMX_MDRUN_MDMODULES_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
 
 
 struct t_inputrec;
@@ -191,7 +191,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index fe7c8d5899ed95447e8dfc6db482ed225e39751e..c23f02be81abc1fb5328c09dc2c1c1c81f623aa1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2020, by the GROMACS development team, led by
+ * Copyright (c) 2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDTYPES_FORCEBUFFERS_H
 #define GMX_MDTYPES_FORCEBUFFERS_H
 
+#include <memory>
+
 #include "gromacs/gpu_utils/hostallocator.h"
 #include "gromacs/math/arrayrefwithpadding.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
index f15de6adb785f6e30821550a028cb0ce3e14395a..748241617bea4daa88b6bc8eb9b764393e9b89e8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_MDTYPES_IFORCEPROVIDER_H
 #define GMX_MDTYPES_IFORCEPROVIDER_H
 
+#include <memory>
+
 #include "gromacs/math/vec.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
 
 struct gmx_enerdata_t;
@@ -200,7 +201,7 @@ public:
 private:
     class Impl;
 
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 89e6d622ac270a39ac566501ac558da92de7934b..82b3378551a0c24b145122a717c7fa3b586994ca 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,6 +50,7 @@
 #ifndef GMX_MDTYPES_STATE_PROPAGATOR_DATA_GPU_H
 #define GMX_MDTYPES_STATE_PROPAGATOR_DATA_GPU_H
 
+#include <memory>
 #include <tuple>
 
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
@@ -326,7 +327,7 @@ public:
 
 private:
     class Impl;
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
     GMX_DISALLOW_COPY_AND_ASSIGN(StatePropagatorDataGpu);
 };
 
index 17737b547714846a81ad941545d64d3233bdbaad..84035e4f9176f8580d373ec01efcc25c51b28440 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -47,6 +47,8 @@
 
 #include "config.h"
 
+#include <memory>
+
 #include "gromacs/gpu_utils/devicebuffer.h"
 #if GMX_GPU_CUDA
 #    include "gromacs/gpu_utils/gpueventsynchronizer.cuh"
@@ -55,9 +57,9 @@
 #elif GMX_GPU_SYCL
 #    include "gromacs/gpu_utils/gpueventsynchronizer_sycl.h"
 #endif
+
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdtypes/state_propagator_data_gpu.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/enumerationhelpers.h"
 
 struct gmx_wallcycle;
index 8ce680719b78fa8346ccd9b1e902ed7c70a7e98a..c5cc667404385306c4fe8ec64408ef16bfb94696 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2015,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_ONLINEHELP_HELPFORMAT_H
 #define GMX_ONLINEHELP_HELPFORMAT_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -227,7 +226,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 7c6874322426f2ecd005638e313a800b961d7c75..03a4ec37cf5cc4936080685e339c825790befc81 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2014,2015,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_ONLINEHELP_HELPMANAGER_H
 #define GMX_ONLINEHELP_HELPMANAGER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -98,7 +97,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 044a15c0d0ef8ca6786d11a52edd84ddca4def63..875c1c0bedc013e04fa20c74957e139e43a579b3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,7 +46,6 @@
 #include <memory>
 
 #include "gromacs/onlinehelp/ihelptopic.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/stringutil.h"
 
 namespace gmx
@@ -175,7 +174,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \cond libapi */
index 68f5ab8edd37127056cb89c7d31e907ca53709bc..940d0a94409c02ac71623aefa8147bcf206dc9dc 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team.
- * Copyright (c) 2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -52,6 +52,7 @@
 #include <vector>
 
 #include "gromacs/onlinehelp/helpformat.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/programcontext.h"
index 4ce7b4fff60327438b566e16474412bdabf5afee..cf16c066cf686d95859a0afd850cbe86379254b5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2015,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_ONLINEHELP_HELPWRITERCONTEXT_H
 #define GMX_ONLINEHELP_HELPWRITERCONTEXT_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
@@ -106,7 +107,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     //! Allows the context to use the links.
     friend class HelpWriterContext;
@@ -297,7 +298,7 @@ private:
      */
     explicit HelpWriterContext(Impl* impl);
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     GMX_DISALLOW_ASSIGN(HelpWriterContext);
 };
index 52eda481e1010dc231b780e78208543f4bc6c6a5..3ac9998433811c9f3b1a5d0e1d80c2cbc0f8430d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -42,6 +42,7 @@
 #ifndef GMX_ONLINEHELP_RSTPARSER_H
 #define GMX_ONLINEHELP_RSTPARSER_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/utility/classhelpers.h"
index 06883d6db93cd3fe4bb86b1d359b14c9458b55f4..fa34c5dae44f6794261ac5d043f13f9cb7b24fef 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010-2017, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -55,6 +55,7 @@
 #ifndef GMX_OPTIONS_ABSTRACTOPTION_H
 #define GMX_OPTIONS_ABSTRACTOPTION_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
index f6dd415181c8099a6673806b82124906e8c46c44..b99946639f8fc44aa9958aaf8d7c8d02ab2623fc 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2014,2015 by the GROMACS development team.
- * Copyright (c) 2016,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -44,6 +44,7 @@
 #ifndef GMX_OPTIONS_ABSTRACTOPTIONSTORAGE_H
 #define GMX_OPTIONS_ABSTRACTOPTIONSTORAGE_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
index 975176954d424e9a447e05636536733cba0fd158..d1f3f98ac2eb22177aad97eac7dd96cdfda96811 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2016,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,6 +46,8 @@
 #ifndef GMX_OPTIONS_ABSTRACTSECTION_H
 #define GMX_OPTIONS_ABSTRACTSECTION_H
 
+#include <memory>
+
 #include "gromacs/options/ioptionscontainerwithsections.h"
 #include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
index 3fe2f075e970af19d42dfb8c3cb0d81585a58271..642426ca9dda77006652bc4971d3e101a6ba2ff8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_OPTIONS_FILENAMEOPTIONMANAGER_H
 #define GMX_OPTIONS_FILENAMEOPTIONMANAGER_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/options.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -171,7 +171,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 0914a10173a496289bcc6b354028ff3bc2947591..cfd343bddc2b89f76395316706f55e10bf75cd9a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015,2017,2019, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2017,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
 #define GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/utility/classhelpers.h"
index 69dcb4c52570ab7ad0043b550107555bc7355968..b2ef29668f9601e70bbde04d0b744dfb64346d4e 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2014,2015 by the GROMACS development team.
- * Copyright (c) 2016,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_OPTIONS_OPTIONS_H
 #define GMX_OPTIONS_OPTIONS_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/ioptionscontainerwithsections.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -159,7 +159,7 @@ private:
     // From IOptionsContainer
     OptionInfo* addOptionImpl(const AbstractOption& settings) override;
 
-    PrivateImplPointer<internal::OptionsImpl> impl_;
+    std::unique_ptr<internal::OptionsImpl> impl_;
 
     //! Needed to be able to extend the interface of this object.
     friend class OptionsAssigner;
index b72219faa05ed060a336f4d00d4b0ccaa7811c3e..cd0c3574d2b8b70fed8b0155ff20104b2940a977 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010-2018, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -56,6 +56,7 @@
 #include "gromacs/options/optionmanagercontainer.h"
 #include "gromacs/options/options.h"
 #include "gromacs/options/optionsection.h"
+#include "gromacs/utility/classhelpers.h"
 
 #include "isectionstorage.h"
 
index 3892140566f1a3a5a994163025e5d47487e9f1e2..0ab59fe5415b34141909c7145df1364dee0915c8 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2016,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_OPTIONS_OPTIONSASSIGNER_H
 #define GMX_OPTIONS_OPTIONSASSIGNER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -207,7 +206,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 0af38875c7622c801c567d03d0245c3a7fabdfab..e7f6ed9a6539bbafd60bff5bdb7bb95fe6afd6d7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2016,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,7 +43,7 @@
 #ifndef GMX_OPTIONS_OPTIONSECTION_H
 #define GMX_OPTIONS_OPTIONSECTION_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
 
 #include "abstractsection.h"
 
index 5a47d077c2f10bacf02bd517bdedd3bfbaaef2d9..64b888a262b1fcffb23a4556b7bb14abfb1b25e2 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2014,2016 by the GROMACS development team.
- * Copyright (c) 2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,6 +46,7 @@
 
 #include <cstddef>
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/abstractoption.h"
index 222771b3e28266042bdde4caeaa01611cce395b0..ad62d206cca60a02b3648d44a29c79a0094aac5e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2014,2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,8 @@
 #ifndef GMX_OPTIONS_TIMEUNITMANAGER_H
 #define GMX_OPTIONS_TIMEUNITMANAGER_H
 
+#include <memory>
+
 #include "gromacs/fileio/oenv.h"
 #include "gromacs/options/ioptionsbehavior.h"
 #include "gromacs/utility/classhelpers.h"
index 870db8ca528737111975b3eaa645e94cdfc34596..e2456e30e3ae6eba316b1b864e281e67233975cc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #define GMX_PBCUTIL_COM_H
 
 #include <algorithm>
+#include <memory>
 
 #include "gromacs/math/vec.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 #include "pbcenums.h"
 
index b8af04c51e8f61ed7316058f8ffc30bb164a1b9a..56cb1907556045954555aafd1f041b4123c0992b 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2008, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -55,7 +55,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 struct gmx_domdec_t;
 struct gmx_enfrot;
@@ -88,7 +87,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 7df6fa1d348d27247af9d5b526bff573fc509484..f8cd205d58f3410deba5fc6b2cad5dfbc0cb3c4a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -52,6 +52,7 @@
 #include <cmath>
 
 #include <limits>
+#include <memory>
 
 #include "gromacs/random/uniformrealdistribution.h"
 #include "gromacs/utility/classhelpers.h"
index 24e7fd3b095d295f7a1db5c87c6d23647ca32480..68f3f88bdb33130d019c6462606bfd8869a3b1e6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -55,6 +55,7 @@
 #include <cmath>
 
 #include <limits>
+#include <memory>
 
 #include "gromacs/random/exponentialdistribution.h"
 #include "gromacs/random/uniformrealdistribution.h"
index 5242e97d1cad14ae813c0021fb5d9514f36aad3c..13bcfb1636af3f780e47fd7672945255c310a19d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -51,6 +51,7 @@
 #include <cmath>
 
 #include <limits>
+#include <memory>
 
 #include "gromacs/random/uniformrealdistribution.h"
 #include "gromacs/utility/classhelpers.h"
index 29b16faffd68d9ea64c2f8aba34017930485dfa8..f8217226fafd516ce4aa924d1d139f07247163fc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,6 +50,7 @@
 
 #include <array>
 #include <limits>
+#include <memory>
 
 #include "gromacs/math/functions.h"
 #include "gromacs/math/utilities.h"
index 4946a3092e8f8ab618e1cb96ecffac4b7cced6d7..9ff38a7aa2c552d1af676ed65d417baf7c89ccff 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,6 +46,7 @@
 
 #include <array>
 #include <limits>
+#include <memory>
 
 #include "gromacs/math/functions.h"
 #include "gromacs/random/seed.h"
index bde17a2daeb74a1fd6066fa587c0fa73d8c464cf..468902646c20ba4a044086ddb0e87b9b2422a12d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,6 +49,7 @@
 #define GMX_RANDOM_UNIFORMINTDISTRIBUTION_H
 
 #include <limits>
+#include <memory>
 
 #include "gromacs/math/functions.h"
 #include "gromacs/utility/basedefinitions.h"
index 17a1e9240fd383c2990466a91d134fbabd65cfde..7c7c38720381f86f7df03136a1b2cc9f1537243d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <algorithm>
 #include <limits>
+#include <memory>
 #include <type_traits>
 
 #include "gromacs/math/functions.h"
+
 #include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
index c1d26ed296b5469fe027508900187381ab750e71..da36743f826d41a07912d943e0f36033a8f2ab53 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2009,2010,2011,2012,2013 by the GROMACS development team.
  * Copyright (c) 2014,2015,2016,2017,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -65,6 +65,7 @@
 #include "gromacs/math/vec.h"
 #include "gromacs/pbcutil/pbc.h"
 #include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/listoflists.h"
index 7066cafd12d14bedad6061bdf7e26e821a58c8ff..97edcc5731f11449f8aada208a16de1783512020 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2009-2018, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -55,7 +55,6 @@
 #include "gromacs/math/vec.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
 
@@ -317,7 +316,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \brief
index 224a4be226330445f11f1bdc6a53c9368107712d..f17c859c2803c62a9a538290dbe016ef52c3c140 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2009-2016, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -55,7 +55,7 @@
 
 #include <cstdio>
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
 
 /*! \name Flags for position calculation.
  * \anchor poscalc_flags
@@ -340,7 +340,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to access the implementation class from the C code.
index 733e37628a08c2240ce8baa90474abd61b1f886f..7119ea3fffc42c2c8caf81e1e0db003796b5bde4 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2009,2010,2011,2012,2013 by the GROMACS development team.
  * Copyright (c) 2014,2015,2016,2017,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,6 +45,7 @@
 #ifndef GMX_SELECTION_SELECTION_H
 #define GMX_SELECTION_SELECTION_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
index a168aaa1b22551c138fb6c977d38579550944284..7e3c13560759a437706366f6fb82ad243f7ceb13 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2016,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 #include <vector>
 
 #include "gromacs/selection/selection.h" // For gmx::SelectionList
-#include "gromacs/utility/classhelpers.h"
 
 struct gmx_ana_indexgrps_t;
 struct gmx_mtop_t;
@@ -414,7 +414,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     // Needed for the compiler to freely modify the collection.
     friend void compileSelection(SelectionCollection* coll);
index 16f1a572c221a91b9e4c4a7a7bf34ad0bb824d1b..cc26a907268b797804f2c68d921652469e797e1b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_SELECTION_SELECTIONOPTIONBEHAVIOR_H
 #define GMX_SELECTION_SELECTIONOPTIONBEHAVIOR_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/ioptionsbehavior.h"
-#include "gromacs/utility/classhelpers.h"
 
 struct gmx_mtop_t;
 
@@ -173,7 +173,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 
index 96baec9eff5f20b8cf02fa036ab631f94f6d55ca..2bdcc5fe0eb09285ffb467b1c4dde70ea95ae3bd 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_SELECTION_SELECTIONOPTIONMANAGER_H
 #define GMX_SELECTION_SELECTIONOPTIONMANAGER_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/options.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -216,7 +216,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed for handling delayed selection parsing requests.
index ec96ec50fdf868f6d48db210e7154bd89188a33c..9e6362b579b0244514fac1b488c773133af62da0 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2009,2010,2011,2012,2013 by the GROMACS development team.
  * Copyright (c) 2014,2015,2016,2017,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -53,6 +53,7 @@
 
 #include "gromacs/onlinehelp/helptopic.h"
 #include "gromacs/onlinehelp/helpwritercontext.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/stringutil.h"
index 5feeeac876cbaf67ecbf8cedba0babcd2b1bd98e..21e6fbc684e3a9d4834fe3915ad961ae8650f46f 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2009,2010,2011,2012,2013 by the GROMACS development team.
- * Copyright (c) 2014,2015,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #define GMX_SELECTION_SYMREC_H
 
 #include <iterator>
+#include <memory>
 #include <string>
 
 #include <boost/stl_interfaces/iterator_interface.hpp>
 
-#include "gromacs/utility/classhelpers.h"
-
 #include "selelem.h"
 
 struct gmx_ana_selmethod_t;
@@ -118,7 +117,7 @@ private:
      */
     explicit SelectionParserSymbol(Impl* impl);
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to call the constructor and for other initialization.
@@ -179,7 +178,7 @@ private:
      */
     explicit SelectionParserSymbolIterator(Impl* impl);
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to access the constructor.
@@ -260,7 +259,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to access implementation types.
index 55fd89f55fd679d5d20a7c7ca4183e5d75f08e53..3e562079f4821af8a2d243fb05f7041f37de8262 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #include <cstdint>
 
 #include <array>
+#include <memory>
 #include <type_traits>
 
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 //! \cond libapi
index 4cbc4d330c0626d050a4c2990cf8965c4af42c66..01bca6c60c1b24675eb7d77cca5d5c81c630741c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,6 +45,7 @@
 #define GMX_TABLES_CUBICSPLINETABLE_H
 
 #include <initializer_list>
+#include <memory>
 #include <vector>
 
 #include "gromacs/simd/simd.h"
index 4a494dd5ca6b88e4cb55b73385ee0f1c6df29d01..776ee426a0f3f57b56b9143b647014f9cf60b8de 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -59,6 +59,7 @@
 
 #include <functional>
 #include <initializer_list>
+#include <memory>
 #include <vector>
 
 #include "gromacs/simd/simd.h"
index 7e112b07ae0c7477fe4350473359635f73c08f8c..5cea3899f0922b8eff389286ed96389dde755fb4 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010,2014,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TOPOLOGY_ATOMPROP_H
 #define GMX_TOPOLOGY_ATOMPROP_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 enum
@@ -115,7 +115,7 @@ private:
     //! Implementation pointer.
     class Impl;
 
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 #endif
index e1616ee31805d975cf61045bb85cf3a47cd21f68..2212203b458b2316d2595c95289308e79d4837d3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015,2016,2019, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2016,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TOPOLOGY_ATOMSBUILDER_H
 #define GMX_TOPOLOGY_ATOMSBUILDER_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/math/vectypes.h"
+
 #include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
index 104101d4b777ea66dbcf7d87b27b21eff1ec7d8f..7cd5beba12ff4d834ac8f7b22643264e8d604523 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2010,2014,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TOPOLOGY_RESIDUETYPES_H
 #define GMX_TOPOLOGY_RESIDUETYPES_H
 
+#include <memory>
 #include <optional>
 #include <string>
 
 #include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
 
 struct ResidueTypeEntry;
 
@@ -111,7 +111,7 @@ private:
     //! Implementation pointer.
     class Impl;
 
-    gmx::PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 #endif
index 7462f19badb02604ef287afe0524015bc4c2d57e..76da72fea88125991048c6ceb30e71db3d52c011 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,7 +50,6 @@
 #include <vector>
 
 #include "gromacs/selection/selection.h" // For gmx::SelectionList
-#include "gromacs/utility/classhelpers.h"
 
 struct t_pbc;
 struct t_trxframe;
@@ -175,7 +174,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 //! Smart pointer to manage a TrajectoryAnalysisModuleData object.
@@ -483,7 +482,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to access the registered analysis data sets.
index e3ac3799a8e1c74e4d9d7e26deeada5dde124ebf..7e7d47e591cb44db30ad60b9e077f5a03a7b65e2 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010-2018, The GROMACS development team.
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H
 #define GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/options/timeunitmanager.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -238,7 +238,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     friend class TrajectoryAnalysisRunnerCommon;
 };
index fb1039a43af4c496a0f5a83bb4979cb47ba0d6bb..b0a215cf658baf335b2900740b33e2d9ef3cbe51 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2011-2018, The GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -64,6 +64,7 @@
 #include "gromacs/trajectory/trajectoryframe.h"
 #include "gromacs/trajectoryanalysis/analysissettings.h"
 #include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/enumerationhelpers.h"
 #include "gromacs/utility/exceptions.h"
 #include "gromacs/utility/gmxassert.h"
index cdfab3e7e29214aa3eccc7eb95e806bdf152796d..8129d3c1e134f6f90c44f19b0b6a412b96dee55e 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2017,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2017,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TRAJECTORYANALYSIS_SURFACEAREA_H
 #define GMX_TRAJECTORYANALYSIS_SURFACEAREA_H
 
+#include <memory>
+
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/real.h"
 
 struct t_pbc;
@@ -181,7 +182,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index beb63214aa0168dac094317d64a20da502089a28..91d936df93ae1291dfaa12f5054d774cb1719595 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010,2011,2012,2013,2014 by the GROMACS development team.
- * Copyright (c) 2015,2016,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,7 +43,7 @@
 #ifndef GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
 #define GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
 
 struct t_trxframe;
 
@@ -129,7 +129,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 6791b70ce0efa539fcef8fe916707e49ebd343cd..dc3a0a6449e8b4583e775ce3805a169b0e959fec 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TRAJECTORYANALYSIS_TESTS_MODULETEST_H
 #define GMX_TRAJECTORYANALYSIS_TESTS_MODULETEST_H
 
+#include <memory>
+
 #include <gtest/gtest.h>
 
 #include "gromacs/trajectoryanalysis/analysismodule.h"
-#include "gromacs/utility/classhelpers.h"
 
 #include "testutils/cmdlinetest.h"
 
@@ -180,7 +181,7 @@ protected:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \internal \brief
index 99bfd43eea74984d1d0cbdbbf774e0505559fbb7..f04c1c515ef6839aedac95762b1499919e9cf681 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2010-2018, The GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  * compiler-specific attributes, and ::GMX_UNUSED_VALUE and ::GMX_IGNORE_RETURN_VALUE
  * for handling warnings about unused values.
  *
- * The header classhelpers.h implements a gmx::PrivateImplPointer template for easily
- * writing classes that use the private implementation idiom.  This header also
- * declares ::GMX_DISALLOW_COPY_AND_ASSIGN and ::GMX_DISALLOW_ASSIGN macros for
- * class declarations.
+ * The header classhelpers.h declares ::GMX_DISALLOW_COPY_AND_ASSIGN,
+ * ::GMX_DISALLOW_COPY_MOVE_AND_ASSIGN, ::GMX_DISALLOW_ASSIGN, and
+ * ::GMX_DEFAULT_CONSTRUCTORS macros for class declarations.
  *
  * The header flags.h implements a gmx::FlagsTemplate template for better type
  * safety when using bit flag fields.
index ae4458fdda49848a5b947f1c72deb09c66cd63cd..ccee1e2dcae18ffa329752f4ed2fd868e8bc3bd5 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -48,8 +48,6 @@
 #ifndef GMX_UTILITY_CLASSHELPERS_H
 #define GMX_UTILITY_CLASSHELPERS_H
 
-#include <memory>
-
 namespace gmx
 {
 
@@ -114,117 +112,6 @@ namespace gmx
 #endif
 //clang-format on
 
-/*! \brief
- * Helper class to manage a pointer to a private implementation class.
- *
- * This helper provides the following benefits (all but the last could also be
- * achieved with std::unique_ptr):
- *  - Automatic memory management: the implementation pointer is freed in
- *    the destructor automatically.  If the destructor is not declared or is
- *    defined inline in the header file, a compilation error occurs instead
- *    of a memory leak or undefined behavior.
- *  - Exception safety in constructors: the implementation pointer is freed
- *    correctly even if the constructor of the containing class throws after
- *    the implementation class is constructed.
- *  - Copy and/or assignment is automatically disallowed if explicit copy
- *    constructor and/or assignment operator is not provided.
- *  - Compiler helps to manage const-correctness: in const methods, it is not
- *    possible to change the implementation class.
- *
- * Move construction and assignment are also disallowed, but can be enabled by
- * providing explicit move constructor and/or assignment.
- *
- * Intended use:
- * \code
-   // In exampleclass.h
-   class ExampleClass
-   {
-       public:
-           ExampleClass();
-           ~ExampleClass(); // Must be defined, must not be defined inline
-
-           // <...>
-
-       private:
-           class Impl;
-
-           PrivateImplPointer<Impl> impl_;
-   };
-
-   // In exampleclass.cpp
-
-   // <definition of ExampleClass::Impl>
-
-   ExampleClass::ExampleClass()
-       : impl_(new Impl)
-   {
-   }
-
-   ExampleClass::~ExampleClass()
-   {
-   }
-   \endcode
- *
- * Note that ExampleClass::~ExampleClass cannot be declared inline (or
- * generated by the compiler) because the implementation of impl_
- * requires that ExampleClass::Impl be known in size, whereas it has
- * only been forward declared. Only the translation unit where
- * ExampleClass::Impl is declared can define the destructor for
- * ExampleClass (which may be defaulted).
- *
- * \inlibraryapi
- * \ingroup module_utility
- */
-template<class Impl>
-class PrivateImplPointer
-{
-public:
-    //! Allow implicit initialization from nullptr to support comparison.
-    PrivateImplPointer(std::nullptr_t) : ptr_(nullptr) {}
-    //! Initialize with the given implementation class.
-    explicit PrivateImplPointer(Impl* ptr) : ptr_(ptr) {}
-    //! \cond
-    // Explicitly declared to work around MSVC problems.
-    PrivateImplPointer(PrivateImplPointer&& other) noexcept : ptr_(std::move(other.ptr_)) {}
-    PrivateImplPointer& operator=(PrivateImplPointer&& other) noexcept
-    {
-        ptr_ = std::move(other.ptr_);
-        return *this;
-    }
-    //! \endcond
-
-    /*! \brief
-     * Sets a new implementation class and destructs the previous one.
-     *
-     * Needed, e.g., to implement lazily initializable or copy-assignable
-     * classes.
-     */
-    void reset(Impl* ptr) { ptr_.reset(ptr); }
-    //! Access the raw pointer.
-    Impl* get() { return ptr_.get(); }
-    //! Access the implementation class as with a raw pointer.
-    Impl* operator->() { return ptr_.get(); }
-    //! Access the implementation class as with a raw pointer.
-    Impl& operator*() { return *ptr_; }
-    //! Access the implementation class as with a raw pointer.
-    const Impl* operator->() const { return ptr_.get(); }
-    //! Access the implementation class as with a raw pointer.
-    const Impl& operator*() const { return *ptr_; }
-
-    //! Allows testing whether the implementation is initialized.
-    explicit operator bool() const { return ptr_ != nullptr; }
-
-    //! Tests for equality (mainly useful against nullptr).
-    bool operator==(const PrivateImplPointer& other) const { return ptr_ == other.ptr_; }
-    //! Tests for inequality (mainly useful against nullptr).
-    bool operator!=(const PrivateImplPointer& other) const { return ptr_ != other.ptr_; }
-
-private:
-    std::unique_ptr<Impl> ptr_;
-
-    // Copy construction and assignment disabled by the unique_ptr member.
-};
-
 } // namespace gmx
 
 #endif
index 43c95e21b11c3e0a19fa725815a0536f7f6adee5..4eda8b3afd52cd8de3cde402f05a87865c4fe8c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/fileptr.h"
 
 namespace gmx
@@ -254,7 +254,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 18bf7919822b466d7e8562645dd0308736b6718a..36dec8b24fc1d4942de3b7df3c090ddc59df65e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_UTILITY_DIRECTORYENUMERATOR_H
 #define GMX_UTILITY_DIRECTORYENUMERATOR_H
 
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -123,7 +122,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 5309fb217822938478e17823ab2d83c415584649..9e24a1c8d2d5f193f9d5936764fa70bdea69ba34 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,9 +45,9 @@
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/fileptr.h"
 #include "gromacs/utility/textstream.h"
 
@@ -142,7 +142,7 @@ public:
     void close() override;
 
 private:
-    PrivateImplPointer<internal::FileStreamImpl> impl_;
+    std::unique_ptr<internal::FileStreamImpl> impl_;
 };
 
 /*! \libinternal \brief
@@ -181,7 +181,7 @@ public:
     static TextOutputFile& standardError();
 
 private:
-    PrivateImplPointer<internal::FileStreamImpl> impl_;
+    std::unique_ptr<internal::FileStreamImpl> impl_;
 };
 
 } // namespace gmx
index 252eeae886a9760b032e30ca82050b6efca97c17..c289c249d42bbce4a1cdbd67b154718d10d6c89d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 
 #include <cstddef>
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/iserializer.h"
 
 namespace gmx
@@ -96,7 +96,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 class InMemoryDeserializer : public ISerializer
@@ -130,7 +130,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 9c2a2f5acd5bdefa5a29ad612c290f93d2c9727a..27b6f7dc4225adf2a5c1169634200945f2670806 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #define GMX_UTILITY_KEYVALUETREETRANSFORM_H
 
 #include <functional>
+#include <memory>
 #include <string>
 #include <typeindex>
 #include <vector>
 
 #include "gromacs/utility/any.h"
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/keyvaluetree.h"
 
 namespace gmx
@@ -137,7 +137,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
@@ -351,7 +351,7 @@ public:
                                           IKeyValueTreeErrorHandler* errorHandler) const;
 
 private:
-    PrivateImplPointer<internal::KeyValueTreeTransformerImpl> impl_;
+    std::unique_ptr<internal::KeyValueTreeTransformerImpl> impl_;
 };
 
 class IKeyValueTreeBackMapping
index 5948a01e6c5c21ef1b6459ab302fee613ce60f9d..499f5878ed7413b4945e500593dfdd78a9964b43 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -47,7 +47,6 @@
 #include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/logger.h"
 
 namespace gmx
@@ -103,7 +102,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
@@ -138,8 +137,8 @@ private:
 
     LoggerOwner(std::unique_ptr<Impl> impl);
 
-    PrivateImplPointer<Impl> impl_;
-    const MDLogger*          logger_;
+    std::unique_ptr<Impl> impl_;
+    const MDLogger*       logger_;
 
     friend class LoggerBuilder;
 };
index ee56774f867baa21b65017596346ca766daa87f9..dff7895b576945f939883226ffe1301a131815bd 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2011,2012,2013,2014,2019, by the GROMACS development team, led by
+ * Copyright (c) 2011,2012,2013,2014,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_UTILITY_MESSAGESTRINGCOLLECTOR_H
 #define GMX_UTILITY_MESSAGESTRINGCOLLECTOR_H
 
+#include <memory>
 #include <string>
 
 #include "gromacs/utility/classhelpers.h"
@@ -115,7 +116,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
index 55020da4048bb57d755f84989b9a30d78e6f93f3..f6c3f58c53a1226c22dd91cf102814fe40e0c721 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2017,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2017,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,9 +43,9 @@
 #ifndef GMX_UTILITY_TEXTREADER_H
 #define GMX_UTILITY_TEXTREADER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/textstream.h"
 
 namespace gmx
@@ -180,7 +180,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index 89b7eccf1c6b92ded3a41b4b7d6873e7161ebefd..e1ddd78f6af27da469d9d0eb12202a505d8cba73 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,9 +45,9 @@
 
 #include <cstdio>
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/textstream.h"
 
 namespace gmx
@@ -196,7 +196,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace gmx
index d29ebe15d30ef32b7efd9f430a36831ebafa5443..516bb8b5c09cdbbe92c978c0cab2eb64b374e055 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,6 +50,8 @@
 
 #include <gtest/gtest.h>
 
+#include <memory>
+
 #include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxmpi.h"
 
index a06ddc913eb4f50c371fc51b6124ec81205170ef..3dfcd4eac38aa09272be0b050d5cac06482193aa 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team.
- * Copyright (c) 2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -53,7 +53,6 @@
 // arrayref.h is not strictly necessary for this header, but nearly all
 // callers will need it to use the constructor that takes ArrayRef.
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -194,7 +193,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
@@ -354,7 +353,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 /*! \libinternal \brief
@@ -489,7 +488,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index eeed955928995881ca73ae714b25b0102679f44e..074455ae068b0f7d87b0eb3a3a17efda3c43ceec 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2017,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2017,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,8 +43,9 @@
 #ifndef GMX_TESTUTILS_INTERACTIVETEST_H
 #define GMX_TESTUTILS_INTERACTIVETEST_H
 
+#include <memory>
+
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
 
 namespace gmx
 {
@@ -118,7 +119,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 } // namespace test
 } // namespace gmx
index 29c5ee5335726c7ff2ab0f09a1bc0ee63cb79d6d..37389893e3385433456bb603102224892356294d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2016,2017,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,7 +43,8 @@
 #ifndef GMX_TESTUTILS_LOGGERTEST_H
 #define GMX_TESTUTILS_LOGGERTEST_H
 
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
+
 #include "gromacs/utility/logger.h"
 
 namespace gmx
@@ -82,7 +83,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index 78b0449b84035230e7e58aa75e0c9b79400b5f91..e57b96769004ef258f462cf4360ea3d2785015c2 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2011-2018, The GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -594,7 +594,7 @@ private:
      */
     explicit TestReferenceChecker(Impl* impl);
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 
     /*! \brief
      * Needed to expose the constructor only to TestReferenceData.
index c46df9bf5fd53bab15b4d188f256995fcdf664cb..0c632b834d0afd33e812aac5f44c840088a87240 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2013,2014,2017,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2017,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,8 @@
 #ifndef GMX_TESTUTILS_STDIOHELPER_H
 #define GMX_TESTUTILS_STDIOHELPER_H
 
+#include <memory>
+
 #include "gromacs/utility/classhelpers.h"
 
 namespace gmx
index 597078d536cf291b61d0c1596d826acddbfc22dc..08441dd3f498150b4fb7475e88f4577e99bfc799 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TESTUTILS_STRINGTEST_H
 #define GMX_TESTUTILS_STRINGTEST_H
 
+#include <memory>
 #include <string>
 
 #include <gtest/gtest.h>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 
@@ -125,7 +124,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index 3fa7915fcf5a5107185fcfdd15440e3c212cefe0..0b1f011c76a07f37b33e1a920c3c8e50da35ef95 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2020, by the GROMACS development team, led by
+ * Copyright (c) 2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  */
 
 #include <map>
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/gmxassert.h"
 
 class DeviceContext;
@@ -85,7 +85,7 @@ private:
     //! Implementation type.
     class Impl;
     //! Implementation object.
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index 53dbba16c63f556b6947a99b0ea5e4a7923cfbca..d9b8e7c2b1b3aef2467de7d9536ce48011bf7db1 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2015,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #ifndef GMX_TESTUTILS_TESTFILEMANAGER_H
 #define GMX_TESTUTILS_TESTFILEMANAGER_H
 
+#include <memory>
 #include <string>
 
-#include "gromacs/utility/classhelpers.h"
-
 namespace gmx
 {
 /*! \libinternal \brief
@@ -235,7 +234,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index 19dfa499f4ce5d94b7f6b6d07b10a7847b0d756b..1574d7a000fabb277964c2d94f7a2ed9b1ff06fb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -43,6 +43,7 @@
 #ifndef GMX_TESTUTILS_TESTFILEREDIRECTOR_H
 #define GMX_TESTUTILS_TESTFILEREDIRECTOR_H
 
+#include <memory>
 #include <set>
 #include <string>
 
@@ -120,7 +121,7 @@ public:
 private:
     class Impl;
 
-    PrivateImplPointer<Impl> impl_;
+    std::unique_ptr<Impl> impl_;
 };
 
 } // namespace test
index f2805afe245f3a358634875514ba35461cfe34d6..9e5b47f5dc619533b6387883a399d0e23797a089 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2015,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,6 +45,7 @@
 
 #include <list>
 
+#include <memory>
 #include "gromacs/utility/classhelpers.h"
 #include "gromacs/utility/mutex.h"