With win32 threads I have the straight forward `GetExitCodeThread()` that gives me the value which the thread function returned. I'm looking for something similar for `std::thread` (or boost threads)  

As I understand this can be done with futures but how exactly?