• * 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>
    Philip Top authored
     
    Browse File »






  • 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.
    Philip Top authored
     
    Browse File »

  • * 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.
    Philip Top authored
     
    Browse File »

  • * 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>
    Philip Top authored
     
    Browse File »



  • * 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
    Philip Top authored
     
    Browse File »



  • * 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>
    Christoph Bachhuber authored
     
    Browse File »

  • * 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>
    Philip Top authored
     
    Browse File »



  • * 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
    Philip Top authored
     
    Browse File »

  • * fix some warnings generated from klocwork static analyzer
    
    * Some more visual studio static analyzer and clang-tidy fixes
    
    * some formatting updates
    Philip Top authored
     
    Browse File »
  • * 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
    Philip Top authored
     
    Browse File »

  • * 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
    Philip Top authored
     
    Browse File »

  • 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
    Philip Top authored
     
    Browse File »

  • * 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
    Philip Top authored
     
    Browse File »

  • 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
    Philip Top authored
     
    Browse File »

  • * 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
    Philip Top authored
     
    Browse File »


  • * 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)
    Henry Schreiner authored
     
    Browse File »

  • * 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
    Philip Top authored
     
    Browse File »

  • 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
    Philip Top authored
     
    Browse File »


  • * 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
    Henry Schreiner authored
     
    Browse File »

  • 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.
    Philip Top authored
     
    Browse File »





  • * 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
    Henry Schreiner authored
     
    Browse File »