Forward declare ArrayRef more and inlcude basedefinitions where needed
authorejjordan <ejjordan@kth.se>
Tue, 23 Mar 2021 10:29:00 +0000 (11:29 +0100)
committerPaul Bauer <paul.bauer.q@gmail.com>
Tue, 23 Mar 2021 11:23:01 +0000 (11:23 +0000)
Remove many includes of ArrayRef that can be forward declared. Also
remove includes of basedefinitions in many headers. In some cases
removing basedefinitinos meant also changing gmx_bool to bool.
Note that no change to source files is needed, apart from possibly
adding the basedefintions include, because gmx_bool uses true and
false under the hood.

39 files changed:
api/legacy/include/gromacs/utility/gmxassert.h
api/nblib/simulationstate.cpp
api/nblib/tests/integrator.cpp
src/gromacs/analysisdata/dataframe.h
src/gromacs/analysisdata/modules/frameaverager.h
src/gromacs/applied_forces/densityfitting/densityfittingamplitudelookup.cpp
src/gromacs/commandline/filenm.h
src/gromacs/commandline/pargs.h
src/gromacs/domdec/domdec.h
src/gromacs/domdec/domdec_struct.h
src/gromacs/ewald/pme.h
src/gromacs/listed_forces/listed_forces.h
src/gromacs/listed_forces/pairs.h
src/gromacs/math/gausstransform.cpp
src/gromacs/mdlib/constr.h
src/gromacs/mdlib/mdatoms.h
src/gromacs/mdlib/mdebin_bar.h
src/gromacs/mdlib/vsite.h
src/gromacs/mdtypes/awh_history.h
src/gromacs/mdtypes/commrec.h
src/gromacs/mdtypes/energyhistory.h
src/gromacs/mdtypes/fcdata.h
src/gromacs/mdtypes/forcebuffers.h
src/gromacs/mdtypes/forcerec.h
src/gromacs/mdtypes/group.h
src/gromacs/mdtypes/inputrec.h
src/gromacs/mdtypes/interaction_const.h
src/gromacs/mdtypes/md_enums.h
src/gromacs/mdtypes/mdatom.h
src/gromacs/mdtypes/state.h
src/gromacs/onlinehelp/helpformat.cpp
src/gromacs/pbcutil/pbc.h
src/gromacs/selection/nbsearch.h
src/gromacs/topology/block.h
src/gromacs/topology/idef.h
src/gromacs/topology/mtop_util.h
src/gromacs/topology/symtab.h
src/gromacs/utility/fixedcapacityvector.h
src/gromacs/utility/range.h

index 14c0c8cdf3804e2da127838c5444f48755671deb..dea2e5eb0d62db5e317ade4c8581ec35d3b0fd74 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2011-2018, The GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -44,8 +44,6 @@
 #ifndef GMX_UTILITY_GMXASSERT_H
 #define GMX_UTILITY_GMXASSERT_H
 
-#include "gromacs/utility/basedefinitions.h"
-
 #include "current_function.h"
 
 //! \addtogroup module_utility
index e474d015089c0d57c62b1002a07c70210fc20da4..bd5d2d8595da97e1bbaf65c2ad7a9935c1ba9c76 100644 (file)
@@ -46,6 +46,7 @@
 #include <vector>
 
 #include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/arrayref.h"
 #include "nblib/exception.h"
 #include "nblib/simulationstate.h"
 #include "nblib/simulationstateimpl.h"
index 75e5584548ddbd1f6a74c721bc6c5bac5cd8bdda..fb484557d3200d4b49daf3fff24640a95fbde3da 100644 (file)
@@ -44,6 +44,7 @@
  */
 #include "nblib/integrator.h"
 #include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/arrayref.h"
 #include "nblib/molecules.h"
 #include "nblib/particletype.h"
 #include "nblib/simulationstate.h"
index c034fd8ed27a030d85e12cc7e7afe5c74f13f566..07d66ea3562734ecb3b4742a31279329422eef7b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013,2014,2017,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2012,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.
@@ -46,6 +46,7 @@
 #include <vector>
 
 #include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/flags.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
index 379750facfc14dc7de9cf8e6219f1ab903e6d773..45e4defdcc0a78d4146ae4317803e850784c555f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * 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.
@@ -44,6 +44,7 @@
 
 #include <vector>
 
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
 
index a3bcbc1fb23b5b123c9792fb787cf03e6b66356a..75d1d26a077558a3425bf0dc27245b0e6184de39 100644 (file)
@@ -46,6 +46,7 @@
 #include <algorithm>
 #include <vector>
 
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/arrayref.h"
 
 namespace gmx
index 5cc0e620a15b1781a7f0962311abea25de300f70..1a3c8a80bb6f2596c3585a1c291d8c7b1aed969e 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,7 +50,6 @@
 #include <vector>
 
 #include "gromacs/fileio/filetypes.h"
-#include "gromacs/utility/basedefinitions.h"
 
 
 //! \addtogroup module_commandline
@@ -149,10 +148,10 @@ gmx::ArrayRef<const std::string> ftp2fns(int ftp, int nfile, const t_filenm fnm[
 #define ftp2FILE(ftp, nfile, fnm, mode) gmx_ffopen(ftp2fn(ftp, nfile, fnm), mode)
 
 //! Returns TRUE when this file type has been found on the cmd-line.
-gmx_bool ftp2bSet(int ftp, int nfile, const t_filenm fnm[]);
+bool ftp2bSet(int ftp, int nfile, const t_filenm fnm[]);
 
 //! Returns TRUE when this option has been found on the cmd-line.
-gmx_bool opt2bSet(const char* opt, int nfile, const t_filenm fnm[]);
+bool opt2bSet(const char* opt, int nfile, const t_filenm fnm[]);
 
 /*! \brief
  * Returns the file name belonging top cmd-line option opt, or NULL when
@@ -170,13 +169,13 @@ const char* opt2fn_null(const char* opt, int nfile, const t_filenm fnm[]);
 const char* ftp2fn_null(int ftp, int nfile, const t_filenm fnm[]);
 
 //! Returns whether or not this filenm is optional.
-gmx_bool is_optional(const t_filenm* fnm);
+bool is_optional(const t_filenm* fnm);
 
 //! Returns whether or not this filenm is output.
-gmx_bool is_output(const t_filenm* fnm);
+bool is_output(const t_filenm* fnm);
 
 //! Returns whether or not this filenm is set.
-gmx_bool is_set(const t_filenm* fnm);
+bool is_set(const t_filenm* fnm);
 
 /*! \brief Return whether \c filename might have been produced by mdrun -noappend.
  *
index 77b1603d2a1d4fcebd7fbe3c19a6144c608ce5f8..3ceb0acc81684f5c0a92db120db15c3828426249 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,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.
@@ -48,7 +48,6 @@
 #include "gromacs/commandline/filenm.h"
 #include "gromacs/fileio/oenv.h"
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_output_env_t;
@@ -120,7 +119,7 @@ typedef struct
          */
         const char** c;
         /** Boolean value for etBOOL. */
-        gmx_bool* b;
+        bool* b;
         /** Vector value for etRVEC. */
         rvec* rv;
     } u;
@@ -168,7 +167,7 @@ int opt2parg_int(const char* option, int nparg, t_pargs pa[]);
  *
  * \p option must specify a valid argument in \p pa of the correct type.
  */
-gmx_bool opt2parg_bool(const char* option, int nparg, t_pargs pa[]);
+bool opt2parg_bool(const char* option, int nparg, t_pargs pa[]);
 
 /*! \brief
  * Returns value of an etREAL/etTIME option.
@@ -216,7 +215,7 @@ const char* opt2parg_enum(const char* option, int nparg, t_pargs pa[]);
  *
  * \p option must specify a valid argument in \p pa.
  */
-gmx_bool opt2parg_bSet(const char* option, int nparg, const t_pargs* pa);
+bool opt2parg_bSet(const char* option, int nparg, const t_pargs* pa);
 
 
 /** Add option -w to view output files (must be implemented in program). */
@@ -258,18 +257,18 @@ gmx_bool opt2parg_bSet(const char* option, int nparg, const t_pargs* pa);
  *
  * \see gmx_run_cmain().
  */
-gmx_bool parse_common_args(int*               argc,
-                           char*              argv[],
-                           unsigned long      Flags,
-                           int                nfile,
-                           t_filenm           fnm[],
-                           int                npargs,
-                           t_pargs*           pa,
-                           int                ndesc,
-                           const char**       desc,
-                           int                nbugs,
-                           const char**       bugs,
-                           gmx_output_env_t** oenv);
+bool parse_common_args(int*               argc,
+                       char*              argv[],
+                       unsigned long      Flags,
+                       int                nfile,
+                       t_filenm           fnm[],
+                       int                npargs,
+                       t_pargs*           pa,
+                       int                ndesc,
+                       const char**       desc,
+                       int                nbugs,
+                       const char**       bugs,
+                       gmx_output_env_t** oenv);
 
 /*! \} */
 
index 38f5e254445cc9ae68fa771d8237ec1e62849fff..ef4288a534ba3b03fa0de85e6bd8b8c425f46ae8 100644 (file)
@@ -64,8 +64,6 @@
 
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct cginfo_mb_t;
@@ -94,6 +92,8 @@ class ForceWithShiftForces;
 class MDLogger;
 class RangePartitioning;
 class VirtualSitesHandler;
+template<typename>
+class ArrayRef;
 } // namespace gmx
 
 /*! \brief Returns the global topology atom number belonging to local atom index i.
index f0db2626ea7f51359b0b5cbbe31f9eff00327159..8612abf5d731c62c51c6f7ec16843073e9fde545 100644 (file)
@@ -53,7 +53,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/block.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxmpi.h"
 #include "gromacs/utility/range.h"
 #include "gromacs/utility/real.h"
index d897c0fb0caf08004fa44908da06c5738d09d859..9ff1b108f219598f831da4ac806ee76cab0c353e 100644 (file)
@@ -55,7 +55,6 @@
 #include "gromacs/gpu_utils/devicebuffer_datatype.h"
 #include "gromacs/gpu_utils/gpu_macros.h"
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_hw_info_t;
index 0cf099b5ab802517d7fb78b920e713c0c98a3009..34e297b36d5b72a2f1a3ce3585e34d54404f1bbe 100644 (file)
@@ -77,7 +77,6 @@
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/idef.h"
 #include "gromacs/topology/ifunc.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/classhelpers.h"
 
 struct bonded_threading_t;
index 982c3f03b6b1ab4f35e514dc4e5d3e1bb63d882d..34593c29336f5037097e0ea7b66828ffd4ba2a03 100644 (file)
@@ -47,7 +47,6 @@
 
 #include "gromacs/math/vec.h"
 #include "gromacs/topology/ifunc.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_grppairener_t;
index 74ccf9aeb41779388eba378739c2e34be9c0e135..a539062ac770db943f504285eb952e29a13ff62b 100644 (file)
@@ -53,6 +53,7 @@
 #include "gromacs/math/multidimarray.h"
 #include "gromacs/math/units.h"
 #include "gromacs/math/utilities.h"
+#include "gromacs/utility/basedefinitions.h"
 
 namespace gmx
 {
index 3ab516f9448858823f4a2355c1f144073152e8ac..eb51ffb602e7a74743099f5137664064c16809dc 100644 (file)
@@ -54,7 +54,6 @@
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/idef.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
 
@@ -328,7 +327,7 @@ void constrain_velocities(gmx::Constraints* constr,
                           int64_t           step,
                           t_state*          state,
                           real*             dvdlambda,
-                          gmx_bool          computeVirial,
+                          bool              computeVirial,
                           tensor            constraintsVirial);
 
 /*! \brief Constraint coordinates.
@@ -342,7 +341,7 @@ void constrain_coordinates(gmx::Constraints*         constr,
                            t_state*                  state,
                            ArrayRefWithPadding<RVec> xp,
                            real*                     dvdlambda,
-                           gmx_bool                  computeVirial,
+                           bool                      computeVirial,
                            tensor                    constraintsVirial);
 
 } // namespace gmx
index 113d2d9f08a24c9a013e8eb49130587246e5d780..31af77ad16d715c2e4d0766f406aadc0c2bbeebe 100644 (file)
@@ -44,7 +44,6 @@
 #include <vector>
 
 #include "gromacs/gpu_utils/hostallocator.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 #include "gromacs/utility/unique_cptr.h"
 
index 8cc98920a56b2e8e5496d4743d8cb92288392801..ba56c53922d29f834c9bf3b59f366068660696ff 100644 (file)
@@ -71,12 +71,12 @@ typedef struct
                                        of the histogram */
     unsigned int maxbin[2]; /* highest bin number with data */
 
-    int type;         /* the block type according to dhbtDH, etc. */
-    int derivative;   /* The derivative direction (as an index in the lambda
-                         vector) if this delta_h contains derivatives */
-    double*  lambda;  /* lambda vector (or NULL if not applicable) */
-    int      nlambda; /* length of the lambda vector */
-    gmx_bool written; /* whether this data has already been written out */
+    int type;        /* the block type according to dhbtDH, etc. */
+    int derivative;  /* The derivative direction (as an index in the lambda
+                        vector) if this delta_h contains derivatives */
+    double* lambda;  /* lambda vector (or NULL if not applicable) */
+    int     nlambda; /* length of the lambda vector */
+    bool    written; /* whether this data has already been written out */
 
     int64_t subblock_meta_l[5]; /* metadata for an mdebin subblock for
                                            I/O: for histogram counts, etc.*/
@@ -105,12 +105,12 @@ struct t_mde_delta_h_coll
     t_mde_delta_h* dh_expanded; /* expanded ensemble output block (pointer
                                    into dh) */
 
-    double   start_time;     /* start time of the current dh collection */
-    double   delta_time;     /* time difference between samples */
-    gmx_bool start_time_set; /* whether the start time has been set */
-    double   start_lambda;   /* starting lambda for continuous motion of state*/
-    double   delta_lambda;   /* delta lambda, for continuous motion of state */
-    double   temperature;    /* the temperature of the samples*/
+    double start_time;     /* start time of the current dh collection */
+    double delta_time;     /* time difference between samples */
+    bool   start_time_set; /* whether the start time has been set */
+    double start_lambda;   /* starting lambda for continuous motion of state*/
+    double delta_lambda;   /* delta lambda, for continuous motion of state */
+    double temperature;    /* the temperature of the samples*/
 
     double* native_lambda_vec;     /* The lambda vector describing the current
                                       lambda state if it is set (NULL otherwise) */
index b8f694711d8278bb0a2bf8366f4b879684621de5..32e851c8cc9106fe7729b47e27fc28e8b0f2dd07 100644 (file)
@@ -50,8 +50,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/idef.h"
-#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_domdec_t;
@@ -66,6 +64,8 @@ enum class PbcType : int;
 namespace gmx
 {
 class RangePartitioning;
+template<typename T>
+class ArrayRef;
 
 /*! \brief The start value of the vsite indices in the ftype enum
  *
index 3b5574931334e873e2aac61d74071e802f84aed0..b3ce1dd905faf9d5d8cf5e61ad4a10187c1941e2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2018,2019,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -50,7 +50,6 @@
 #include <vector>
 
 #include "gromacs/mdtypes/awh_correlation_history.h"
-#include "gromacs/utility/basedefinitions.h"
 
 namespace gmx
 {
index 1a983e2c04d33b5aeafb82e413b2914a8ff61925..9213187567f21ef625c1cd5d5e2120ea2f620ab8 100644 (file)
@@ -40,7 +40,6 @@
 
 #include <stddef.h>
 
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/gmxmpi.h"
 
index 638ba98ed08160d7fad4861a4e34e05eb60514fd..d86ddd98b1f4824f33fc8d8438d09f4a9f851a5c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2015,2016,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -51,7 +51,6 @@
 #include <memory>
 #include <vector>
 
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 //! \cond INTERNAL
@@ -74,7 +73,7 @@ public:
     //! Lambda at start time
     double start_lambda;
     //! Whether the lambda value is set. Here for backward-compatibility.
-    gmx_bool start_lambda_set;
+    bool start_lambda_set;
 
     //! Read / write data from / to checkpoint object
     template<gmx::CheckpointDataOperation operation>
index e8de62a0b68737eae3625c9d5ed951315ef45c9d..2f36599bee49e206baaf15f32659bb67c5e9508c 100644 (file)
@@ -42,7 +42,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/idef.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 enum class DistanceRestraintWeighting : int;
@@ -53,7 +52,7 @@ typedef real rvec5[5];
 typedef struct t_disresdata
 {
     DistanceRestraintWeighting dr_weighting; /* Weighting of pairs in one restraint              */
-    gmx_bool                   dr_bMixed;    /* Use sqrt of the instantaneous times              *
+    bool                       dr_bMixed;    /* Use sqrt of the instantaneous times              *
                                               * the time averaged violation                      */
     real dr_fc;                              /* Force constant for disres,                       *
                                               * which is multiplied by a (possibly)              *
index c23f02be81abc1fb5328c09dc2c1c1c81f623aa1..9c49e2f00aeaeadf8deb0300b049b6d4a47e3a4d 100644 (file)
 #include <memory>
 
 #include "gromacs/gpu_utils/hostallocator.h"
-#include "gromacs/math/arrayrefwithpadding.h"
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/arrayref.h"
 
 namespace gmx
 {
+template<typename T>
+class ArrayRef;
+template<typename T>
+class ArrayRefWithPadding;
 
 enum class PinningPolicy : int;
 
index 72d5e855df3bfc8121ccae3fc13f57d05e8a5fa8..f6404b48481645ea10aff18de59eb4cb27ec991b 100644 (file)
@@ -46,7 +46,6 @@
 #include "gromacs/mdtypes/md_enums.h"
 #include "gromacs/pbcutil/pbc.h"
 #include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 #include "locality.h"
index dcdb25414e181bd4fe85a2fcf36777d45cbbd23b..49ece654769edb682353bd9de5c0c4b73af79a1b 100644 (file)
@@ -40,7 +40,6 @@
 #include <vector>
 
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 #include "gromacs/utility/smalloc.h"
 
index c61e7c3e8a98cb22918f38a555a1c74872a4aa62..edc6b797691a95621036db17c44762292862b196 100644 (file)
@@ -45,7 +45,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdtypes/md_enums.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/enumerationhelpers.h"
 #include "gromacs/utility/real.h"
 
@@ -145,7 +144,7 @@ struct t_lambda
     //! Free energy soft-core sigma for ?????
     real sc_sigma_min;
     //! Use softcore for the coulomb portion as well (default FALSE)
-    gmx_bool bScCoul;
+    bool bScCoul;
     //! Whether to print the dvdl term associated with this term; if it is not specified as separate, it is lumped with the FEP term
     gmx::EnumerationArray<FreeEnergyPerturbationCouplingType, bool> separate_dvdl;
     //! Whether to write a separate dhdl.xvg file note: NOT a gmx_bool, but an enum
@@ -181,7 +180,7 @@ struct t_expanded
     //! Random number seed for lambda mc switches
     int lmc_seed;
     //! Whether to use minumum variance weighting
-    gmx_bool minvar;
+    bool minvar;
     //! The number of samples needed before kicking into minvar routine
     int minvarmin;
     //! The offset for the variance in MinVar
@@ -189,7 +188,7 @@ struct t_expanded
     //! Range of cvalues used for BAR
     int c_range;
     //! Whether to print symmetrized matrices
-    gmx_bool bSymmetrizedTMatrix;
+    bool bSymmetrizedTMatrix;
     //! How frequently to print the transition matrices
     int nstTij;
     //! Number of repetitions in the MC lambda jumps MRS -- VERIFY THIS
@@ -205,9 +204,9 @@ struct t_expanded
     //! Starting delta for Wang-Landau
     real init_wl_delta;
     //! Use one over t convergence for Wang-Landau when the delta get sufficiently small
-    gmx_bool bWLoneovert;
+    bool bWLoneovert;
     //! Did we initialize the weights? TODO: REMOVE FOR 5.0, no longer needed with new logic
-    gmx_bool bInit_weights;
+    bool bInit_weights;
     //! To override the main temperature, or define it if it's not defined
     real mc_temp;
     //! User-specified initial weights to start with
@@ -285,7 +284,7 @@ struct t_swapcoords
     //! Period between when a swap is attempted
     int nstswap;
     //! Use mass-weighted positions in split group
-    gmx_bool massw_split[2];
+    bool massw_split[2];
     /*! \brief Split cylinders defined by radius, upper and lower
      * extension. The split cylinders define the channels and are
      * each anchored in the center of the split group */
@@ -378,13 +377,13 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     //! Periodic molecules
     bool bPeriodicMols;
     //! Continuation run: starting state is correct (ie. constrained)
-    gmx_bool bContinuation;
+    bool bContinuation;
     //! Temperature coupling
     TemperatureCoupling etc;
     //! Interval in steps for temperature coupling
     int nsttcouple;
     //! Whether to print nose-hoover chains
-    gmx_bool bPrintNHChains;
+    bool bPrintNHChains;
     //! Pressure coupling
     PressureCoupling epc;
     //! Pressure coupling type
@@ -444,11 +443,11 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     //! Data for the FEP state
     std::unique_ptr<t_lambda> fepvals;
     //! Whether to do simulated tempering
-    gmx_bool bSimTemp;
+    bool bSimTemp;
     //! Variables for simulated tempering
     std::unique_ptr<t_simtemp> simtempvals;
     //! Whether expanded ensembles are used
-    gmx_bool bExpanded;
+    bool bExpanded;
     //! Expanded ensemble parameters
     std::unique_ptr<t_expanded> expandedvals;
     //! Type of distance restraining
@@ -458,7 +457,7 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     //! Type of weighting of pairs in one restraints
     DistanceRestraintWeighting eDisreWeighting;
     //! Use combination of time averaged and instantaneous violations
-    gmx_bool bDisreMixed;
+    bool bDisreMixed;
     //! Frequency of writing pair distances to enx
     int nstdisreout;
     //! Time constant for memory function in disres
@@ -490,7 +489,7 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     //! Number of iterations in the final LINCS step
     int nLincsIter;
     //! Use successive overrelaxation for shake
-    gmx_bool bShakeSOR;
+    bool bShakeSOR;
     //! Friction coefficient for BD (amu/ps)
     real bd_fric;
     //! Random seed for SD and BD
@@ -510,19 +509,19 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
 
     /* COM pulling data */
     //! Do we do COM pulling?
-    gmx_bool bPull;
+    bool bPull;
     //! The data for center of mass pulling
     std::unique_ptr<pull_params_t> pull;
 
     /* AWH bias data */
     //! Whether to use AWH biasing for PMF calculations
-    gmx_bool bDoAwh;
+    bool bDoAwh;
     //! AWH biasing parameters
     std::unique_ptr<gmx::AwhParams> awhParams;
 
     /* Enforced rotation data */
     //! Whether to calculate enforced rotation potential(s)
-    gmx_bool bRot;
+    bool bRot;
     //! The data for enforced rotation potentials
     t_rot* rot;
 
@@ -532,7 +531,7 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     t_swapcoords* swap;
 
     //! Whether the tpr makes an interactive MD session possible.
-    gmx_bool bIMD;
+    bool bIMD;
     //! Interactive molecular dynamics
     t_IMD* imd;
 
@@ -554,13 +553,13 @@ struct t_inputrec // NOLINT (clang-analyzer-optin.performance.Padding)
     //! Group options
     t_grpopts opts;
     //! QM/MM calculation
-    gmx_bool bQMMM;
+    bool bQMMM;
 
     /* Fields for removed features go here (better caching) */
     //! Whether AdResS is enabled - always false if a valid .tpr was read
-    gmx_bool bAdress;
+    bool bAdress;
     //! Whether twin-range scheme is active - always false if a valid .tpr was read
-    gmx_bool useTwinRange;
+    bool useTwinRange;
     //! Whether we have constant acceleration - removed in GROMACS 2022
     bool useConstantAcceleration;
 
@@ -582,30 +581,30 @@ int pcouple_min_integration_steps(PressureCoupling epc);
 int ir_optimal_nstpcouple(const t_inputrec* ir);
 
 /* Returns if the Coulomb force or potential is switched to zero */
-gmx_bool ir_coulomb_switched(const t_inputrec* ir);
+bool ir_coulomb_switched(const t_inputrec* ir);
 
 /* Returns if the Coulomb interactions are zero beyond the rcoulomb.
  * Note: always returns TRUE for the Verlet cut-off scheme.
  */
-gmx_bool ir_coulomb_is_zero_at_cutoff(const t_inputrec* ir);
+bool ir_coulomb_is_zero_at_cutoff(const t_inputrec* ir);
 
 /* As ir_coulomb_is_zero_at_cutoff, but also returns TRUE for user tabulated
  * interactions, since these might be zero beyond rcoulomb.
  */
-gmx_bool ir_coulomb_might_be_zero_at_cutoff(const t_inputrec* ir);
+bool ir_coulomb_might_be_zero_at_cutoff(const t_inputrec* ir);
 
 /* Returns if the Van der Waals force or potential is switched to zero */
-gmx_bool ir_vdw_switched(const t_inputrec* ir);
+bool ir_vdw_switched(const t_inputrec* ir);
 
 /* Returns if the Van der Waals interactions are zero beyond the rvdw.
  * Note: always returns TRUE for the Verlet cut-off scheme.
  */
-gmx_bool ir_vdw_is_zero_at_cutoff(const t_inputrec* ir);
+bool ir_vdw_is_zero_at_cutoff(const t_inputrec* ir);
 
 /* As ir_vdw_is_zero_at_cutoff, but also returns TRUE for user tabulated
  * interactions, since these might be zero beyond rvdw.
  */
-gmx_bool ir_vdw_might_be_zero_at_cutoff(const t_inputrec* ir);
+bool ir_vdw_might_be_zero_at_cutoff(const t_inputrec* ir);
 
 /*! \brief Free memory from input record.
  *
@@ -615,30 +614,30 @@ gmx_bool ir_vdw_might_be_zero_at_cutoff(const t_inputrec* ir);
  */
 void done_inputrec(t_inputrec* ir);
 
-void pr_inputrec(FILE* fp, int indent, const char* title, const t_inputrec* ir, gmx_bool bMDPformat);
+void pr_inputrec(FILE* fp, int indent, const char* title, const t_inputrec* ir, bool bMDPformat);
 
 void cmp_inputrec(FILE* fp, const t_inputrec* ir1, const t_inputrec* ir2, real ftol, real abstol);
 
 void comp_pull_AB(FILE* fp, const pull_params_t& pull, real ftol, real abstol);
 
 
-gmx_bool inputrecDeform(const t_inputrec* ir);
+bool inputrecDeform(const t_inputrec* ir);
 
-gmx_bool inputrecDynamicBox(const t_inputrec* ir);
+bool inputrecDynamicBox(const t_inputrec* ir);
 
-gmx_bool inputrecPreserveShape(const t_inputrec* ir);
+bool inputrecPreserveShape(const t_inputrec* ir);
 
-gmx_bool inputrecNeedMutot(const t_inputrec* ir);
+bool inputrecNeedMutot(const t_inputrec* ir);
 
-gmx_bool inputrecTwinRange(const t_inputrec* ir);
+bool inputrecTwinRange(const t_inputrec* ir);
 
-gmx_bool inputrecExclForces(const t_inputrec* ir);
+bool inputrecExclForces(const t_inputrec* ir);
 
-gmx_bool inputrecNptTrotter(const t_inputrec* ir);
+bool inputrecNptTrotter(const t_inputrec* ir);
 
-gmx_bool inputrecNvtTrotter(const t_inputrec* ir);
+bool inputrecNvtTrotter(const t_inputrec* ir);
 
-gmx_bool inputrecNphTrotter(const t_inputrec* ir);
+bool inputrecNphTrotter(const t_inputrec* ir);
 
 /*! \brief Return true if the simulation is 2D periodic with two walls. */
 bool inputrecPbcXY2Walls(const t_inputrec* ir);
index e112758411cdf54097d44d247cd49a15cd7c5d15..ce70634b8e3e89b488d253a09423ffd9b017ed7a 100644 (file)
@@ -41,7 +41,6 @@
 
 #include "gromacs/mdtypes/md_enums.h"
 #include "gromacs/utility/alignedallocator.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct t_lambda;
index 58a99ab4659c9cd1b1b321d1046cbfc0c0c7c41b..8e69ed9f1f000f43b9567bf135a807540fcb0b05 100644 (file)
@@ -46,8 +46,6 @@
 #ifndef GMX_MDTYPES_MD_ENUMS_H
 #define GMX_MDTYPES_MD_ENUMS_H
 
-#include "gromacs/utility/basedefinitions.h"
-
 /*! \brief Return a string from a list of strings
  *
  * If index if within 0 .. max_index-1 returns the corresponding string
index 50787aee9fd6e4b74643e4eca72ea437dd1bd899..91ee9f00d7d2e4afed8d34be4af8eeddf87fcab9 100644 (file)
@@ -45,7 +45,6 @@
 #define GMX_MDTYPES_MDATOM_H
 
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 enum class ParticleType : int;
@@ -65,11 +64,11 @@ typedef struct t_mdatoms
     //! Number of energy groups
     int nenergrp;
     //! Do we have multiple center of mass motion removal groups
-    gmx_bool bVCMgrps;
+    bool bVCMgrps;
     //! Do we have any virtual sites?
-    gmx_bool haveVsites;
+    bool haveVsites;
     //! Do we have atoms that are frozen along 1 or 2 (not 3) dimensions?
-    gmx_bool havePartiallyFrozenAtoms;
+    bool havePartiallyFrozenAtoms;
     //! Number of perturbed atoms
     int nPerturbed;
     //! Number of atoms for which the mass is perturbed
@@ -79,7 +78,7 @@ typedef struct t_mdatoms
     //! Number of atoms for which the type is perturbed
     int nTypePerturbed;
     //! Do we have orientation restraints
-    gmx_bool bOrires;
+    bool bOrires;
     //! Atomic mass in A state
     real* massA;
     //! Atomic mass in B state
@@ -107,7 +106,7 @@ typedef struct t_mdatoms
     //! Van der Waals radius sigma^3 in the B state
     real* sigma3B;
     //! Is this atom perturbed
-    gmx_bool* bPerturbed;
+    bool* bPerturbed;
     //! Type of atom in the A state
     int* typeA;
     //! Type of atom in the B state
index bef760925a4de0328f03bcbc6ca1ffff79dbcb76..8998b75abcc86683c37af1d99ea4a0b774788405 100644 (file)
@@ -63,8 +63,6 @@
 #include "gromacs/math/paddedvector.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/mdtypes/md_enums.h"
-#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/enumerationhelpers.h"
 #include "gromacs/utility/real.h"
 
@@ -173,7 +171,7 @@ class ekinstate_t
 public:
     ekinstate_t();
 
-    gmx_bool            bUpToDate;      //!< Test if all data is up to date
+    bool                bUpToDate;      //!< Test if all data is up to date
     int                 ekin_n;         //!< The number of tensors
     tensor*             ekinh;          //!< Half step Ekin, size \p ekin_n
     tensor*             ekinf;          //!< Full step Ekin, size \p ekin_n
@@ -208,10 +206,10 @@ typedef struct df_history_t
 {
     int nlambda; //!< total number of lambda states - for history
 
-    gmx_bool bEquil;   //!< Have we reached equilibration
-    int*     n_at_lam; //!< number of points observed at each lambda
-    real*    wl_histo; //!< histogram for WL flatness determination
-    real     wl_delta; //!< current wang-landau delta
+    bool  bEquil;   //!< Have we reached equilibration
+    int*  n_at_lam; //!< number of points observed at each lambda
+    real* wl_histo; //!< histogram for WL flatness determination
+    real  wl_delta; //!< current wang-landau delta
 
     real* sum_weights; //!< weights of the states
     real* sum_dg; //!< free energies of the states -- not actually used for weighting, but informational
@@ -318,7 +316,7 @@ void state_change_natoms(t_state* state, int natoms);
 void init_dfhist_state(t_state* state, int dfhistNumLambda);
 
 /*! \brief Compares two states, write the differences to stdout */
-void comp_state(const t_state* st1, const t_state* st2, gmx_bool bRMSD, real ftol, real abstol);
+void comp_state(const t_state* st1, const t_state* st2, bool bRMSD, real ftol, real abstol);
 
 /*! \brief Allocates an rvec pointer and copy the contents of v to it */
 rvec* makeRvecArray(gmx::ArrayRef<const gmx::RVec> v, gmx::index n);
index 56062527346af2fbeacf9858cf9d6d72f9773a26..079d4cec8cb78f337b64de83f804c1649bfe2b14 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 2012,2013,2014,2016,2017 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.
@@ -51,6 +51,7 @@
 #include "gromacs/onlinehelp/helpwritercontext.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/stringutil.h"
+#include "gromacs/utility/basedefinitions.h"
 
 namespace gmx
 {
index 1a67c9b98fbc313d10e489bd7150f3be055edee5..17ccfbcf5a65d4eaf89deefd1cd79a3f70e1cfd4 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2012,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.
@@ -43,7 +43,6 @@
 #include <string>
 
 #include "gromacs/math/vectypes.h"
-#include "gromacs/utility/arrayref.h"
 #include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/enumerationhelpers.h"
 #include "gromacs/utility/real.h"
 struct gmx_domdec_t;
 struct gmx_mtop_t;
 
+namespace gmx
+{
+template<typename>
+class ArrayRef;
+} // namespace gmx
+
 //! Enumeration that contains all supported periodic boundary setups.
 enum class PbcType : int
 {
@@ -195,7 +200,7 @@ PbcType guessPbcType(const matrix box);
  * \param[in] box   The simulation cell
  * \return TRUE when the box was corrected.
  */
-gmx_bool correct_box(FILE* fplog, int step, tensor box);
+bool correct_box(FILE* fplog, int step, tensor box);
 
 /*! \brief Initiate the periodic boundary condition algorithms.
  *
@@ -228,7 +233,7 @@ void set_pbc(t_pbc* pbc, PbcType pbcType, const matrix box);
  * \param[in] box         The box tensor
  * \return the pbc structure when pbc operations are required, NULL otherwise.
  */
-t_pbc* set_pbc_dd(t_pbc* pbc, PbcType pbcType, const ivec domdecCells, gmx_bool bSingleDir, const matrix box);
+t_pbc* set_pbc_dd(t_pbc* pbc, PbcType pbcType, const ivec domdecCells, bool bSingleDir, const matrix box);
 
 /*! \brief Compute distance with PBC
  *
index 97edcc5731f11449f8aada208a16de1783512020..5a445784b71989d70def7fee9ecec63368473cd4 100644 (file)
@@ -55,6 +55,7 @@
 #include "gromacs/math/vec.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/real.h"
 
index 10fee47a24b40f31275487be8f752c85de506af9..0acf7f49b3fca0e58f69adcb94f9fd60089adf6d 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010,2014,2015,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2010,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.
@@ -41,7 +41,6 @@
 
 #include <vector>
 
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 #include "gromacs/utility/range.h"
 
index 40a4913cfbb16b15652112801468ec393f35c78f..1fb0a2fc2d7bb97a9589add2f0359b906c7408cc 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2018 by the GROMACS development team.
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,7 +45,6 @@
 
 #include "gromacs/math/vectypes.h"
 #include "gromacs/topology/ifunc.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
 
 struct gmx_ffparams_t;
@@ -459,10 +458,10 @@ void pr_ilist(FILE*                  fp,
               const char*            title,
               const t_functype*      functype,
               const InteractionList& ilist,
-              gmx_bool               bShowNumbers,
-              gmx_bool               bShowParameters,
+              bool                   bShowNumbers,
+              bool                   bShowParameters,
               const t_iparams*       iparams);
-void pr_idef(FILE* fp, int indent, const char* title, const t_idef* idef, gmx_bool bShowNumbers, gmx_bool bShowParameters);
+void pr_idef(FILE* fp, int indent, const char* title, const t_idef* idef, bool bShowNumbers, bool bShowParameters);
 
 /*! \brief
  * Properly initialize idef struct.
index 9d7330226a07cb119c9cc6c85f39b6cfbe18c580..e4615c46bb09b3254f1c3b8912d2a0cf6e9a444a 100644 (file)
@@ -46,7 +46,6 @@
 #include <boost/stl_interfaces/iterator_interface.hpp>
 
 #include "gromacs/topology/topology.h"
-#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/enumerationhelpers.h"
 
 struct gmx_localtop_t;
index 826fb86eb37284d5d9eb773279ee3048c140e427..6ffbcdff15eb6e8f41bb71d70c69769847f36db3 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010,2014,2017,2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014,2017,2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -54,6 +54,7 @@
 #include <unordered_map>
 #include <vector>
 
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 
 struct t_commrec;
index ace651cdeb97529760cf523f658f3c15bfb84192..36ea649f081a260dd8ffb44510f932651efe4de9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -46,6 +46,7 @@
 #include <array>
 #include <stdexcept>
 
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 
 namespace gmx
index 01d13705c41f11852b393244ce235eb0b116df73..d8f344a708a7ad3ac6df3dfe97092a6b8ba03ac6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -45,6 +45,7 @@
 
 #include <type_traits>
 
+#include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/gmxassert.h"
 
 namespace gmx