26 #include "arguments.h" 28 #include "textstream.h" 67 CLASS_SEC = 0x00000001,
68 NAMESPACE_SEC = 0x00000010,
69 CONCEPT_SEC = 0x00000020,
70 COMPOUND_MASK = CLASS_SEC,
71 SCOPE_MASK = COMPOUND_MASK | NAMESPACE_SEC,
73 CLASSDOC_SEC = 0x00000800,
74 STRUCTDOC_SEC = 0x00001000,
75 UNIONDOC_SEC = 0x00002000,
76 EXCEPTIONDOC_SEC = 0x00004000,
77 NAMESPACEDOC_SEC = 0x00008000,
78 INTERFACEDOC_SEC = 0x00010000,
79 PROTOCOLDOC_SEC = 0x00020000,
80 CATEGORYDOC_SEC = 0x00040000,
81 SERVICEDOC_SEC = 0x00080000,
82 SINGLETONDOC_SEC = 0x00100000,
83 CONCEPTDOC_SEC = 0x00200000,
84 COMPOUNDDOC_MASK = CLASSDOC_SEC | STRUCTDOC_SEC | UNIONDOC_SEC |
85 INTERFACEDOC_SEC | EXCEPTIONDOC_SEC | PROTOCOLDOC_SEC |
86 CATEGORYDOC_SEC | SERVICEDOC_SEC | SINGLETONDOC_SEC,
88 SOURCE_SEC = 0x00400000,
89 HEADER_SEC = 0x00800000,
90 FILE_MASK = SOURCE_SEC | HEADER_SEC,
92 ENUMDOC_SEC = 0x01000000,
93 ENUM_SEC = 0x02000000,
94 EMPTY_SEC = 0x03000000,
95 PAGEDOC_SEC = 0x04000000,
96 VARIABLE_SEC = 0x05000000,
97 FUNCTION_SEC = 0x06000000,
98 TYPEDEF_SEC = 0x07000000,
99 MEMBERDOC_SEC = 0x08000000,
100 OVERLOADDOC_SEC = 0x09000000,
101 EXAMPLE_SEC = 0x0a000000,
102 VARIABLEDOC_SEC = 0x0b000000,
103 FILEDOC_SEC = 0x0c000000,
104 DEFINEDOC_SEC = 0x0d000000,
105 INCLUDE_SEC = 0x0e000000,
106 DEFINE_SEC = 0x0f000000,
107 GROUPDOC_SEC = 0x10000000,
108 USINGDIR_SEC = 0x11000000,
109 MAINPAGEDOC_SEC = 0x12000000,
110 MEMBERGRP_SEC = 0x13000000,
111 USINGDECL_SEC = 0x14000000,
112 PACKAGE_SEC = 0x15000000,
113 PACKAGEDOC_SEC = 0x16000000,
114 OBJCIMPL_SEC = 0x17000000,
115 DIRDOC_SEC = 0x18000000,
116 EXPORTED_INTERFACE_SEC = 0x19000000,
117 INCLUDED_SERVICE_SEC = 0x1A000000,
118 EXAMPLE_LINENO_SEC = 0x1B000000,
122 static const uint64_t
Template = (1ULL<<0);
123 static const uint64_t Generic = (1ULL<<1);
124 static const uint64_t Ref = (1ULL<<2);
125 static const uint64_t Value = (1ULL<<3);
126 static const uint64_t Interface = (1ULL<<4);
127 static const uint64_t Struct = (1ULL<<5);
128 static const uint64_t Union = (1ULL<<6);
129 static const uint64_t Exception = (1ULL<<7);
130 static const uint64_t Protocol = (1ULL<<8);
131 static const uint64_t Category = (1ULL<<9);
132 static const uint64_t SealedClass = (1ULL<<10);
133 static const uint64_t AbstractClass = (1ULL<<11);
134 static const uint64_t Enum = (1ULL<<12);
135 static const uint64_t Service = (1ULL<<13);
136 static const uint64_t Singleton = (1ULL<<14);
137 static const uint64_t ForwardDecl = (1ULL<<15);
138 static const uint64_t Local = (1ULL<<16);
141 static const uint64_t EnumStruct = (1ULL<<18);
142 static const uint64_t ConstExpr = (1ULL<<19);
143 static const uint64_t PrivateGettable = (1ULL<<20);
144 static const uint64_t ProtectedGettable = (1ULL<<21);
145 static const uint64_t PrivateSettable = (1ULL<<22);
146 static const uint64_t ProtectedSettable = (1ULL<<23);
147 static const uint64_t Inline = (1ULL<<24);
148 static const uint64_t Explicit = (1ULL<<25);
149 static const uint64_t Mutable = (1ULL<<26);
150 static const uint64_t Settable = (1ULL<<27);
151 static const uint64_t Gettable = (1ULL<<28);
152 static const uint64_t Readable = (1ULL<<29);
153 static const uint64_t Writable = (1ULL<<30);
154 static const uint64_t Final = (1ULL<<31);
155 static const uint64_t Abstract = (1ULL<<32);
156 static const uint64_t Addable = (1ULL<<33);
157 static const uint64_t Removable = (1ULL<<34);
158 static const uint64_t Raisable = (1ULL<<35);
159 static const uint64_t Override = (1ULL<<36);
160 static const uint64_t New = (1ULL<<37);
161 static const uint64_t Sealed = (1ULL<<38);
162 static const uint64_t Initonly = (1ULL<<39);
163 static const uint64_t Optional = (1ULL<<40);
164 static const uint64_t Required = (1ULL<<41);
165 static const uint64_t NonAtomic = (1ULL<<42);
166 static const uint64_t Copy = (1ULL<<43);
167 static const uint64_t Retain = (1ULL<<44);
168 static const uint64_t Assign = (1ULL<<45);
169 static const uint64_t Strong = (1ULL<<46);
170 static const uint64_t Weak = (1ULL<<47);
171 static const uint64_t Unretained = (1ULL<<48);
172 static const uint64_t Alias = (1ULL<<49);
173 static const uint64_t ConstExp = (1ULL<<50);
174 static const uint64_t Default = (1ULL<<51);
175 static const uint64_t Delete = (1ULL<<52);
176 static const uint64_t NoExcept = (1ULL<<53);
177 static const uint64_t Attribute = (1ULL<<54);
178 static const uint64_t Property = (1ULL<<55);
179 static const uint64_t Readonly = (1ULL<<56);
180 static const uint64_t Bound = (1ULL<<57);
181 static const uint64_t Constrained = (1ULL<<58);
182 static const uint64_t Transient = (1ULL<<59);
183 static const uint64_t MaybeVoid = (1ULL<<60);
184 static const uint64_t MaybeDefault = (1ULL<<61);
185 static const uint64_t MaybeAmbiguous = (1ULL<<62);
186 static const uint64_t Published = (1ULL<<63);
205 const std::vector< std::shared_ptr<Entry> > &
children()
const {
return m_sublist; }
211 void moveToSubEntryAndKeep(
Entry* e);
212 void moveToSubEntryAndKeep(std::shared_ptr<Entry> e);
216 void moveToSubEntryAndRefresh(
Entry* &e);
217 void moveToSubEntryAndRefresh(std::shared_ptr<Entry> &e);
220 void copyToSubEntry (
Entry* e);
221 void copyToSubEntry (
const std::shared_ptr<Entry> &e);
226 void removeSubEntry(
const Entry *e);
233 void markAsProcessed()
const { (
const_cast<Entry*
>(
this))->section = Entry::EMPTY_SEC; }
235 FileDef *fileDef()
const {
return m_fileDef; }
243 const TagInfo *tagInfo()
const {
return hasTagInfo ? &tagInfoData : 0; }
307 switch( groupDocType )
309 case GROUPDOC_NORMAL:
return "\\defgroup";
310 case GROUPDOC_ADD:
return "\\addtogroup";
311 case GROUPDOC_WEAK:
return "\\weakgroup";
312 default:
return "unknown group command";
317 if( section != GROUPDOC_SEC )
319 return Grouping::GROUPING_LOWEST;
321 switch( groupDocType )
326 default:
return Grouping::GROUPING_LOWEST;
332 std::vector< std::shared_ptr<Entry> > m_sublist;
337 typedef std::vector< std::shared_ptr<Entry> > EntryList;
bool callGraph
do we need to draw the call graph?
Definition: entry.h:254
QCString includeName
include name (3 arg of \class)
Definition: entry.h:266
This class represents an function or template argument list.
Definition: arguments.h:59
This file contains a number of basic enums and types.
bool proto
prototype ?
Definition: entry.h:252
Abstract interface for a template.
Definition: template.h:487
bool isStatic
static ?
Definition: entry.h:250
membership in group was defined via @weakgroup
Definition: types.h:70
Sections
Definition: entry.h:66
bool referencedByRelation
do we need to show the referenced by relation?
Definition: entry.h:256
Represents an unstructured piece of information, about an entity found in the sources.
Definition: entry.h:61
QCString read
property read accessor
Definition: entry.h:278
membership in group was defined via @defgroup
Definition: types.h:72
int briefLine
line number at which the brief desc. was found
Definition: entry.h:271
int docLine
line number at which the documentation was found
Definition: entry.h:268
Text streaming class that buffers data.
Definition: textstream.h:34
QCString name
member name
Definition: entry.h:240
A model of a file symbol.
Definition: filedef.h:73
int initLines
define/variable initializer lines to show
Definition: entry.h:249
GroupPri_t
Grouping priority.
Definition: types.h:67
This struct is used to capture the tag file information for an Entry.
Definition: entry.h:48
Entry * parent() const
Definition: entry.h:200
TextStream program
the program text
Definition: entry.h:263
bool referencesRelation
do we need to show the references relation?
Definition: entry.h:257
QCString id
libclang id
Definition: entry.h:298
SrcLangExt
Language as given by extension.
Definition: types.h:41
bool hidden
does this represent an entity that is hidden from the output
Definition: entry.h:295
int mGrpId
member group id
Definition: entry.h:286
int startColumn
start column of entry in the source
Definition: entry.h:292
uint64_t spec
class/member specifiers
Definition: entry.h:248
QCString req
C++20 requires clause.
Definition: entry.h:301
std::vector< std::string > qualifiers
qualifiers specified with the qualifier command
Definition: entry.h:302
QCString includeFile
include file (2 arg of \class, must be unique)
Definition: entry.h:265
bool subGrouping
automatically group class members?
Definition: entry.h:253
bool callerGraph
do we need to draw the caller graph?
Definition: entry.h:255
QCString inbodyFile
file in which the body doc was found
Definition: entry.h:275
QCString brief
brief description (doc block)
Definition: entry.h:270
int endBodyLine
line number where the definition ends
Definition: entry.h:285
const std::vector< std::shared_ptr< Entry > > & children() const
Definition: entry.h:205
std::vector< BaseInfo > extends
list of base classes
Definition: entry.h:287
addtogroup
Definition: entry.h:191
ArgumentList typeConstr
where clause (C#) for type constraints
Definition: entry.h:282
QCString name
the name of the base class
Definition: entry.h:40
Specifier virt
virtualness
Definition: entry.h:42
Specifier
Virtualness of a member.
Definition: types.h:29
QCString exception
throw specification
Definition: entry.h:281
int startLine
start line of entry in the source
Definition: entry.h:291
QCString args
member argument string
Definition: entry.h:259
QCString write
property write accessor
Definition: entry.h:279
Protection protection
class protection
Definition: entry.h:246
QCString metaData
Slice metadata.
Definition: entry.h:300
int bodyColumn
column of the body in the source
Definition: entry.h:284
class that provide information about a section.
Definition: section.h:49
BaseInfo(const QCString &n, Protection p, Specifier v)
Definition: entry.h:38
Protection prot
inheritance type
Definition: entry.h:41
std::vector< Grouping > groups
list of groups this entry belongs to
Definition: entry.h:288
const char * groupDocCmd() const
return the command name used to define GROUPDOC_SEC
Definition: entry.h:305
RelatesType relatesType
how relates is handled
Definition: entry.h:277
QCString inbodyDocs
documentation inside the body of a function
Definition: entry.h:273
TextStream initializer
initial value (for variables)
Definition: entry.h:264
QCString doc
documentation block (partly parsed)
Definition: entry.h:267
Specifier virt
virtualness of the entry
Definition: entry.h:258
RefItemVector sli
special lists (test/todo/bug/deprecated/..) this entry is in
Definition: entry.h:293
bool artificial
Artificially introduced item.
Definition: entry.h:296
ArgumentList argList
member arguments as a list
Definition: entry.h:261
defgroup
Definition: entry.h:190
QCString fileName
file this entry was extracted from
Definition: entry.h:290
bool explicitExternal
explicitly defined as external?
Definition: entry.h:251
QCString bitfields
member's bit fields
Definition: entry.h:260
QCString inside
name of the class in which documents are found
Definition: entry.h:280
MethodTypes
Kind of method.
Definition: types.h:32
Protection
Protection level of members.
Definition: types.h:26
QCString docFile
file in which the documentation was found
Definition: entry.h:269
ArgumentLists tArgLists
template argument declarations
Definition: entry.h:262
MethodTypes mtype
signal, slot, (dcop) method, or property?
Definition: entry.h:247
RelatesType
Type of member relation.
Definition: types.h:35
std::vector< const SectionInfo * > anchors
list of anchors defined in this entry
Definition: entry.h:289
TagInfo tagInfoData
tag file info data
Definition: entry.h:242
bool hasTagInfo
is tag info valid
Definition: entry.h:241
QCString relates
related class (doc block)
Definition: entry.h:276
SrcLangExt lang
programming language in which this entry was found
Definition: entry.h:294
This is an alternative implementation of QCString.
Definition: qcstring.h:91
int inbodyLine
line number at which the body doc was found
Definition: entry.h:274
This class stores information about an inheritance relation.
Definition: entry.h:35
GroupDocType
Definition: entry.h:188
membership in group was defined via @add[to]group
Definition: types.h:71
QCString type
member type
Definition: entry.h:239
int section
entry type (see Sections);
Definition: entry.h:238
int bodyLine
line number of the body in the source
Definition: entry.h:283
QCString briefFile
file in which the brief desc. was found
Definition: entry.h:272