Error reporting. Figure out a way to handle errors in a useful manner and report that information back to the developer. This is probably the second most soul crushing endeavor in all of programming.
How so? This sounds like a simple case of using continuations. If something odd happens, call the callback. The user code can then decide what to do; either continue the computation, abort it, or do something else.
(BTW, about Qt being the most elegant library... does it still require "moc"? If so, that's not exactly elegant; at best it's a horrible hack, at worst, Qt is a programming language that compiles to C++. Neither are particularly elegant.)
How so? This sounds like a simple case of using continuations. If something odd happens, call the callback. The user code can then decide what to do; either continue the computation, abort it, or do something else.
(BTW, about Qt being the most elegant library... does it still require "moc"? If so, that's not exactly elegant; at best it's a horrible hack, at worst, Qt is a programming language that compiles to C++. Neither are particularly elegant.)