Повышение чтения::multiprecision::cpp_int от istream
Я пытаюсь прочитать значения boost::mutiprecision cpp_int из istream и его неожиданно вызывающих исключений. Вот моя тестовая программа:
#include <boost/multiprecision/cpp_int.hpp>
int main() {
boost::multiprecision::cpp_int v;
while(std::cin >> v) {
std::cout << v << std::endl;
}
}
это должно прочитать числа и распечатать их, пока что-то не число не будет на входе. Тем не менее, если есть когда-либо нецифровый, непробельный символ, я получаю:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
what(): Unexpected character encountered in input.
Aborted (core dumped)
хуже того, это происходит перед чтением последнего числа, если за последним номером не следует пробел, поэтому я не могу просто перехватить исключение и проигнорировать его.
Как я могу получить целочисленный ввод boost:: multiprecision?