MCPcopy Create free account
hub / github.com/NVIDIA-RTX/Donut / enumerateFiles

Method enumerateFiles

src/app/MediaFileSystem.cpp:129–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127}
128
129int MediaFileSystem::enumerateFiles(const std::filesystem::path& path, const std::vector<std::string>& extensions, enumerate_callback_t callback, bool allowDuplicates)
130{
131 int numRawResults = 0;
132 std::unordered_set<std::string> resultSet;
133 for (const auto& fs : m_FileSystems)
134 {
135 if (allowDuplicates)
136 {
137 int result = fs->enumerateFiles(path, extensions, callback, true);
138 if (result >= 0)
139 numRawResults += result;
140 }
141 else
142 {
143 fs->enumerateFiles(path, extensions,
144 [&resultSet](std::string_view name)
145 {
146 resultSet.insert(std::string(name));
147 }, true);
148 }
149 }
150
151 if (!allowDuplicates)
152 {
153 // pass the deduplicated names to the caller
154 std::for_each(resultSet.begin(), resultSet.end(), callback);
155 return int(resultSet.size());
156 }
157
158 return numRawResults;
159}
160
161int MediaFileSystem::enumerateDirectories(const std::filesystem::path& path, enumerate_callback_t callback, bool allowDuplicates)
162{

Callers 2

FindScenesMethod · 0.45
MediaFileSystemMethod · 0.45

Calls 3

beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected