Refactor t_molinfo to MoleculeInformation class
[alexxy/gromacs.git] / src / gromacs / gmxpreprocess / topio.h
index c3ec5d5ff35e5c802a4180fbb70394f7fc49880c..c71d5b7a38e9187d5770b89d7e6252a680dfb590 100644 (file)
@@ -38,6 +38,7 @@
 #ifndef GMX_GMXPREPROCESS_TOPIO_H
 #define GMX_GMXPREPROCESS_TOPIO_H
 
+#include <memory>
 #include <vector>
 
 #include "gromacs/utility/real.h"
@@ -47,7 +48,7 @@ struct gmx_mtop_t;
 struct gpp_atomtype;
 struct t_gromppopts;
 struct t_inputrec;
-struct t_molinfo;
+struct MoleculeInformation;
 struct t_params;
 struct t_symtab;
 struct warninp;
@@ -57,24 +58,24 @@ typedef warninp *warninp_t;
 double check_mol(const gmx_mtop_t *mtop, warninp_t wi);
 /* Check mass and charge */
 
-char **do_top(bool                          bVerbose,
-              const char                   *topfile,
-              const char                   *topppfile,
-              t_gromppopts                 *opts,
-              bool                          bZero,
-              t_symtab                     *symtab,
-              t_params                      plist[],
-              int                          *combination_rule,
-              double                       *repulsion_power,
-              real                         *fudgeQQ,
-              gpp_atomtype                 *atype,
-              int                          *nrmols,
-              t_molinfo                   **molinfo,
-              t_molinfo                   **intermolecular_interactions,
-              const t_inputrec             *ir,
-              std::vector<gmx_molblock_t>  *molblock,
-              bool                         *ffParametrizedWithHBondConstraints,
-              warninp_t                     wi);
+char **do_top(bool                                               bVerbose,
+              const char                                        *topfile,
+              const char                                        *topppfile,
+              t_gromppopts                                      *opts,
+              bool                                               bZero,
+              t_symtab                                          *symtab,
+              t_params                                           plist[],
+              int                                               *combination_rule,
+              double                                            *repulsion_power,
+              real                                              *fudgeQQ,
+              gpp_atomtype                                      *atype,
+              int                                               *nrmols,
+              std::vector<MoleculeInformation>                  *molinfo,
+              std::unique_ptr<MoleculeInformation>              *intermolecular_interactions,
+              const t_inputrec                                  *ir,
+              std::vector<gmx_molblock_t>                       *molblock,
+              bool                                              *ffParametrizedWithHBondConstraints,
+              warninp_t                                          wi);
 
 /* This routine expects sys->molt[m].ilist to be of size F_NRE and ordered. */
 void generate_qmexcl(gmx_mtop_t *sys, t_inputrec *ir, warninp_t wi, GmxQmmmMode qmmmMode);