Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtmoduleinfo.h
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef QTMODULEINFO_H
5#define QTMODULEINFO_H
6
7#include <QString>
8#include <QStringList>
9
10#include <bitset>
11#include <vector>
12
13constexpr size_t ModuleBitsetSize = 1024;
14using ModuleBitset = std::bitset<ModuleBitsetSize>;
15
26
27inline bool contains(const ModuleBitset &modules, const QtModule &module)
28{
29 return modules.test(module.id);
30}
31
33{
34public:
35 QtModuleInfoStore() = default;
36
37 bool populate(const QString &modulesDir, const QString &translationsDir, bool verbose,
38 QString *errorString);
39
40 size_t size() const { return modules.size(); }
41 std::vector<QtModule>::const_iterator begin() const { return modules.begin(); }
42 std::vector<QtModule>::const_iterator end() const { return modules.end(); }
43
44 const QtModule &moduleById(size_t id) const;
45 size_t moduleIdForPluginType(const QString &pluginType) const;
46
47private:
48 std::vector<QtModule> modules;
49};
50
51#endif
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
bool populate(const QString &modulesDir, const QString &translationsDir, bool verbose, QString *errorString)
size_t size() const
std::vector< QtModule >::const_iterator end() const
QtModuleInfoStore()=default
std::vector< QtModule >::const_iterator begin() const
const QtModule & moduleById(size_t id) const
size_t moduleIdForPluginType(const QString &pluginType) const
bool contains(const ModuleBitset &modules, const QtModule &module)
std::bitset< ModuleBitsetSize > ModuleBitset
constexpr size_t ModuleBitsetSize
QString name
static constexpr size_t InvalidId
QString translationCatalog
QStringList pluginTypes
QString repository
bool internal
size_t id