ralpha-assets/Plugins/CesiumForUnreal/Source/ThirdParty/include/CesiumAsync/ITaskProcessor.h

30 lines
635 B
C++

#pragma once
#include <CesiumAsync/Library.h>
#include <functional>
namespace CesiumAsync {
/**
* @brief When implemented by a rendering engine, allows tasks to be
* asynchronously executed in background threads.
*
* Not supposed to be used by clients.
*/
class ITaskProcessor {
public:
/**
* @brief Default destructor
*/
virtual ~ITaskProcessor() = default;
/**
* @brief Starts a task that executes the given function in a background
* thread.
*
* @param f The function to execute
*/
virtual void startTask(std::function<void()> f) = 0;
};
} // namespace CesiumAsync