* add windows latest and gcc 8 builds to azure
* try adding pr trigger
* try adding something specific for gcc 8
* use interface instead of public
* try C++17 on clang 8
* update the readme with some additional notes about gcc 8
* fix some incorrect doxygen comment formatting
* try using the glibcxx_release value
* debug some code paths to make sure macros are working
* Update readme and fix formatting.
* update formatting for Validators
* Update options.md book chapter and the readme to better reflect current usage and the modifications to the add_options templates.
add support in add_option for wrapper types, such as std::optional, boost::optional or other types with a value_type trait. Add support for generalized containers beyond vector, add support for nested tuples and vectors, and complex numbers directly in add_option. This includes several new type traits and object categories.
Upgrade the google test version to better support templated tests.
add support for vector argument separator `%%`
* update formatting to match recent changes
* Apply suggestions from code review
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* add a get_single_name function for options, and allow short names to be used for configuration output.
* add config input to handle short and positional options
* add some tests about short options and positional options in config files
* allow use of envname_ in config files
* update doc book and readme with fixes
* formatting update
* some formatting updates
* add some notes on the config file generation
* just try modifying a comment
* Add whitespace/comments check
* Adapt spacing in clang-format
* Fix cpplint whitespace/comments issues
* Grammar
* Do not use clang-format for comment spacing
* Fix with clang-format pre-commit hook
* conan: Do not run tests when cross compiling
Running conan create with a profile made for cross compiling would fail since the tests is not compiled for build OS
* Using suggestion from Conan docs
* conan: also add cross_building check in build step
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* add a variant of the string conversions for the default string operations. Discriminate between the is_convertible and is_constructible type traits for object.
* update the test to test the different situations with the funny string like type
* work on the flags book chapter and making sure the values are initialized properly.
* Fix initialization of values used in flags or options
* update some formatting and more brace initialization
* update more formatting and fix a incorrect initializer
* more formatting and some error fixes
* more formatting
* Small formatting fix
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Add cpplint config file
* Add cpplint to CI
* Add checks
* Add docker container tag
* Unindent container
As suggested in code review
Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Fix cpplint issues
* Fix clang-format
* Include and fix modern cpplint runtime/int
* Include and fix cpplint build/include_order
* Revert "Include and fix cpplint build/include_order"
This reverts commit bddb6a2d6744c5397f387ccd03416a1ec5e29862.
* Update explanation, sort alphabetically
* Implement suggestion from code review
Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Include cstdint header, prefix its symbols with std::
* Forgot std::
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Add std checking and try to fix filesystem being used on macOS 10.14
* Adding extra check recommeded by @phlptp
* suppress the double to int warning in msvc 2019 in the optional test
Co-authored-by: Philip Top <top1@llnl.gov>
* Make CI fail with readability-container-size-empty flag
* Make CI fail with cppcoreguidelines-owning-memory flag
* Add all google checks, exclude specific ones
* Apply clang-tidy fixes
* Make timer constructors explicit
* Add check for unscoped namespaces
* Replace unscoped namespace by using-declaration
* Replace unscoped namespace by using-declaration