stl: представить 1 файл как директорию (совокупность файлов)
Подскажите как с помощью std::filesystem реализовать следующий алгоритм:
мне требуется обработать 1 файл или папку с файлами (без рекурсивного обхода подпапок) одним и тем же алгоритмом
сейчас это сделано так:
if (std::filesystem::is_directory(params->m_src))
{
for (const auto& entry : std::filesystem::directory_iterator(params->m_src))
{
// получить имя файла
const std::string path = entry.path().string();
// сформировать имя выходной папки
const std::string output = params->m_dst + "\\" + entry.path().stem().string() + "\\";
// обработать данные
}
}
else
{
// получить имя файла
const std::string path = params->m_src;
// сформировать имя выходной папки
const std::string output = params->m_dst + "\\" + std::filesystem::path(path).stem().string() + "\\";
// обработать данные
}
по сути код по большей части дублируется и хотелось бы сделать все через один и тот же код, где 1 файл просто превратить в объект директорию, содержащий 1 файл, т.е. что-то на подобии:
for (const auto& entry : (std::filesystem::is_directory(params->m_src)) ? std::filesystem::directory_iterator(params->m_src) : std::filesystem::xxx(params->m_src))
{
// получить имя файла
const std::string path = entry.path().string();
// сформировать имя выходной папки
const std::string output = params->m_dst + "\\" + entry.path().stem().string() + "\\";
// обработать данные
}
Подскажите, возможно ли такое и как такой подход можно реализовать?