Allow extensible MDModules and forceProviders. - Redmine #2623
gmxapi milestone 6 as described in #2585
Provide for runtime extension of MDModules and the initialization of force providers.
This task supports gmxapi milestones 7, 8, and 9, but the accompanying Gerrit change is small and has no dependencies, so it is submitted separately. This change also does not migrate the current lone IForceProvider because the binding protocols can be treated as separate issues. Alternatively, progress in other abstractions currently being developed could remove the need to bundle MDModules together like this, but for the moment it seems like the appropriate container.
(from redmine: issue id 2623, created on 2018-08-22 by eirrgang, closed on 2019-12-11)
- Relations:
- relates #1972 (closed)
- relates #2229 (closed)
- relates #2492 (closed)
- relates #2574 (closed)
- relates #2590 (closed)
- relates #3040 (closed)
- parent #2585 (closed)
- Changesets:
- Revision 9864b201 by Eric Irrgang on 2018-08-29T12:32:34Z:
Allow extensible MDModules and forceProviders.
supports gmxapi milestone 6, described at #2585.
MDModules::Impl gets a std::vector for (shared) ownership of objects
providing the IMDModule interface. An add() method is added to the
MDModules public member functions, but the binding protocols are
separated into separate issues to allow minimal changes and varying
dependencies on other pending changes.
Relates to #1972, #2229, #2492, #2574, #2590.
Refs #2623
Change-Id: Ibb16d1453003213a49622810ed8bad4ed4b06e2d