| 19 | // plus void* context idiom for exposing a callback. |
| 20 | |
| 21 | void read_input(const char* prompt, void (*cb)(void*, const char*), void* arg) |
| 22 | { |
| 23 | std::thread( |
| 24 | [prompt = std::string(prompt), cb, arg] |
| 25 | { |
| 26 | std::cout << prompt << ": "; |
| 27 | std::cout.flush(); |
| 28 | std::string line; |
| 29 | std::getline(std::cin, line); |
| 30 | cb(arg, line.c_str()); |
| 31 | }).detach(); |
| 32 | } |
| 33 | |
| 34 | //------------------------------------------------------------------------------ |
| 35 |
no test coverage detected