64 virtual const char*
what()
const throw() {
return "FutureThreadError\n";}
68 virtual const char*
what()
const throw() {
return "FutureWhenError\n";}
344 std::unique_ptr<Cgu::Thread::Thread> thread_u;
345 std::unique_ptr<Cgu::Callback::Callback> cb_u;
355 template <
class T,
class Ret,
class... Args>
356 void run_wrapper(T*, Ret (T::*)(Args...),
const Args&...);
358 template <
class T,
class Ret,
class... Args>
359 void run_wrapper_const(
const T*, Ret (T::*)(Args...)
const,
const Args&...);
361 template <
class Ret,
class... Args>
362 void run_wrapper_static(Ret (*)(Args...),
const Args&...);
364 void run_wrapper_func(
const std::function<Val(
void)>&);
366 void cancel_cleanup();
370 gint, GMainContext*);
373 gint, GMainContext*);
383 Future(): val(), done(
false), running(
false), error(
false), emitter_error(
false) {}
415 template <
class Ret,
class T>
435 template <
class Ret,
class Param1,
class Arg1,
class T>
437 Ret (T::*func)(Param1),
456 template <
class Ret,
class Param1,
class Param2,
class Arg1,
class Arg2,
class T>
458 Ret (T::*func)(Param1, Param2),
478 template <
class Ret,
class Param1,
class Param2,
class Param3,
479 class Arg1,
class Arg2,
class Arg3,
class T>
481 Ret (T::*func)(Param1, Param2, Param3),
501 template <
class Ret,
class T>
503 Ret (T::*func)()
const);
521 template <
class Ret,
class Param1,
class Arg1,
class T>
523 Ret (T::*func)(Param1)
const,
542 template <
class Ret,
class Param1,
class Param2,
class Arg1,
class Arg2,
class T>
544 Ret (T::*func)(Param1, Param2)
const,
564 template <
class Ret,
class Param1,
class Param2,
class Param3,
565 class Arg1,
class Arg2,
class Arg3,
class T>
567 Ret (T::*func)(Param1, Param2, Param3)
const,
606 template <
class Ret,
class Param1,
class Arg1>
626 template <
class Ret,
class Param1,
class Param2,
class Arg1,
class Arg2>
647 template <
class Ret,
class Param1,
class Param2,
class Param3,
648 class Arg1,
class Arg2,
class Arg3>
670 template <
class Ret,
class Param1,
class Param2,
class Param3,
class Param4,
671 class Arg1,
class Arg2,
class Arg3,
class Arg4>
1010 gint priority = G_PRIORITY_DEFAULT,
1011 GMainContext* context = 0);
1117 gint priority = G_PRIORITY_DEFAULT,
1118 GMainContext* context = 0);
1212 GMainContext* context = 0);
1271 GMainContext* context = 0);
1426 template <
class Obj,
class Ret,
class... Params,
class... Args>
1428 Ret (Obj::*func)(Params...),
1452 template <
class Obj,
class Ret,
class... Params,
class... Args>
1454 Ret (Obj::*func)(Params...)
const,
1478 template <
class Ret,
class... Params,
class... Args>
1503 template <
class Ret>
1527 template <
class Ret>
1536 #include <c++-gtk-utils/future.tpp>