-
* add tests which suppose to pass * Update ConfigFileTest.cpp * Update ConfigFileTest.cpp * style: pre-commit.ci fixes * add the possibility for an empty vector result if allowed. * style: pre-commit.ci fixes * add empty vector command line tests * update book and readme * add no default test Co-authored-by: puchneiner <90352207+puchneiner@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
* docs: fix some Codacity recommendations * chore: update copyright year * style: more codacity fixes * style: fix issues reported by Codacity
-
* style: fix and add spelling check * Update .pre-commit-config.yaml
-
* refactor: new version of MakeSingleFiles * fix: use CMake and set version
-
add a test for char options add support for char types to the lexical cast, to allow single character types that make sense, add a integral_conversion operations to simplify the conversions from string to integers and allow discrimination in a few cases with enumerations.
-
* Add a dedicated version option to CLI11 to facilitate use of version flags, similar to help flags * add some test for the version flag * update errors and formatting * clear up gcc 4.8 warnings * add a few more tests * fix compiler error * fix a few comments, and change default version flag to only use "--version" * remove `version` calls and tests * formatting and add `std::string version()` back in.
-
* 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 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
-
* Add copyright check * Remove old license message * Implement suggestions from code review
-
* 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
-
* Add build/include_what_you_use to cpplint checks * Fix all cpplint build/include_what_you_use issues
-
* Add cstdint and std::prefix to its symbols * Use int64_t in std::
-
* 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>
-
* Fix invalid callback calls for default_val Option function. the update adds a flag variable to control it, makes default_val exception safe and a template to convert from actual value types. * update readme and fix some compilation issues on older compilers * revert README.md with mistake erasures * Update README.md Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
* Adding CUDA build * Filter NVCC warning * Constexpr reword
-
* 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
-
* add an example where the name of the enum is printed through a stream output function, which subverted the checkTransformer conversion and prevented conversion of the enumeration. * add missing 'typename' * try a simpler version of the value_string using const reference for all overloads * use auto return type to match to_string return type in value_string * remove extra spaces
-
* 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
-
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
-
* 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
-
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
-
* 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
-
* Fix std::string_view support in transforming validators * Fix single header * Fix formatting * Be more careful * fix string_view test
-
* 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 transform and checkedTransform tests add Transformer and CheckedTransformer validators * Eliminate the Validator description string, some code cleanup add tests Make Validators a full Object and remove friend, move to descriptions instead of overriding type name. update validators to actually merge the type strings and use all validators in the type outputs rework join so it works without the start variable, allow some forwarding references in the validator types, some tests for non-copyable maps, and transforms merge the search function and enable use of member search function, make the pair adapters forwarding instead of copying * add a few more tests and documentation fix some gcc 4.7 issues and add a few more test cases and more parts of the README Work on ReadMe and add Bound validator to clamp values * updates to README.md * Add some more in TOC of README and fix style in Option.hpp
-
add some comments in readME about performance move operator[] to return const Option * Apply suggestions from code review Co-Authored-By: phlptp <top1@llnl.gov> update readme and add some IniTests and fix a bug from the tests add_flag_callback add a few tests to capture the different paths fix incorrectly updated CMAKE file, and add some subcommand test for option finding add disable_flag_override and work out some kinks in the find option functions add some more tests and fix a few bugs in as<> function for options Allow general flag types and default values, add shortcut notation for retrieving values
-
* add some notes about enums in the readme add some helpers tests for enumerations Add better enum support in the library * fix Helpers Test for Enums
-
* Adding first draft of mapping * IsMember now supports maps * Adding example, better Val combs, and cleanup * Reversing order of map, adding pair support * Check/Transform suppport for Validators * Adding enum tools from @phlptp, more tests
-
* Adding first draft of Sets Use IsMember now Using IsMember as backend for Set Non-const validator backend Move set tests to set Clearer inits * Drop shortcut Tighten up classes a bit for MSVC Check with GCC 4.8 too * Simpler templates, but more of them Dropping more type safety for older compilers Shortcut string set * Adding shortcut init Making g++ 4.7 docker image happy Fix Clang tidy issue with last commit Adding one more shortcut, adding a couple of tests * Dropping dual pointer versions of code * Smarter shortcut syntax * Adding slighly faster choices * Cleanup to make InMember simpler * Drop choices for now, adding some tests * ValidationError is now always the error from a validator * Support for other types of initializer lists, including enums * Factor out type utilities, single version of IsMember code * Adding a few tests for #224 * Minor cleanup for Validation Error * Adding tests, moved deprecated tests * Docs updates
-
Updates to the readme update the readme with some documentation add a few more tests to complete code coverage update with count strings in flags instead an array of strings for each count add the '!' shortcut notation. add some checks on the help output allow the false flag syntax to support --option{false} add a bool lexical cast to make everything consistent when converting to a bool. Moved a few functions around make the command line behave like the INI file wrt flags, flag options are allowed to process the value so `--flag=false` actually does the expected thing. Add functionality similar to click style argument that allow specifying a false flag that when used generates a false result on the flag.
-
* 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
-
* Split signed/unsigned parsing, add check if input is fully consumed, improve tests * Fix complex numbers parsing * Add check if input is fully consumed for double lexical_cast, improve tests * Add non-num non-string lexical_cast for parsable types, add tests * Style fixes from check-style * Some small fixes for corner case tests