Réimplémentation de ResourceManager::getFiles() avec tri & fonctions C++11
This commit is contained in:
parent
192152ecc3
commit
14e4b045a6
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue