2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2016 The Qt Company Ltd.
|
2023-01-04 08:52:22 +01:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
2010-03-17 12:34:29 +01:00
|
|
|
|
2016-03-18 07:55:01 +01:00
|
|
|
#pragma once
|
2010-03-17 12:34:29 +01:00
|
|
|
|
2013-03-27 18:54:03 +01:00
|
|
|
#include <cplusplus/CPlusPlusForwardDeclarations.h>
|
2010-03-17 12:34:29 +01:00
|
|
|
|
2014-11-27 12:11:46 +01:00
|
|
|
#include <utils/fileutils.h>
|
|
|
|
|
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QBitArray>
|
|
|
|
|
#include <QHash>
|
|
|
|
|
#include <QString>
|
|
|
|
|
#include <QStringList>
|
|
|
|
|
#include <QVector>
|
2010-03-17 12:34:29 +01:00
|
|
|
|
2020-12-07 15:19:35 +01:00
|
|
|
QT_BEGIN_NAMESPACE
|
2023-03-09 14:06:33 +01:00
|
|
|
template <typename T>
|
|
|
|
|
class QFuture;
|
2020-12-07 15:19:35 +01:00
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
|
2010-03-17 12:34:29 +01:00
|
|
|
namespace CPlusPlus {
|
|
|
|
|
|
|
|
|
|
class Snapshot;
|
|
|
|
|
|
|
|
|
|
class CPLUSPLUS_EXPORT DependencyTable
|
|
|
|
|
{
|
2014-09-11 13:15:44 +02:00
|
|
|
private:
|
|
|
|
|
friend class Snapshot;
|
2023-03-09 14:06:33 +01:00
|
|
|
void build(const std::optional<QFuture<void>> &future, const Snapshot &snapshot);
|
2019-12-17 14:07:53 +01:00
|
|
|
Utils::FilePaths filesDependingOn(const Utils::FilePath &fileName) const;
|
2010-03-17 12:34:29 +01:00
|
|
|
|
2019-05-28 13:49:26 +02:00
|
|
|
QVector<Utils::FilePath> files;
|
|
|
|
|
QHash<Utils::FilePath, int> fileIndex;
|
2010-03-17 12:34:29 +01:00
|
|
|
QHash<int, QList<int> > includes;
|
|
|
|
|
QVector<QBitArray> includeMap;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace CPlusPlus
|