Internal parse function
| 6698 | } |
| 6699 | /// Internal parse function |
| 6700 | void _parse(std::vector<std::string> &args) { |
| 6701 | increment_parsed(); |
| 6702 | _trigger_pre_parse(args.size()); |
| 6703 | bool positional_only = false; |
| 6704 | |
| 6705 | while (!args.empty()) { |
| 6706 | if (!_parse_single(args, positional_only)) { |
| 6707 | break; |
| 6708 | } |
| 6709 | } |
| 6710 | |
| 6711 | if (parent_ == nullptr) { |
| 6712 | _process(); |
| 6713 | |
| 6714 | // Throw error if any items are left over (depending on settings) |
| 6715 | _process_extras(args); |
| 6716 | |
| 6717 | // Convert missing (pairs) to extras (string only) ready for processing in another app |
| 6718 | args = remaining_for_passthrough(false); |
| 6719 | } else if (parse_complete_callback_) { |
| 6720 | _process_env(); |
| 6721 | _process_callbacks(); |
| 6722 | _process_help_flags(); |
| 6723 | _process_requirements(); |
| 6724 | run_callback(); |
| 6725 | } |
| 6726 | } |
| 6727 | |
| 6728 | /// Internal parse function |
| 6729 | void _parse(std::vector<std::string> &&args) { |
no test coverage detected