18#ifndef AsyncCallbackProcessor_h__
19#define AsyncCallbackProcessor_h__
45 std::vector<T> updateCallbacks{ std::move(
_callbacks) };
47 updateCallbacks.erase(std::remove_if(updateCallbacks.begin(), updateCallbacks.end(), [](T& callback)
49 return callback.InvokeIfReady();
50 }), updateCallbacks.end());
52 _callbacks.insert(
_callbacks.end(), std::make_move_iterator(updateCallbacks.begin()), std::make_move_iterator(updateCallbacks.end()));
~AsyncCallbackProcessor()=default
std::vector< T > _callbacks
T & AddCallback(T &&query)
void ProcessReadyCallbacks()
AsyncCallbackProcessor & operator=(AsyncCallbackProcessor const &)=delete
AsyncCallbackProcessor()=default
AsyncCallbackProcessor(AsyncCallbackProcessor const &)=delete