Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-06-26 | If --std option value is c++11 or later then generate 'noexcept' instead of ↵ | Karen Arutyunov | 1 | -17/+21 | |
'throw()' for exception types member functions | |||||
2023-03-20 | Add support for std::multimap | Karen Arutyunov | 1 | -0/+64 | |
2022-06-30 | Add support for using bool with std::vector, std::set, and std::map | Karen Arutyunov | 1 | -7/+37 | |
2021-09-10 | Add multi-argument grouping support in group_scanner | Boris Kolpackov | 1 | -47/+124 | |
2021-08-03 | Add support for tracking argument/option position | Boris Kolpackov | 1 | -4/+71 | |
The scanner interface now provides the position() function that returns a monotonically-increasing number which, if stored, can later be used to determine the relative position of the arguments. There is also now a parser implementation for std::pair<T, std::size_t> which parses the value T into the first half of the pair and stores the option position in the second half. Together, this can be used to establish the relative position of different options, for example: class options { std::vector<std::pair<std::uint64_t, std::size>> --config-id; std::vector<std::pair<std::string, std::size>> --config-name; }; cli::argv_scanner scan (argc, argv); options ops (scan); // Iterate over --config-id and --config-name options in the order // specified by the user. // auto ii (ops.config_id ().begin ()); auto ni (ops.config_name ().begin ()); for (size_t i (0), n (scan.position ()); i != n; ++i) { if (ii != ops.config_id ().end () && ii->second == i) { // Handle *ii. ++ii; } if (ni != ops.config_name ().end () && ni->second == i) { // Handle *ni. ++ni; } } | |||||
2020-12-08 | Complete options file path using referencing file path as base | Karen Arutyunov | 1 | -2/+17 | |
2020-09-12 | Fix generated set and map parsers so that comparison predicate can also be ↵ | Karen Arutyunov | 1 | -13/+13 | |
specified | |||||
2020-06-19 | Fix misleading indentation | Boris Kolpackov | 1 | -2/+2 | |
2020-05-28 | Get rid of trailing spaces in generated code | Boris Kolpackov | 1 | -1/+5 | |
2020-04-27 | Separate tests and examples into individual packages | Karen Arutyunov | 1 | -0/+1052 | |
Also make cli module to be explicitly enabled via the config.cli configuration variable. |