Allows users to opt-out of std::exit call in default arguments without
needing to replace with new --help and --version arguments.
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
This attempts to fix Issue #225-1 by reverting the change that turned a
std::bad_any_cast exception into a nullptr.
Reverts commit 357068156e.
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
The intent of ": 1" is to use individual bits to store the bool state of
these class values. Because true != 0, this worked. But it was likely to
bite someone sometime. (My bad: 0fe17e22f6.)
This commit also adds m_accepts_optional_like_value to the bit field and
sets the default false value in the constructor.
Because we cannot set a default value during declaration (until C++20).
make sure future coders know to set the preferred default in the
constructor.
Closes#213
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
This allows updating attached object properties without holding external
references to the various Argument and ArgumentParser objects.
Closes#227
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
This allows checking whether user input was processed into the parser
or any attached subparsers.
Closes#212
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
std::less<Key> is the standard's default comparison function, we do not
need to re-declare the same function.
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
clang-ci >= 13.0 is failing to compile a constexpr function pointer
assignment. This is possibly due to strtof (and family) not being
implemented as constexpr in the relevant libc++.
Closes#136Closes#156
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
Clears warnings for the following checks in clang-tidy:
readability-braces-around-statements
readability-else-after-return checks
Also adds hints about code style to CONTRIBUTING document.
Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>