46QFileSystemNativeId QFileSystemIterator::nativeId()
const
52 return QFileSystemEngine::nativeId(dirfd(dir.get()));
56 return QFileSystemEngine::nativeId(
57 QFileSystemEntry(dirPath, QFileSystemEntry::FromInternalPath()));
61std::optional<QDirEntryInfo> QFileSystemIterator::advance()
63 auto asFileEntry = [
this](QStringView name) {
66 QString normalized = name.toString().normalized(QString::NormalizationForm_C);
69 return QFileSystemEntry(dirPath + name, QFileSystemEntry::FromInternalPath());
81 dirEntry = QT_READDIR(dir.get());
89 QByteArrayView name(dirEntry->d_name, strlen(dirEntry->d_name));
91 QVarLengthArray<
char16_t> buffer(name.size());
92 QStringDecoder toUtf16(QStringDecoder::Utf8);
93 auto *end = toUtf16.appendToBuffer(buffer.data(), name);
94 buffer.resize(end - buffer.constData());
95 if (!toUtf16.hasError()) {
96 QFileSystemMetaData metaData;
97 metaData.fillFromDirEnt(*dirEntry);
98 return QDirEntryInfo{asFileEntry(buffer), std::move(metaData)};