Add EnumOption with support for proper enum types
authorTeemu Murtola <teemu.murtola@gmail.com>
Fri, 21 Aug 2015 10:10:31 +0000 (13:10 +0300)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sun, 15 Nov 2015 19:05:41 +0000 (20:05 +0100)
commitf773382e93dcc3b78f268525bcb69d5420de2f33
tree19c8bb4d2dd015835366c21498b6637eacc46384
parenta3be7872f6c4cbe88283e27188804f3b75eede67
Add EnumOption with support for proper enum types

Generalize EnumIntOption such that it can now store the output into a
proper enum type, making it easier to write code where the compiler can
check for correct usage of the enums (i.e., give an error for
unintentional mixing of enum types, or for implicit int-to-enum casts).

Change-Id: Idcdd671f555327a3e3dad521b92d50930cb6e281
15 files changed:
src/gromacs/commandline/tests/cmdlinehelpwriter.cpp
src/gromacs/gmxpreprocess/insert-molecules.cpp
src/gromacs/options/abstractoption.h
src/gromacs/options/basicoptions.cpp
src/gromacs/options/basicoptions.h
src/gromacs/options/basicoptionstorage.h
src/gromacs/options/optionstoragetemplate.h
src/gromacs/options/tests/optionsassigner.cpp
src/gromacs/options/timeunitmanager.cpp
src/gromacs/options/timeunitmanager.h
src/gromacs/trajectoryanalysis/modules/angle.cpp
src/gromacs/trajectoryanalysis/modules/pairdist.cpp
src/gromacs/trajectoryanalysis/modules/rdf.cpp
src/gromacs/trajectoryanalysis/modules/select.cpp
src/testutils/refdata.cpp