diff options
feat: Add helper input function
1 files changed, 25 insertions, 0 deletions
| -rw-r--r-- | src/cli.hpp | 25 |
diff --git a/src/cli.hpp b/src/cli.hpp new file mode 100644 index 0000000..9a2ca64 --- /dev/null +++ b/src/cli.hpp @@ -0,0 +1,25 @@ +#ifndef GS_CLI +#define GS_CLI + +#include <iostream> +#include <limits> + +namespace cli { + template <typename T> + void readUserInput(T& outValue, const char* enter_message, const char* error_message) { + do { + std::cout << enter_message; + std::cin >> outValue; + if (std::cin.fail()) { + std::cerr << error_message << std::endl; + + std::cin.clear(); + std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); + continue; + } + break; + } while (true); + } +} + +#endif /* GS_CLI */ |