#include "gromacs/math/vectypes.h"
#include "gromacs/restraint/restraintpotential.h"
#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
namespace gmxapi
{
* 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.
#include <memory>
-#include "gromacs/utility/classhelpers.h"
-
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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.
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
friend class AnalysisDataHandle;
};
* 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.
#ifndef GMX_ANALYSISDATA_DATAMODULEMANAGER_H
#define GMX_ANALYSISDATA_DATAMODULEMANAGER_H
+#include <memory>
+
#include "gromacs/analysisdata/abstractdata.h"
-#include "gromacs/utility/classhelpers.h"
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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.
#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"
/*
* 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.
#ifndef GMX_ANALYSISDATA_DATASTORAGE_H
#define GMX_ANALYSISDATA_DATASTORAGE_H
+#include <memory>
#include <vector>
#include "gromacs/analysisdata/dataframe.h"
private:
typedef internal::AnalysisDataStorageImpl Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
//! Smart pointer to manage an AnalysisDataAverageModule object.
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
//! Smart pointer to manage an AnalysisDataFrameAverageModule object.
* 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.
class Impl;
- PrivateImplPointer<Impl> _impl;
+ std::unique_ptr<Impl> _impl;
};
//! Smart pointer to manage an AnalysisDataDisplacementModule object.
* 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.
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
// Copy and assign disallowed by base.
};
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
// Copy and assign disallowed by base.
};
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
// Copy and assign disallowed by base.
};
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
//! Smart pointer to manage an AnalysisDataLifetimeModule object.
* 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.
#include "gromacs/analysisdata/datamodule.h"
#include "gromacs/options/timeunitmanager.h"
-#include "gromacs/utility/classhelpers.h"
enum class XvgFormat : int;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
* 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.
#include "gromacs/analysisdata/dataframe.h"
#include "gromacs/analysisdata/datamodule.h"
#include "gromacs/analysisdata/paralleloptions.h"
-#include "gromacs/utility/classhelpers.h"
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
//! Smart pointer to manage an MockAnalysisDataModule object.
/*
* 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/math/exponentialmovingaverage.h"
#include "gromacs/mdspan/extensions.h"
#include "gromacs/mdtypes/iforceprovider.h"
-#include "gromacs/utility/classhelpers.h"
enum class PbcType : int;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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_COMMANDLINE_CMDLINEHELPCONTEXT_H
#define GMX_COMMANDLINE_CMDLINEHELPCONTEXT_H
+#include <memory>
#include <string>
#include "gromacs/onlinehelp/helpwritercontext.h"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
GMX_DISALLOW_ASSIGN(CommandLineHelpContext);
};
#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"
* 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"
private:
typedef CommandLineHelpModuleImpl Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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_COMMANDLINE_CMDLINEMODULE_H
#define GMX_COMMANDLINE_CMDLINEMODULE_H
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \brief
* 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.
#include <memory>
#include "gromacs/onlinehelp/ihelptopic.h"
-#include "gromacs/utility/classhelpers.h"
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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.
#include <string>
#include <vector>
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/programcontext.h"
namespace gmx
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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_CMDLINEMODULEMANAGERTEST_H
#define GMX_COMMANDLINE_CMDLINEMODULEMANAGERTEST_H
+#include <memory>
#include <string>
#include <gmock/gmock.h>
#include "gromacs/commandline/cmdlinehelpcontext.h"
#include "gromacs/commandline/cmdlinemodule.h"
#include "gromacs/commandline/cmdlineoptionsmodule.h"
-#include "gromacs/utility/classhelpers.h"
#include "testutils/stringtest.h"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
/*
* 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.
#include "gromacs/coordinateio/ioutputadapter.h"
#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/enumerationhelpers.h"
namespace gmx
/*
* 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.
#ifndef GMX_CORRELATIONDATASET_H
#define GMX_CORRELATIONDATASET_H
+#include <memory>
#include <string>
#include <vector>
/*
* 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;
private:
class Impl;
//! Pimpl to hide implementation details
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include <memory>
#include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
class gmx_ga2la_t;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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 "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
/*! \brief Abstract type for essential dynamics
*
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
class MDLogger;
} // namespace gmx
/*
* 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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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_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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include "config.h"
+#include <memory>
+
#include "gromacs/gpu_utils/device_context.h"
#include "gromacs/utility/classhelpers.h"
/*
* 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_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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief Read an mrc density map from a given file.
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief Write an mrc/ccp4 file that contains float values.
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
*
* 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.
#include <cstdio>
+#include <memory>
#include <string>
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/real.h"
struct gmx_mtop_t;
private:
class Impl;
//! Pimpl that holds the data.
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
#endif
*
* 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
private:
class Impl;
//! Pimpl that holds the data.
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
#endif
/*
* 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"
/*
* 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_CUDA
# include <cuda_runtime.h>
#elif GMX_GPU_SYCL
# include "gromacs/gpu_utils/gmxsycl.h"
#endif
+
#include "gromacs/utility/classhelpers.h"
struct DeviceInformation;
/*
* 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;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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.
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
struct gmx_domdec_t;
struct gmx_enerdata_t;
//! Implementation type.
class Impl;
//! Implementation object.
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
public:
// Befriend the factory function.
* 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;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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_COORDINATETRANSFORMATION_H
#define GMX_MATH_COORDINATETRANSFORMATION_H
+#include <memory>
+
#include "gromacs/math/vectypes.h"
-#include "gromacs/utility/classhelpers.h"
#include "matrix.h"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief Transform coordinates in three dimensions by first
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal
/*
* 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_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
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief Parameters for density spreading kernels.
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \internal \brief A 3-orthotope over integer intervals.
* 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"
//! 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. */
/*
* 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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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;
/*
* 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;
* 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;
//! Implementation type.
class Impl;
//! Implementation object.
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
}; // namespace gmx
/*
* 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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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.
#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;
//! 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
/*
* 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.
#ifndef GMX_MDRUN_MDMODULES_H
#define GMX_MDRUN_MDMODULES_H
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
struct t_inputrec;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
{
/*
* 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;
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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_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"
private:
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
GMX_DISALLOW_COPY_AND_ASSIGN(StatePropagatorDataGpu);
};
/*
* 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 "config.h"
+#include <memory>
+
#include "gromacs/gpu_utils/devicebuffer.h"
#if GMX_GPU_CUDA
# include "gromacs/gpu_utils/gpueventsynchronizer.cuh"
#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;
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include <memory>
#include "gromacs/onlinehelp/ihelptopic.h"
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/stringutil.h"
namespace gmx
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \cond libapi */
* 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.
#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"
/*
* 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_HELPWRITERCONTEXT_H
#define GMX_ONLINEHELP_HELPWRITERCONTEXT_H
+#include <memory>
#include <string>
#include <vector>
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
//! Allows the context to use the links.
friend class HelpWriterContext;
*/
explicit HelpWriterContext(Impl* impl);
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
GMX_DISALLOW_ASSIGN(HelpWriterContext);
};
/*
* 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.
#ifndef GMX_ONLINEHELP_RSTPARSER_H
#define GMX_ONLINEHELP_RSTPARSER_H
+#include <memory>
#include <string>
#include "gromacs/utility/classhelpers.h"
* 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.
#ifndef GMX_OPTIONS_ABSTRACTOPTION_H
#define GMX_OPTIONS_ABSTRACTOPTION_H
+#include <memory>
#include <string>
#include <vector>
* 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.
#ifndef GMX_OPTIONS_ABSTRACTOPTIONSTORAGE_H
#define GMX_OPTIONS_ABSTRACTOPTIONSTORAGE_H
+#include <memory>
#include <string>
#include <vector>
/*
* 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.
#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"
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#ifndef GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
#define GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
+#include <memory>
#include <vector>
#include "gromacs/utility/classhelpers.h"
* 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
{
// 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;
* 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.
#include "gromacs/options/optionmanagercontainer.h"
#include "gromacs/options/options.h"
#include "gromacs/options/optionsection.h"
+#include "gromacs/utility/classhelpers.h"
#include "isectionstorage.h"
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#ifndef GMX_OPTIONS_OPTIONSECTION_H
#define GMX_OPTIONS_OPTIONSECTION_H
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
#include "abstractsection.h"
* 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.
#include <cstddef>
+#include <memory>
#include <string>
#include "gromacs/options/abstractoption.h"
/*
* 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.
#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"
/*
* 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"
* 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.
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
-#include "gromacs/utility/classhelpers.h"
struct gmx_domdec_t;
struct gmx_enfrot;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include <cmath>
#include <limits>
+#include <memory>
#include "gromacs/random/uniformrealdistribution.h"
#include "gromacs/utility/classhelpers.h"
/*
* 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.
#include <cmath>
#include <limits>
+#include <memory>
#include "gromacs/random/exponentialdistribution.h"
#include "gromacs/random/uniformrealdistribution.h"
/*
* 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.
#include <cmath>
#include <limits>
+#include <memory>
#include "gromacs/random/uniformrealdistribution.h"
#include "gromacs/utility/classhelpers.h"
/*
* 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.
#include <array>
#include <limits>
+#include <memory>
#include "gromacs/math/functions.h"
#include "gromacs/math/utilities.h"
/*
* 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.
#include <array>
#include <limits>
+#include <memory>
#include "gromacs/math/functions.h"
#include "gromacs/random/seed.h"
/*
* 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.
#define GMX_RANDOM_UNIFORMINTDISTRIBUTION_H
#include <limits>
+#include <memory>
#include "gromacs/math/functions.h"
#include "gromacs/utility/basedefinitions.h"
/*
* 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"
*
* 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.
#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"
* 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.
#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"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \brief
* 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.
#include <cstdio>
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
/*! \name Flags for position calculation.
* \anchor poscalc_flags
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to access the implementation class from the C code.
*
* 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.
#ifndef GMX_SELECTION_SELECTION_H
#define GMX_SELECTION_SELECTION_H
+#include <memory>
#include <string>
#include <vector>
* 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;
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);
/*
* 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;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed for handling delayed selection parsing requests.
*
* 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.
#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"
* 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;
*/
explicit SelectionParserSymbol(Impl* impl);
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to call the constructor and for other initialization.
*/
explicit SelectionParserSymbolIterator(Impl* impl);
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to access the constructor.
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to access implementation types.
* 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
/*
* 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.
#define GMX_TABLES_CUBICSPLINETABLE_H
#include <initializer_list>
+#include <memory>
#include <vector>
#include "gromacs/simd/simd.h"
/*
* 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.
#include <functional>
#include <initializer_list>
+#include <memory>
#include <vector>
#include "gromacs/simd/simd.h"
*
* 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
//! Implementation pointer.
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
#endif
/*
* 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"
/*
* 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;
//! Implementation pointer.
class Impl;
- gmx::PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
#endif
* 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.
#include <vector>
#include "gromacs/selection/selection.h" // For gmx::SelectionList
-#include "gromacs/utility/classhelpers.h"
struct t_pbc;
struct t_trxframe;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
//! Smart pointer to manage a TrajectoryAnalysisModuleData object.
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to access the registered analysis data sets.
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
friend class TrajectoryAnalysisRunnerCommon;
};
* 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.
#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"
*
* 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;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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_TRAJECTORYANALYSIS_RUNNERCOMMON_H
#define GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
struct t_trxframe;
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \internal \brief
* 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.
* 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.
#ifndef GMX_UTILITY_CLASSHELPERS_H
#define GMX_UTILITY_CLASSHELPERS_H
-#include <memory>
-
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
/*
* 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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include <cstdio>
+#include <memory>
#include <string>
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/fileptr.h"
#include "gromacs/utility/textstream.h"
void close() override;
private:
- PrivateImplPointer<internal::FileStreamImpl> impl_;
+ std::unique_ptr<internal::FileStreamImpl> impl_;
};
/*! \libinternal \brief
static TextOutputFile& standardError();
private:
- PrivateImplPointer<internal::FileStreamImpl> impl_;
+ std::unique_ptr<internal::FileStreamImpl> impl_;
};
} // namespace gmx
/*
* 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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
class InMemoryDeserializer : public ISerializer
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
IKeyValueTreeErrorHandler* errorHandler) const;
private:
- PrivateImplPointer<internal::KeyValueTreeTransformerImpl> impl_;
+ std::unique_ptr<internal::KeyValueTreeTransformerImpl> impl_;
};
class IKeyValueTreeBackMapping
/*
* 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.
#include <memory>
#include <string>
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/logger.h"
namespace gmx
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
LoggerOwner(std::unique_ptr<Impl> impl);
- PrivateImplPointer<Impl> impl_;
- const MDLogger* logger_;
+ std::unique_ptr<Impl> impl_;
+ const MDLogger* logger_;
friend class LoggerBuilder;
};
/*
* 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.
#ifndef GMX_UTILITY_MESSAGESTRINGCOLLECTOR_H
#define GMX_UTILITY_MESSAGESTRINGCOLLECTOR_H
+#include <memory>
#include <string>
#include "gromacs/utility/classhelpers.h"
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
/*
* 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.
#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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
/*
* 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.
#include <cstdio>
+#include <memory>
#include <string>
-#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/textstream.h"
namespace gmx
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace gmx
* 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 <gtest/gtest.h>
+#include <memory>
+
#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/gmxmpi.h"
* 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.
// 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
/*! \libinternal \brief
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
/*
* 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.
#ifndef GMX_TESTUTILS_INTERACTIVETEST_H
#define GMX_TESTUTILS_INTERACTIVETEST_H
+#include <memory>
+
#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/classhelpers.h"
namespace gmx
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
} // namespace gmx
/*
* 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.
#ifndef GMX_TESTUTILS_LOGGERTEST_H
#define GMX_TESTUTILS_LOGGERTEST_H
-#include "gromacs/utility/classhelpers.h"
+#include <memory>
+
#include "gromacs/utility/logger.h"
namespace gmx
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
* 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.
*/
explicit TestReferenceChecker(Impl* impl);
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
/*! \brief
* Needed to expose the constructor only to TestReferenceData.
/*
* 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.
#ifndef GMX_TESTUTILS_STDIOHELPER_H
#define GMX_TESTUTILS_STDIOHELPER_H
+#include <memory>
+
#include "gromacs/utility/classhelpers.h"
namespace gmx
* 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
{
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
/*
* 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;
//! Implementation type.
class Impl;
//! Implementation object.
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
* 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
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
/*
* 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.
#ifndef GMX_TESTUTILS_TESTFILEREDIRECTOR_H
#define GMX_TESTUTILS_TESTFILEREDIRECTOR_H
+#include <memory>
#include <set>
#include <string>
private:
class Impl;
- PrivateImplPointer<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
} // namespace test
/*
* 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.
#include <list>
+#include <memory>
#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/mutex.h"