#include std::optional TokenPool::unusedToken() { if (mTokenContainer.empty()) { return std::nullopt; } Token aOutputToken{mTokenContainer.front()}; mTokenContainer.pop(); return aOutputToken.text(); } void TokenPool::fillTokenSource(const std::string &iJsonPath) { mTokenContainer.emplace(Token(iJsonPath)); }