-
* Add C++11 check for macOS * Update azure-pipelines.yml * Constexpr pair is C++14+ only on some impls
-
* Bug fix for issue 369. The default_val call was not resetting the option state after it had executed the callback and reset the results vector, allowing the possibility of an empty results getting passed to some conversions functions. * add the source and attribution of the new test * update formatting
-
* Adding CUDA build * Filter NVCC warning * Constexpr reword
-
* add ability to specify deprecated or retired options. * add retired example and tests * update some formatting and a few more test executions * fix formatting on retired.cpp * add another test to fill coverage gap for existing options that are being retired. * add example comments * Update readme with the descriptions of the new helper functions * fix space on readme * Apply suggestions from code review Co-Authored-By: Christoph Bachhuber <cbachhuber89@gmail.com> * add some flags to the code coverage report and update some names and add more descriptions to deprecated options * update formatting on App
-
* allow hidden option groups for help. * refactor condition so it continues appropriately but only prints on the desired conditions.
-
* allow transform to work with arrays. The element_type trait required pointer_traits<T> to be defined for the type which it was for vector but not for array due to decay rules in C++, even though it was not used. So Element type had to be split into two templates instead of a conditional. * fix formatting * clean up array initialization * add constexpr array test * add extra braces to make clang happy
-
* fix some warnings generated from klocwork static analyzer * Some more visual studio static analyzer and clang-tidy fixes * some formatting updates
-
* fix https://github.com/CLIUtils/CLI11/issues/328 * use same assumptions about the size (ie double is enough) as in Number validator * fix spelling in error message * fix class description comment * PositiveNumber accepts now >0 while NonNegative >=0 * update README for PositiveNumber and NonNegativeNumber * spelling
-
* add checks for files and directories so the code can be used in the config check * add use of std::filesystem when available * add some documentation * try a verbatim section * update formatting on validators * update error call to use FileError::Missing * add FileError test for invalid file * format tweak
-
* add expanded type_size specification * add some more checks for type_size_max * continued work on getting type sizes more flexible * make some more tweaks to option to split up validate and reduce sections * git rid of exceptions on the type_size functions exceptions, allow any number to be entered for the min and max and don't make a distinction between flags and other types. * add expected count * add the allow extra args flag in an option * start working in allow_extra_args * write some stuff in the book, and continue working on the failing test cases * fix a few more of the helpers tests * a few more test cases running * all tests pass, fixing calls in ini files * get vector<pair> working and all tests passing * change callback to use reference to remove allocation and copy operation * add support and test for vector<vector<X>> * change Validators_ to validators_ for consistency * fix linux warnings and errors by reording some templates and adding some typename keywords * add support for std::vector<X> as the cross conversion type so optional<std::vector<X>> is supported using the full template of add_option. * a few more test cases to take care of some coverage gaps * add missing parenthesis * add some more tests for coverage gaps * add test for flag like option * add transform test for `as<X>` function and make it pass through the defaults * add a few more tests and have vector default string interpreted correctly. * add test for defaulted integer, and route default string for defaulted value which would otherwise be empty * some code cleanup and comments and few more test coverage gap tests * add more tests and fix a few bugs on the type size and different code paths * remove path in results by fixing the clear of options so they go back to parsing state. * get coverage back to 100% * clang_tidy, and codacy fixes * reorder the lexical_conversion definitions * update some formatting * update whitespace on book chapter
-
After https://github.com/CLIUtils/CLI11/pull/329 the get_options version being used in the test was the non-const. Forced testing on non-const by using a const-ref to the app. Also added testing to ensure the list of options of both const and non-const are the same as expected.
-
* Return empty string in Option::get_name() for hidden options Fixes https://github.com/CLIUtils/CLI11/issues/332 * Remove to_lower() call * Formatting * Fix THelp.Hidden
-
* add a needs method to the app/subcommand * add some needs subcommand tests * add a few more subcommand tests for needs and alias * fix shadow warnings * add some tests of the error pathways and fix a few anomalous conditions on the Option excludes function * add needs and alias functions in the readme * add some tests of ignore_case and underscore with the alias operations * add a few more test cases for needs option groups * add callback tests with needs and add a few comments in the readme * update formatting * add error checks on the aliases and restrictions on valid names for subcommands and aliases * add checks for matching subcommands and improve error return values to include the offending name * add some tests of the alias errors * add some more tests to check subcommand name matching during addition * add some additional tests and remove a redundant chunk of codes * add some more checks of subcommand name overlap in option_groups * allow disabled subcommand to bypass name matching check
-
* fix signed mismatch add test from readme about callbacks update callback documentation, add a subbcommand immediate_callback test add third callback and readme update * a few more updates to the readme on `immediate_callback` * Apply suggestions from code review Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
remove restrictions on tuple size, and add some additional tests and modified documentation fix some issues with the negative number check add some test for indexed validation on tuple allow specific validators for specific elements in a type with multiple values, or to just apply to the last given argument
-
fix incorrect parenthesis update some clang-tidy fixes mainly else after return but a few conversions from into to bool add extra newline before footer add an extra field to the extra Error add a footer callback for help operations
-
* add some tests with default capture on the two parameter template and some notes about it in the README.md remove the test from visual studio 2015 vs2015 doesn't seem to properly deal with is_assignable in the cases we care about so make a standalone version that is more direct in what we are doing add version to appveyor and add some notes to the readme fix a few test cases to make sure code is covered and test a few other paths remove unneeded enum streaming operator add some diagnostic escapes around trait code to eliminate gcc Wnarrowing warnings work specification of the template operations remove optional add some templates for options conversions add the two parameter template for add_option * Fix some comments from Code review and add more description * start work on trying to clean up the type traits for which lexical cast overload to use * fix readme issue and make the condition tests a little clearer * add a check for out of range errors on boolean conversions * Fix capitalization and some comments on option functions * Allow immediate_callback on the main app to run the main app callback prior to named subcommand callbacks, and reflect this change in the a new test and docs. * add a is_tuple_like trait, and type_count structure for getting the number of elements to require * add lexical conversion functions for tuples and other types * remove the separate vector option and option function * test out the type names for tuples * add some more lexical conversion functions and test * more work on tuples and tests * fix some merge warnings * fix some typename usage and c++14 only constructs * tweak some of the template to remove undefined references * add extra static assert about is_tuple_like * fix some undefined references in clang * move around some of the type_count templates to be used in the type_name functions * move the type_count around and add some additional checks on the classification * add some info to the readme
-
* add a check loop for missing required positional, when the number of arguments get small. * fix a few warnings on signed/unsigned checks * add check for a required positional vector.
-
This cleans up the type checking a bit and makes it more readable, along with some other cleanup. * start work on trying to clean up the type traits for which lexical cast overload to use * fix readme issue and make the condition tests a little clearer * add a check for out of range errors on boolean conversions * Fix capitalization and some comments on option functions * fix a few code analysis warnings for VS2019
-
* change the checked_multiply function to not use undefined behavior to check for potential undefined behavior and wrapping. * update the checked_multiply template to deal with mismatched sign in signed numbers and min val correctly. This involved adding to templates to clear up warnings
-
* add some tests with default capture on the two parameter template and some notes about it in the README.md remove the test from visual studio 2015 vs2015 doesn't seem to properly deal with is_assignable in the cases we care about so make a standalone version that is more direct in what we are doing add version to appveyor and add some notes to the readme fix a few test cases to make sure code is covered and test a few other paths remove unneeded enum streaming operator add some diagnostic escapes around trait code to eliminate gcc Wnarrowing warnings work specification of the template operations remove optional add some templates for options conversions add the two parameter template for add_option * Fix some comments from Code review and add more description * fix case when string_view doesn't work to append to a string. * This PR also addressed #300 * modify lexical_cast to take const std::string &, instead of by value to allow string_view in a few cases
-
* meson: Basic meson support With this patch, CLI11 can be used as a meson subproject: http://mesonbuild.com/Subprojects.html However, CMake is still required for testing and installation. The current meson.build is not a complete replacement. * meson: Added meson test * Adding Azure test
-
* Fix std::string_view support in transforming validators * Fix single header * Fix formatting * Be more careful * fix string_view test
-
* Allow immediate_callback on the main app to run the main app callback prior to named subcommand callbacks, and reflect this change in the a new test and docs. * Update README.md Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
* 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
-
* [WIP] Initial implementation * Add mapping validation * More documentation * Add support for floats in checked_multiply and add tests * Place SuffixedNumber declaration correctly * Add tests * Refactor SuffixedNumber * Add as size value * Update README * SFINAE for checked_multiply() * Mark ctors as explicit * Small fixes * Clang format * Clang format * Adding GCC 4.7 support * Rename SuffixedNumber to AsNumberWithUnit
-
* Boost optional is no longer automatic * Tighten up optional a bit * Check times
-
* First streaming version * Using to_string instead * Switching to new backend * Moving to capture function for defaults * Rename capture_default + _str * defaultval -> default_str, added always_capture_default * Fix style * Adding tests and docs to readme * Dropping macOS on Travis (supported through Azure)
-
* add a function to get the remaining arguments in a valid order for parse. and add rvalue reference overloads for parse and _parse so args is not refilled if not needed. * check a few more tests and verify ExtrasError works on parse(rValue vector) remove impossible to reach branches in _parse function * add callback_passthrough example and tests
-
* fix tests on aarch64
-
* some tweaks with optional * remove set_results function that was bypassing some of the result processing in some cases of config files. * add positional Validator example and tests add CLI::Number validator. * add positional Validator example and tests add CLI::Number validator. * do some reformatting for style checks and remove auto in test lambda.
-
add some test of the remove_excludes functions add test for Issue #256 add remove_subcommand fail test add remove_subcommand function and add_subcommand to option_group and some tests associated with them.
-
…ate some corresponding test cases and documentation Allow option groups to use ignore_case ignore_underscore for inheritance Allow option groups to specify allow_extras even if the parent app doesn't in which case extra options flow down into the option_group.
-
…ome cleanup in the README.md Apply suggestions from code review Co-Authored-By: phlptp <top1@llnl.gov> allow callbacks for option_groups, and allow some other characters as flags