#include class ThreadPool { public: template static void FireAndForget(TFunction&& f, TArgs&&... args) { // todo - find a way to use std::async here so we can utilize thread pooling? std::thread t(std::forward(f), std::forward(args)...); t.detach(); } };