Riyyi
592ee124cb
Manager: Do not print debugging output on release mode
2022-01-31 20:42:17 +01:00
Riyyi
3efe74582f
Util: Add ArgParser missing argument error message
2021-09-13 19:54:59 +02:00
Riyyi
bb29919f02
Util: Simplify the logic of the long option parsing function
2021-09-13 17:42:34 +02:00
Riyyi
2ac6d24520
Util: Add type error messages to ArgParser option arguments
2021-09-13 16:19:49 +02:00
Riyyi
648c0f8c85
Util: Rename ArgParser error types
2021-09-13 15:22:12 +02:00
Riyyi
35e2c2de48
Util: Rename printOptionError -> printError
2021-09-13 15:17:37 +02:00
Riyyi
ffcde408e1
Util: Add invalid argument type error message to ArgParser
2021-09-13 12:04:44 +02:00
Riyyi
9c918c6555
Util: Add ArgParser unhandled argument error type and messages
2021-09-13 04:04:02 +02:00
Riyyi
a5d5d2ea6d
Util: Fix nullptr derefencing
...
In order to compare strings, the STL has to dereference the data
pointer. So check if its not a nullptr first.
2021-09-13 03:59:51 +02:00
Riyyi
7759821b13
Util: Fix string_view substring selection
...
Unlike std::basic_string::data() and string literals, data() may return
a pointer to a buffer that is not null-terminated. Therefore it is
typically a mistake to pass data() to a routine that takes just a const
CharT* and expects a null-terminated string.
The bug was calling string_view .data() after calling substr() that ends
before the null terminator, as it will just return the entire
string_view.
2021-09-13 00:58:51 +02:00
Riyyi
b6bfcbdc33
Util: Support for optional arguments in ArgParser
2021-09-09 15:14:17 +02:00
Riyyi
ca95ef1cf1
Util: Add simple validation to ArgParser number conversions
2021-09-09 12:30:45 +02:00
Riyyi
6efa314c38
Util: Move ArgParser private function implementations to the bottom
2021-09-09 11:44:44 +02:00
Riyyi
4e30b58305
Util: Switch ArgParser option/argument creation to list initialization
2021-09-09 11:40:13 +02:00
Riyyi
0fffa86ba0
Util: Deduplicate ArgParser accept value lambdas
2021-09-09 11:23:13 +02:00
Riyyi
9cecb8602f
Util: Add more ArgParser argument types
2021-09-09 00:12:06 +02:00
Riyyi
67fd31a746
Util: Add argument parsing to ArgParser
2021-09-08 23:46:10 +02:00
Riyyi
dc4fcc10ce
Util+Test: Implement exit on first error in main ArgParser loop
2021-09-07 18:14:14 +02:00
Riyyi
f021cf0e15
Util: Fix parsing for exit on first error setting
2021-09-07 00:54:16 +02:00
Riyyi
3f1ced53f6
Util: Rename variable to plural
2021-09-07 00:20:29 +02:00
Riyyi
f92b75a463
Util+Test: Add setting to stop parsing on first non-option
2021-09-06 20:37:39 +02:00
Riyyi
a70d67f8fa
Util: Don't try to parse a '--' parameter
2021-09-06 14:43:12 +02:00
Riyyi
072d805344
Util+Test: Add more ArgParser option types
2021-09-06 12:22:30 +02:00
Riyyi
98dec3e51a
Util: Handle accepting values return state in ArgParser
2021-09-06 12:17:12 +02:00
Riyyi
1366bf14b1
Util+Test: Change size_type to size_t
...
The specialized size_type type is just an alias for size_t.
2021-09-06 01:59:08 +02:00
Riyyi
68cdd625b4
Util+Test: Add parsing of multi-value options
2021-09-06 00:08:04 +02:00
Riyyi
a5c422a2cc
Util+Test: Add support for '--' to enable non-option mode
2021-09-05 23:39:08 +02:00
Riyyi
04482fb10d
Util: Return the result of the option parsing
2021-09-05 22:56:34 +02:00
Riyyi
8a1fb689bd
Initial commit
2021-09-04 21:12:20 +02:00