xref: /aosp_15_r20/external/armnn/third-party/cxxopts/CHANGELOG.md (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker# Changelog
2*89c4ff92SAndroid Build Coastguard Worker
3*89c4ff92SAndroid Build Coastguard WorkerThis is the changelog for `cxxopts`, a C++11 library for parsing command line
4*89c4ff92SAndroid Build Coastguard Workeroptions. The project adheres to semantic versioning.
5*89c4ff92SAndroid Build Coastguard Worker
6*89c4ff92SAndroid Build Coastguard Worker## 3.0
7*89c4ff92SAndroid Build Coastguard Worker
8*89c4ff92SAndroid Build Coastguard Worker### Changed
9*89c4ff92SAndroid Build Coastguard Worker
10*89c4ff92SAndroid Build Coastguard Worker* Only search for a C++ compiler in CMakeLists.txt.
11*89c4ff92SAndroid Build Coastguard Worker* Allow for exceptions to be disabled.
12*89c4ff92SAndroid Build Coastguard Worker* Fix duplicate default options when there is a short and long option.
13*89c4ff92SAndroid Build Coastguard Worker* Add `CXXOPTS_NO_EXCEPTIONS` to disable exceptions.
14*89c4ff92SAndroid Build Coastguard Worker* Fix char parsing for space and check for length.
15*89c4ff92SAndroid Build Coastguard Worker* Change argument type in `Options::parse` from `char**` to `const char**`.
16*89c4ff92SAndroid Build Coastguard Worker* Refactor parser to not change its arguments.
17*89c4ff92SAndroid Build Coastguard Worker* `ParseResult` doesn't depend on a reference to the parser.
18*89c4ff92SAndroid Build Coastguard Worker
19*89c4ff92SAndroid Build Coastguard Worker### Added
20*89c4ff92SAndroid Build Coastguard Worker
21*89c4ff92SAndroid Build Coastguard Worker* A list of unmatched arguments is available in `ParseResult`.
22*89c4ff92SAndroid Build Coastguard Worker
23*89c4ff92SAndroid Build Coastguard Worker## 2.2
24*89c4ff92SAndroid Build Coastguard Worker
25*89c4ff92SAndroid Build Coastguard Worker### Changed
26*89c4ff92SAndroid Build Coastguard Worker
27*89c4ff92SAndroid Build Coastguard Worker* Allow integers to have leading zeroes.
28*89c4ff92SAndroid Build Coastguard Worker* Build the tests by default.
29*89c4ff92SAndroid Build Coastguard Worker* Don't check for container when showing positional help.
30*89c4ff92SAndroid Build Coastguard Worker
31*89c4ff92SAndroid Build Coastguard Worker### Added
32*89c4ff92SAndroid Build Coastguard Worker
33*89c4ff92SAndroid Build Coastguard Worker* Iterator inputs to `parse_positional`.
34*89c4ff92SAndroid Build Coastguard Worker* Throw an exception if the option in `parse_positional` doesn't exist.
35*89c4ff92SAndroid Build Coastguard Worker* Parse a delimited list in a single argument for vector options.
36*89c4ff92SAndroid Build Coastguard Worker* Add an option to disable implicit value on booleans.
37*89c4ff92SAndroid Build Coastguard Worker
38*89c4ff92SAndroid Build Coastguard Worker### Bug Fixes
39*89c4ff92SAndroid Build Coastguard Worker
40*89c4ff92SAndroid Build Coastguard Worker* Fix a warning about possible loss of data.
41*89c4ff92SAndroid Build Coastguard Worker* Fix version numbering in CMakeLists.txt
42*89c4ff92SAndroid Build Coastguard Worker* Remove unused declaration of the undefined `ParseResult::get_option`.
43*89c4ff92SAndroid Build Coastguard Worker* Throw on invalid option syntax when beginning with a `-`.
44*89c4ff92SAndroid Build Coastguard Worker* Throw in `as` when option wasn't present.
45*89c4ff92SAndroid Build Coastguard Worker* Fix catching exceptions by reference.
46*89c4ff92SAndroid Build Coastguard Worker* Fix out of bounds errors parsing integers.
47*89c4ff92SAndroid Build Coastguard Worker
48*89c4ff92SAndroid Build Coastguard Worker## 2.1.1
49*89c4ff92SAndroid Build Coastguard Worker
50*89c4ff92SAndroid Build Coastguard Worker### Bug Fixes
51*89c4ff92SAndroid Build Coastguard Worker
52*89c4ff92SAndroid Build Coastguard Worker* Revert the change adding `const` type for `argv`, because most users expect
53*89c4ff92SAndroid Build Coastguard Worker  to pass a non-const `argv` from `main`.
54*89c4ff92SAndroid Build Coastguard Worker
55*89c4ff92SAndroid Build Coastguard Worker## 2.1
56*89c4ff92SAndroid Build Coastguard Worker
57*89c4ff92SAndroid Build Coastguard Worker### Changed
58*89c4ff92SAndroid Build Coastguard Worker
59*89c4ff92SAndroid Build Coastguard Worker* Options with implicit arguments now require the `--option=value` form if
60*89c4ff92SAndroid Build Coastguard Worker  they are to be specified with an option. This is to remove the ambiguity
61*89c4ff92SAndroid Build Coastguard Worker  when a positional argument could follow an option with an implicit value.
62*89c4ff92SAndroid Build Coastguard Worker  For example, `--foo value`, where `foo` has an implicit value, will be
63*89c4ff92SAndroid Build Coastguard Worker  parsed as `--foo=implicit` and a positional argument `value`.
64*89c4ff92SAndroid Build Coastguard Worker* Boolean values are no longer special, but are just an option with a default
65*89c4ff92SAndroid Build Coastguard Worker  and implicit value.
66*89c4ff92SAndroid Build Coastguard Worker
67*89c4ff92SAndroid Build Coastguard Worker### Added
68*89c4ff92SAndroid Build Coastguard Worker
69*89c4ff92SAndroid Build Coastguard Worker* Added support for `std::optional` as a storage type.
70*89c4ff92SAndroid Build Coastguard Worker* Allow the help string to be customised.
71*89c4ff92SAndroid Build Coastguard Worker* Use `const` for the type in the `argv` parameter, since the contents of the
72*89c4ff92SAndroid Build Coastguard Worker  arguments is never modified.
73*89c4ff92SAndroid Build Coastguard Worker
74*89c4ff92SAndroid Build Coastguard Worker### Bug Fixes
75*89c4ff92SAndroid Build Coastguard Worker
76*89c4ff92SAndroid Build Coastguard Worker* Building against GCC 4.9 was broken due to overly strict shadow warnings.
77*89c4ff92SAndroid Build Coastguard Worker* Fixed an ambiguous overload in the `parse_positional` function when an
78*89c4ff92SAndroid Build Coastguard Worker  `initializer_list` was directly passed.
79*89c4ff92SAndroid Build Coastguard Worker* Fixed precedence in the Boolean value regex.
80*89c4ff92SAndroid Build Coastguard Worker
81*89c4ff92SAndroid Build Coastguard Worker## 2.0
82*89c4ff92SAndroid Build Coastguard Worker
83*89c4ff92SAndroid Build Coastguard Worker### Changed
84*89c4ff92SAndroid Build Coastguard Worker
85*89c4ff92SAndroid Build Coastguard Worker* `Options::parse` returns a ParseResult rather than storing the parse
86*89c4ff92SAndroid Build Coastguard Worker  result internally.
87*89c4ff92SAndroid Build Coastguard Worker* Options with default values now get counted as appearing once if they
88*89c4ff92SAndroid Build Coastguard Worker  were not specified by the user.
89*89c4ff92SAndroid Build Coastguard Worker
90*89c4ff92SAndroid Build Coastguard Worker### Added
91*89c4ff92SAndroid Build Coastguard Worker
92*89c4ff92SAndroid Build Coastguard Worker* A new `ParseResult` object that is the immutable result of parsing. It
93*89c4ff92SAndroid Build Coastguard Worker  responds to the same `count` and `operator[]` as `Options` of 1.x did.
94*89c4ff92SAndroid Build Coastguard Worker* The function `ParseResult::arguments` returns a vector of the parsed
95*89c4ff92SAndroid Build Coastguard Worker  arguments to iterate through in the order they were provided.
96*89c4ff92SAndroid Build Coastguard Worker* The symbol `cxxopts::version` for the version of the library.
97*89c4ff92SAndroid Build Coastguard Worker* Booleans can be specified with various strings and explicitly set false.
98*89c4ff92SAndroid Build Coastguard Worker
99*89c4ff92SAndroid Build Coastguard Worker## 1.x
100*89c4ff92SAndroid Build Coastguard Worker
101*89c4ff92SAndroid Build Coastguard WorkerThe 1.x series was the first major version of the library, with release numbers
102*89c4ff92SAndroid Build Coastguard Workerstarting to follow semantic versioning, after 0.x being unstable.  It never had
103*89c4ff92SAndroid Build Coastguard Workera changelog maintained for it. Releases mostly contained bug fixes, with the
104*89c4ff92SAndroid Build Coastguard Workeroccasional feature added.
105