Generalize and simplify option value storage
authorTeemu Murtola <teemu.murtola@gmail.com>
Mon, 4 Jul 2016 18:52:02 +0000 (21:52 +0300)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 17 Aug 2016 16:32:02 +0000 (18:32 +0200)
commit310516ff1be1433b9281333d6b7fa428ed1b4fa8
tree4a69e49d9280bca7e4ea9fd60140434df6414bb3
parent329ce84c1554a6078e34b9760021a134c81d7ad7
Generalize and simplify option value storage

Move responsibility of managing the final storage of parsed option
values out of OptionStorageTemplate to a separate OptionValueStore
interface.  Reduce complexity by removing support for some unused cases
(like storing the values in more than one place), which allows complete
removal of refreshValues().

This turned out to be not strictly necessary for supporting repeating
sections in options, but it is a useful simplification nonetheless.
It also provides some reusable elements that are also used in later
changes.

Change-Id: Ib367ae987cd265a08777c2fe054b43fdd5310762
src/gromacs/options/CMakeLists.txt
src/gromacs/options/basicoptions.cpp
src/gromacs/options/basicoptions.h
src/gromacs/options/basicoptionstorage.h
src/gromacs/options/filenameoption.cpp
src/gromacs/options/ivaluestore.h [new file with mode: 0644]
src/gromacs/options/optionstoragetemplate.h
src/gromacs/options/tests/optionsassigner.cpp
src/gromacs/options/valuestore.h [new file with mode: 0644]
src/gromacs/selection/selectionoption.cpp
src/gromacs/utility/arrayref.h