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