Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
docprivate.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3#ifndef DOCPRIVATE_H
4#define DOCPRIVATE_H
5
6#include "atom.h"
7#include "config.h"
8#include "codemarker.h"
9#include "doc.h"
10#include "editdistance.h"
11#include "generator.h"
12#include "utilities.h"
13#include "openedlist.h"
14#include "quoter.h"
15#include "text.h"
16#include "tokenizer.h"
17
18#include <QtCore/qdatetime.h>
19#include <QtCore/qfile.h>
20#include <QtCore/qfileinfo.h>
21#include <QtCore/qhash.h>
22#include <QtCore/qmap.h>
23#include <QtCore/qtextstream.h>
24
25#include <cctype>
26#include <climits>
27#include <utility>
28
29QT_BEGIN_NAMESPACE
30
31typedef QMap<QString, ArgList> CommandMap;
32
42
44{
45public:
46 explicit DocPrivate(const Location &start = Location(), const Location &end = Location(),
47 QString source = QString())
49 ~DocPrivate();
50
51 void addAlso(const Text &also);
52 void constructExtra();
53 void ref() { ++count; }
54 bool deref() { return (--count == 0); }
55
56 int count { 1 };
57 // ### move some of this in DocPrivateExtra
68 DocPrivateExtra *extra { nullptr };
70
71 bool m_hasLegalese : 1;
72};
73
74QT_END_NAMESPACE
75
76#endif // DOCPRIVATE_H
The Atom class is the fundamental unit for representing documents internally.
Definition atom.h:18
AtomType type() const
Return the type of this atom.
Definition atom.h:149
AtomType
\value AnnotatedList \value AutoLink \value BaseName \value BriefLeft \value BriefRight \value C \val...
Definition atom.h:20
@ BriefRight
Definition atom.h:26
@ LegaleseRight
Definition atom.h:58
@ String
Definition atom.h:92
@ BriefLeft
Definition atom.h:25
@ LegaleseLeft
Definition atom.h:57
@ C
Definition atom.h:27
@ ParaRight
Definition atom.h:75
@ AutoLink
Definition atom.h:22
@ ParaLeft
Definition atom.h:74
const Atom * next() const
Return the next atom in the atom list.
Definition atom.h:146
The Config class contains the configuration variables for controlling how qdoc produces documentation...
Definition config.h:84
static QString untabifyEtc(const QString &str)
static QStringList s_ignoreWords
Definition docparser.h:43
void parse(const QString &source, DocPrivate *docPrivate, const QSet< QString > &metaCommandSet, const QSet< QString > &possibleTopics)
Parse the source string to build a Text data structure in docPrivate.
static QString dedent(int level, const QString &str)
static QString cmdName(int cmd)
static bool s_quoting
Definition docparser.h:44
static int endCmdFor(int cmd)
static int indentLevel(const QString &str)
static void initialize(const Config &config, FileResolver &file_resolver)
static QString endCmdName(int cmd)
static int s_tabSize
Definition docparser.h:42
void ref()
Definition docprivate.h:53
QStringList m_omitEnumItemList
Definition docprivate.h:65
QSet< QString > m_params
Definition docprivate.h:62
QList< Text > m_alsoList
Definition docprivate.h:63
DocPrivateExtra * extra
Definition docprivate.h:68
void constructExtra()
Text m_text
Definition docprivate.h:61
bool m_hasLegalese
Definition docprivate.h:71
QStringList m_enumItemList
Definition docprivate.h:64
void addAlso(const Text &also)
QString m_src
Definition docprivate.h:60
DocPrivate(const Location &start=Location(), const Location &end=Location(), QString source=QString())
Definition docprivate.h:46
Location m_start_loc
Definition docprivate.h:58
bool deref()
Definition docprivate.h:54
TopicList m_topics
Definition docprivate.h:69
Location m_end_loc
Definition docprivate.h:59
~DocPrivate()
Deletes the DocPrivateExtra.
CommandMap m_metaCommandMap
Definition docprivate.h:67
QSet< QString > m_metacommandsUsed
Definition docprivate.h:66
Definition doc.h:31
QSet< QString > parameterNames() const
Definition doc.cpp:195
Text legaleseText() const
Definition doc.cpp:187
QList< Text > alsoList() const
Definition doc.cpp:248
const Location & location() const
Returns the starting location of a qdoc comment.
Definition doc.cpp:90
Doc & operator=(const Doc &doc)
Definition doc.cpp:75
Doc(const Location &start_loc, const Location &end_loc, const QString &source, const QSet< QString > &metaCommandSet, const QSet< QString > &topics)
Parse the qdoc comment source.
Definition doc.cpp:47
const QList< Atom * > & tableOfContents() const
Definition doc.cpp:268
static void quoteFromFile(const Location &location, Quoter &quoter, ResolvedFile resolved_file)
Definition doc.cpp:403
bool isInternal() const
Returns true if the set of metacommands used in the doc comment contains {internal}...
Definition doc.cpp:219
bool hasTableOfContents() const
Definition doc.cpp:253
const QList< Atom * > & keywords() const
Definition doc.cpp:280
~Doc()
Definition doc.cpp:69
const Text & body() const
Definition doc.cpp:115
static void initialize(FileResolver &file_resolver)
Definition doc.cpp:308
bool hasKeywords() const
Definition doc.cpp:258
QStringList omitEnumItemNames() const
Definition doc.cpp:205
const QList< Atom * > & targets() const
Definition doc.cpp:286
QMultiMap< ComparisonCategory, Text > * comparesWithMap() const
Definition doc.cpp:297
const QList< int > & tableOfContentsLevels() const
Definition doc.cpp:274
bool hasTargets() const
Definition doc.cpp:263
Text trimmedBriefText(const QString &className) const
Definition doc.cpp:126
Sections
Definition doc.h:34
ArgList metaCommandArgs(const QString &metaCommand) const
Definition doc.cpp:243
Text briefText(bool inclusive=false) const
Definition doc.cpp:121
const Location & startLocation() const
Returns the starting location of a qdoc comment.
Definition doc.cpp:99
bool isMarkedReimp() const
Returns true if the set of metacommands used in the doc comment contains {reimp}.
Definition doc.cpp:228
static void terminate()
All the heap allocated variables are deleted.
Definition doc.cpp:361
TopicList topicsUsed() const
Returns a reference to the list of topic commands used in the current qdoc comment.
Definition doc.cpp:238
QStringMultiMap * metaTagMap() const
Definition doc.cpp:292
QSet< QString > metaCommandsUsed() const
Definition doc.cpp:210
bool isEmpty() const
Definition doc.cpp:110
Doc(const Doc &doc)
Definition doc.cpp:64
void constructExtra() const
Definition doc.cpp:302
const QString & source() const
Definition doc.cpp:104
QStringList enumItemNames() const
Definition doc.cpp:200
Encapsulate the logic that QDoc uses to find files whose path is provided by the user and that are re...
The Location class provides a way to mark a location in a file.
Definition location.h:15
int columnNo() const
Returns the current column number.
Definition location.h:44
Location()
Constructs an empty location.
Definition location.cpp:40
void reset()
Definition quoter.cpp:106
Definition text.h:12
void dump() const
Prints a human-readable version of the contained atoms to stderr.
Definition text.cpp:225
Text subText(Atom::AtomType left, Atom::AtomType right, const Atom *from=nullptr, bool inclusive=false) const
Definition text.cpp:153
Atom * firstAtom()
Definition text.h:21
Text()
Definition text.cpp:12
#define CONFIG_MACRO
Definition config.h:362
QList< ArgPair > ArgList
Definition doc.h:27
QMultiMap< QString, QString > QStringMultiMap
Definition doc.h:28
Combined button and popup list for selecting options.
QList< Atom * > m_keywords
Definition docprivate.h:37
QList< Atom * > m_tableOfContents
Definition docprivate.h:35
QList< Atom * > m_targets
Definition docprivate.h:38
QList< int > m_tableOfContentsLevels
Definition docprivate.h:36
QMultiMap< ComparisonCategory, Text > m_comparesWithMap
Definition docprivate.h:40
QStringMultiMap m_metaMap
Definition docprivate.h:39
QHash_QString_Macro macroHash
QHash_QString_int cmdHash
Simple structure used by the Doc and DocParser classes.
Represents a file that is reachable by QDoc based on its current configuration.
QList< Topic > TopicList
Definition topic.h:25