Reimplement subsections in Options
authorTeemu Murtola <teemu.murtola@gmail.com>
Fri, 10 Jun 2016 19:54:56 +0000 (22:54 +0300)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 17 Aug 2016 15:31:38 +0000 (17:31 +0200)
commit3e4c14cd65b771f0846a7130907d4c4e8c380c7b
treec105a7f341b8e42e3f89bc8324debfda8659ea3e
parenta2a08c9ba2176a3ab378518e6541911828f01d57
Reimplement subsections in Options

Now the support for sections in Options provides an API similar to
other option types.  The main thing missing (both in the old and the new
implementation) is support for an "array of structs"-kind of options,
where multiple instances of the same section could create multiple
instances of some object in the code.  That should also be possible to
add following a similar public API, but the internals need quite a bit
of generalization to make that possible.  That will be done in
subsequent changes to keep the changes smaller.

Remove now-unused name and title for an Options object.

Change-Id: Ie76e31aae2de0816b4d294ff6869606d4a2bef49
29 files changed:
src/gromacs/commandline/cmdlinehelpmodule.cpp
src/gromacs/commandline/cmdlinehelpwriter.cpp
src/gromacs/commandline/cmdlinemodulemanager.cpp
src/gromacs/commandline/cmdlineoptionsmodule.cpp
src/gromacs/commandline/pargs.cpp
src/gromacs/commandline/shellcompletions.cpp
src/gromacs/commandline/tests/cmdlinehelpwriter.cpp
src/gromacs/commandline/tests/cmdlineparser.cpp
src/gromacs/options/CMakeLists.txt
src/gromacs/options/abstractoption.h
src/gromacs/options/ioptionscontainerwithsections.h [new file with mode: 0644]
src/gromacs/options/options-impl.h
src/gromacs/options/options.cpp
src/gromacs/options/options.h
src/gromacs/options/optionsassigner.cpp
src/gromacs/options/optionsassigner.h
src/gromacs/options/optionsection.h [new file with mode: 0644]
src/gromacs/options/optionsvisitor.cpp
src/gromacs/options/optionsvisitor.h
src/gromacs/options/tests/abstractoptionstorage.cpp
src/gromacs/options/tests/filenameoption.cpp
src/gromacs/options/tests/filenameoptionmanager.cpp
src/gromacs/options/tests/option.cpp
src/gromacs/options/tests/optionsassigner.cpp
src/gromacs/options/tests/timeunitmanager.cpp
src/gromacs/options/timeunitmanager.cpp
src/gromacs/selection/tests/selectionoption.cpp
src/gromacs/utility/classhelpers.h
src/testutils/testinit.cpp