Почему бы не вернуть promise?
я писал, что я недостаточно силён в c++, ну и тот же dir_content может иметь размер 1000+ элементов, и если я правильно понимаю, то в таком случае не будет создавать локальная копия в функции которая это принимает и это должно ускорить. Поправьте если я не прав.