48QFileSystemNativeId QFileSystemIterator::nativeId()
const
54 return QFileSystemEngine::nativeId(dirfd(dir.get()));
58 return QFileSystemEngine::nativeId(
59 QFileSystemEntry(dirPath, QFileSystemEntry::FromInternalPath()));
63std::optional<QDirEntryInfo> QFileSystemIterator::advance()
65 auto asFileEntry = [
this](QStringView name) {
68 QString normalized = name.toString().normalized(QString::NormalizationForm_C);
71 return QFileSystemEntry(dirPath + name, QFileSystemEntry::FromInternalPath());
83 dirEntry = QT_READDIR(dir.get());
91 QByteArrayView name(dirEntry->d_name, strlen(dirEntry->d_name));
93 QVarLengthArray<
char16_t> buffer(name.size());
94 QStringDecoder toUtf16(QStringDecoder::Utf8);
95 auto *end = toUtf16.appendToBuffer(buffer.data(), name);
96 buffer.resize(end - buffer.constData());
97 if (!toUtf16.hasError()) {
98 QFileSystemMetaData metaData;
99 metaData.fillFromDirEnt(*dirEntry);
100 return QDirEntryInfo{asFileEntry(buffer), std::move(metaData)};