1 #pragma once 2 3 #include <mbgl/util/noncopyable.hpp> 4 5 #include <memory> 6 #include <functional> 7 8 namespace mbgl { 9 namespace util { 10 11 class AsyncTask : private util::noncopyable { 12 public: 13 AsyncTask(std::function<void()>&&); 14 ~AsyncTask(); 15 16 void send(); 17 18 private: 19 class Impl; 20 std::unique_ptr<Impl> impl; 21 }; 22 23 } // namespace util 24 } // namespace mbgl 25