diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2016-11-29 18:08:00 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2016-11-29 18:08:00 -0800 |
| commit | 0b996a002ec6d90d8a132e7603553b60b332c9fe (patch) | |
| tree | 2d874f10e7b196643f59b06ec424c44a762b5e66 /toolsrc/src/vcpkg_Files.cpp | |
| parent | 0da18a3d53cebe3e4664c260604a01703f06157b (diff) | |
| download | vcpkg-0b996a002ec6d90d8a132e7603553b60b332c9fe.tar.gz vcpkg-0b996a002ec6d90d8a132e7603553b60b332c9fe.zip | |
[Files] Add functions to get all files of a dir recursively or non-recursively
Diffstat (limited to 'toolsrc/src/vcpkg_Files.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_Files.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg_Files.cpp b/toolsrc/src/vcpkg_Files.cpp index 42e815cc2..bb34915d7 100644 --- a/toolsrc/src/vcpkg_Files.cpp +++ b/toolsrc/src/vcpkg_Files.cpp @@ -73,4 +73,34 @@ namespace vcpkg {namespace Files recursive_find_files_with_extension_in_dir(dir, extension, &v); return v; } + + void recursive_find_all_files_in_dir(const fs::path& dir, std::vector<fs::path>* output) + { + recursive_find_matching_paths_in_dir(dir, [&](const fs::path& current) + { + return !fs::is_directory(current); + }, output); + } + + std::vector<fs::path> recursive_find_all_files_in_dir(const fs::path& dir) + { + std::vector<fs::path> v; + recursive_find_all_files_in_dir(dir, &v); + return v; + } + + void non_recursive_find_all_files_in_dir(const fs::path& dir, std::vector<fs::path>* output) + { + non_recursive_find_matching_paths_in_dir(dir, [&](const fs::path& current) + { + return !fs::is_directory(current); + }, output); + } + + std::vector<fs::path> non_recursive_find_all_files_in_dir(const fs::path& dir) + { + std::vector<fs::path> v; + non_recursive_find_all_files_in_dir(dir, &v); + return v; + } }} |
