7#if !defined(AWS_EXECUTOR_H)
10#include <aws/core/Core_EXPORTS.h>
32 template<
class Fn,
class ... Args>
33 bool Submit(Fn&& fn, Args&& ... args)
35 std::function<void()> callable{ std::bind(std::forward<Fn>(fn), std::forward<Args>(args)...) };
36 return SubmitToThread(std::move(callable));
40 bool Submit(std::function<
void()>&& callable)
42 return SubmitToThread(std::move(callable));
62#include <aws/core/utils/threading/DefaultExecutor.h>
63#include <aws/core/utils/threading/PooledThreadExecutor.h>
bool Submit(Fn &&fn, Args &&... args)
bool Submit(std::function< void()> &&callable)
virtual bool SubmitToThread(std::function< void()> &&)=0
virtual ~Executor()=default
virtual void WaitUntilStopped()