| 23 | }; |
| 24 | |
| 25 | inline bool tryGetNextArgument(int argc, char *argv[], int ¤tIndex, std::string &value, std::string flag, bool printErrors = true) { |
| 26 | if (currentIndex + 1 >= argc) { |
| 27 | if (printErrors) |
| 28 | std::cout << "Error: No arguments provided for flag '" << flag << "'" << std::endl; |
| 29 | return false; |
| 30 | } |
| 31 | |
| 32 | std::string nextArgument = argv[currentIndex + 1]; |
| 33 | if (nextArgument.substr(0, 2) == "--") { |
| 34 | if (printErrors) |
| 35 | std::cout << "Error: No arguments provided for flag '" << flag << "'" << std::endl; |
| 36 | return false; |
| 37 | } |
| 38 | |
| 39 | value = argv[++currentIndex]; |
| 40 | return true; |
| 41 | }; |
| 42 | |
| 43 | inline bool parseArguments(int argc, char *argv[], CommandLineArguments &arguments) { |
| 44 | if (argc == 1) { |