// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include "cppeditor_global.h" #include #include #include #include #include namespace CppEditor { class CPPEDITOR_EXPORT WorkingCopy { public: WorkingCopy(); void insert(const Utils::FilePath &fileName, const QByteArray &source, unsigned revision = 0) { _elements.insert(fileName, {source, revision}); } std::optional source(const Utils::FilePath &fileName) const; unsigned revision(const Utils::FilePath &fileName) const { return _elements.value(fileName).second; } std::optional> get(const Utils::FilePath &fileName) const; using Table = QHash >; const Table &elements() const { return _elements; } int size() const { return _elements.size(); } private: Table _elements; }; } // CppEditor