+/*
+ * argpar is a library which provides facilities for command-line
+ * argument parsing.
+ *
+ * Create a parsing iterator with argpar_iter_create(), then
+ * repeatedly call argpar_iter_next() to access the parsing results,
+ * until one of:
+ *
+ * * There are no more arguments.
+ *
+ * * The argument parser encounters an error (for example, an unknown
+ * option).
+ *
+ * * You need to stop.
+ *
+ * The argpar parser parses the original arguments `argv` of which the
+ * count is `argc` using the sentinel-terminated (use
+ * `ARGPAR_OPT_DESCR_SENTINEL`) option descriptor array `descrs`.
+ *
+ * argpar considers ALL the elements of `argv`, including the first one,
+ * so that you would typically pass `argc - 1` and `&argv[1]` from what
+ * main() receives.
+ *
+ * The argpar parser supports:
+ *
+ * * Short options without an argument, possibly tied together:
+ *
+ * -f -auf -n
+ *
+ * * Short options with argument:
+ *
+ * -b 45 -f/mein/file -xyzhello
+ *
+ * * Long options without an argument:
+ *
+ * --five-guys --burger-king --pizza-hut --subway
+ *
+ * * Long options with arguments:
+ *
+ * --security enable --time=18.56
+ *
+ * * Non-option arguments (anything else).
+ *
+ * The argpar parser parses `-` and `--` as non-option arguments. A
+ * non-option argument cannot have the form of an option, for example if
+ * you need to pass the exact relative path `--component`. In that case,
+ * you would need to pass `./--component`. There's no generic way to
+ * escape `-` as of this version.
+ *
+ * argpar_iter_create() accepts duplicate options in `descrs` (it
+ * produces one item for each instance).
+ *
+ * A returned parsing item has the type `const struct argpar_item *`.
+ * Get the type (option or non-option) of an item with
+ * argpar_item_type(). Each item type has its set of dedicated methods
+ * (`argpar_item_opt_` and `argpar_item_non_opt_` prefixes).
+ *
+ * argpar_iter_next() produces the items in the same order that the
+ * original arguments were parsed, including non-option arguments. This
+ * means, for example, that for:
+ *
+ * --hello --count=23 /path/to/file -ab --type file magie
+ *
+ * argpar_iter_next() produces the following items, in this order:
+ *
+ * 1. Option item (`--hello`).
+ * 2. Option item (`--count` with argument `23`).
+ * 3. Non-option item (`/path/to/file`).
+ * 4. Option item (`-a`).
+ * 5. Option item (`-b`).
+ * 6. Option item (`--type` with argument `file`).
+ * 7. Non-option item (`magie`).
+ */
+