Réimplémentation de ResourceManager::getFiles() avec tri & fonctions C++11

This commit is contained in:
Mattéo Delabre 2016-04-20 23:16:57 +02:00
parent 192152ecc3
commit 14e4b045a6
1 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,5 @@
#include <iostream> #include <iostream>
#include <algorithm>
#include <utility> #include <utility>
#include "resource_manager.hpp" #include "resource_manager.hpp"
@ -27,15 +28,14 @@ std::vector<fs::path> ResourceManager::getFiles(fs::path path) const {
fs::recursive_directory_iterator dir(path), end; fs::recursive_directory_iterator dir(path), end;
std::vector<fs::path> result; std::vector<fs::path> result;
// on boucle sur tous les fichiers du dossier // récupération de la liste de tous les fichiers
// et de ses sous-dossiers et on les garde en mémoire // (et uniquement des fichiers, d'où le filtre)
while (dir != end) { std::copy_if(dir, end, std::back_inserter(result), [](fs::path path){
if (fs::is_regular_file(dir->path())) { return fs::is_regular_file(path);
result.push_back(dir->path()); });
}
++dir; // tri par ordre alphabétique
} std::sort(result.begin(), result.end());
return result; return result;
} }