Summary Files Commits Branches @commit @diff @stats
path: root / src / cli.hpp
diff options
context:
space:
mode:
1 files changed, 13 insertions, 0 deletions
-rw-r--r--src/cli.hpp13
diff --git a/src/cli.hpp b/src/cli.hpp
index 21f2ae5..b7d4c30 100644
--- a/src/cli.hpp
+++ b/src/cli.hpp
@@ -3,6 +3,7 @@
#include <iostream>
#include <limits>
+#include <stdio.h>
namespace cli {
template <typename T>
@@ -29,6 +30,18 @@ namespace cli {
readUserInput(outValue, enter_message, error_message);
}
}
+
+ template <typename T, typename U>
+ void scanTwoValues(const char* format, T& outFirst, U& outSecond, const char* enter_message, const char* error_message) {
+ std::cout << enter_message;
+ while (scanf(format, &outFirst, &outSecond) != 2) {
+ std::cerr << error_message << std::endl;
+ std::cout << enter_message;
+
+ std::cin.clear();
+ std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
+ }
+ }
}
#endif /* GS_CLI */