- template<typename F> 
- auto run_in_background(F && f) -> std::future<decltype(f())> 
- { 
-     std::packaged_task<F> t(f); // doesn't compile, I think I need to decompose F into "Ret(Args...)" somehow. 
-     auto future = t.get_future(); 
-     // ... 
-     return future; 
- } 
				dGVtcGxhdGU8dHlwZW5hbWUgRj4KYXV0byBydW5faW5fYmFja2dyb3VuZChGICYmIGYpIC0+IHN0ZDo6ZnV0dXJlPGRlY2x0eXBlKGYoKSk+CnsKICAgIHN0ZDo6cGFja2FnZWRfdGFzazxGPiB0KGYpOyAvLyBkb2Vzbid0IGNvbXBpbGUsIEkgdGhpbmsgSSBuZWVkIHRvIGRlY29tcG9zZSBGIGludG8gIlJldChBcmdzLi4uKSIgc29tZWhvdy4KICAgIGF1dG8gZnV0dXJlID0gdC5nZXRfZnV0dXJlKCk7CiAgICAvLyAuLi4KICAgIHJldHVybiBmdXR1cmU7Cn0=