* Fixing some warnings
* Make gtest a system library
* Fixing format
* Adding better method for adding warnings
* Nicer Windows deprecated test
* JSON update and drop testing timer
* Warnings as errors everywhere
* build-testing better supported
* Add formatting to Azure
* Adding more jobs to Azure
* Control
* Allow libc++ to be used on linux
* Fix modernize message
* Fix variable
* fixup! Fix modernize message
* Drop auto exp. optional
* Update readme, better user id in docker
* Fix BUILD_TESTING
* Drop format from travis, leave tidy for now
* Check tidy and format
* Tidy fully on Azure now
* clear up some additional Wshadow warnings on older compilers
* clear up a few more Wshadow warnings in option
* add extra test for delimiter in add_option_function call.
* clear up a warning from the test
* Overflowing an integer conversion now results in a conversion failure
* CMake improvements for VERSION and inital packing support
* Fix for recent addition of overflow check
* Conan file now gets version from Version.hpp file too
* Adding fix for #75, rename requires to needs
* Removing check for install commands (should still be run in subproject)
* Adding conan build
* Some small changes to CMake
* Adding nicer Travis code
* Adding package test, find works now
* Addind simple flag callback
* Give flag function a new name, old name only on C++14
* Fixing reference to destroyed function
* Better GCC 4.7 support, travis prepared for C++17 (not used yet)
* Updating documentation
* Remove windows warning, use secure getenv
* Fix typo in last commit
* Fix typo in windows version
* Fix another typo in windows version
* Fixing error, dropping warn suppression
* Adding first try at coverage
* Fix for CMakeLists
* Fix for wrong shell
* Fixes to Coverage
* Fix for missing coverage
* Adding badge
* Using repo token
* Adding test files to coverage
* Fix typo
* Adding codecov
* Fix for code coverage
* Fix single file tests under CodeCov
* Seperating coverage steps
* Fix testrunner to be ctest
* Fix constant rebuilding of doxygen
* Adding coverage, tested locally
* Adding compiler version to gcov
* Fixing code coverage gcov download and use
* Adding Coverage build type with some fixes
* Better way of using gcc
* Adding coverage badge
* Removing tests from calcs
This mostly is cleanup, with fewer alternative methods and more standard syntax, avoiding the use of the namespace all the time. Validators are simpler and are added through `->check()`.
Defaults are automatic, and can be specified with a final arg to the options.
Expected arguments and required arguments are now accessed through a pointer to option.
Option now can be checked as a bool to see if the argument was passed.
Errors have better organisation.