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 <algorithm> | ||||
| #include <utility> | ||||
| #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; | ||||
|     std::vector<fs::path> result; | ||||
| 
 | ||||
|     // on boucle sur tous les fichiers du dossier
 | ||||
|     // et de ses sous-dossiers et on les garde en mémoire
 | ||||
|     while (dir != end) { | ||||
|         if (fs::is_regular_file(dir->path())) { | ||||
|             result.push_back(dir->path()); | ||||
|         } | ||||
|     // récupération de la liste de tous les fichiers
 | ||||
|     // (et uniquement des fichiers, d'où le filtre)
 | ||||
|     std::copy_if(dir, end, std::back_inserter(result), [](fs::path path){ | ||||
|         return fs::is_regular_file(path); | ||||
|     }); | ||||
| 
 | ||||
|         ++dir; | ||||
|     } | ||||
|     // tri par ordre alphabétique
 | ||||
|     std::sort(result.begin(), result.end()); | ||||
| 
 | ||||
|     return result; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue