feat: introduce reference return, accumulators. chore: lint

This commit is contained in:
2026-05-12 11:38:46 +04:00
parent 21ca1f638b
commit b8e9f5c98c
16 changed files with 730 additions and 267 deletions

View File

@@ -6,13 +6,13 @@
#define MACOS_GETARGS_LOOP(argc_name, argv_name, before_for, for_body) \
do { \
const int argc_name = *_NSGetArgc(); \
if (char **argv_name = *_NSGetArgv(); argc_name > 0 && argv_name != nullptr && argv_name[0] != nullptr) { \
const int (argc_name) = *_NSGetArgc(); \
if (char **(argv_name) = *_NSGetArgv(); (argc_name) > 0 && (argv_name) != nullptr && (argv_name)[0] != nullptr) { \
do { \
before_for; \
(before_for); \
} while (false); \
for (int i = 1; i < argc_name; ++i) { \
for_body \
for (int i = 1; i < (argc_name); ++i) { \
{for_body} \
} \
} \
} while (false)
@@ -26,7 +26,7 @@ namespace argument_parser {
}
namespace v2 {
macos_parser::macos_parser(bool should_exit) {
macos_parser::macos_parser(const bool should_exit) {
MACOS_GETARGS_LOOP(argc, argv, set_program_name(argv[0]), {
if (argv[i] != nullptr)
ref_parsed_args().emplace_back(argv[i]);