forked from qt-creator/qt-creator
Utils: Add std::expected implementation
Adds a std::expected implementation that is compatible with >= C++11. FilePath::fileContents and FilePath::writeFileContents as well as FilePath::copyFile are changed to return std::expected. A couple of macros have been added to aid in using the expected types. An auto test was added showing how to use the library. Change-Id: Ibe3aecfc1029a0cf13b45bf5184ff03a04a2393b Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -75,7 +75,7 @@ static QJsonDocument readJsonFile(const FilePath &filePath)
|
||||
qCDebug(cmakeFileApi) << "readJsonFile:" << filePath;
|
||||
QTC_ASSERT(!filePath.isEmpty(), return {});
|
||||
|
||||
const std::optional<QByteArray> contents = filePath.fileContents();
|
||||
const expected_str<QByteArray> contents = filePath.fileContents();
|
||||
if (!contents)
|
||||
return {};
|
||||
const QJsonDocument doc = QJsonDocument::fromJson(*contents);
|
||||
|
||||
Reference in New Issue
Block a user