Remove void as possible option type (#7731)
authorGereon Kremer <gkremer@stanford.edu>
Thu, 2 Dec 2021 21:19:15 +0000 (13:19 -0800)
committerGitHub <noreply@github.com>
Thu, 2 Dec 2021 21:19:15 +0000 (21:19 +0000)
commit5702922272d93a75ec86e6deace058271be42e2a
tree9431d4658d2175af79d5fd275a0d758f00ca0b06
parent596f15650eecfa9bf46bc2196367e2adaebe3333
Remove void as possible option type (#7731)

This PR removes the possibility to have void options. While there are (very) few options that may legitimately be considered void (they do not actually hold a value, but merely trigger a handler or predicate), the type being void introduces a number of special cases in the options setup. Their only real benefit was to avoid having data members that would never be used.
As it turns out, though, the same can be achieved by not specifying a name, which already supported as well.
src/options/README.md
src/options/base_options.toml
src/options/mkoptions.py
src/options/module_template.h
src/options/options_handler.cpp
src/options/options_handler.h
src/options/options_public_template.cpp
test/unit/api/cpp/solver_black.cpp
test/unit/api/java/SolverTest.java