Skip to main content

The Entry Class Reference

Represents an unstructured piece of information, about an entity found in the sources. More...

Declaration

class Entry { ... }

Included Headers

#include <src/entry.h>

Enumerations Index

enumGroupDocType { ... }

Public Constructors Index

Entry ()
Entry (const Entry &)
Entry (Entry &&)=delete

Public Destructor Index

~Entry ()

Public Operators Index

Entry &operator= (const Entry &)=delete
Entry &operator= (Entry &&)=delete

Public Member Functions Index

Entry *parent () const
const std::vector< std::shared_ptr< Entry > > &children () const

add entry as a child, pass ownership and reinitialize entry Index

EntryTypesection

entry type (see Sections); More...

QCStringtype

member type More...

QCStringname

member name More...

boolhasTagInfo

is tag info valid More...

TagInfotagInfoData

tag file info data More...

Protectionprotection

class protection More...

MethodTypesmtype

signal, slot, (dcop) method, or property? More...

TypeSpecifierspec

class/member specifiers More...

VhdlSpecifiervhdlSpec

VHDL specifiers. More...

intinitLines

define/variable initializer lines to show More...

boolisStatic

static ? More...

boolexplicitExternal

explicitly defined as external? More...

boolproto

prototype ? More...

boolsubGrouping

automatically group class members? More...

boolexported

is the symbol exported from a C++20 module More...

CommandOverridescommandOverrides

store info for commands whose default can be overridden More...

Specifiervirt

virtualness of the entry More...

QCStringargs

member argument string More...

QCStringbitfields

member's bit fields More...

ArgumentListargList

member arguments as a list More...

ArgumentListstArgLists

template argument declarations More...

TextStreamprogram

the program text More...

TextStreaminitializer

initial value (for variables) More...

QCStringincludeFile

include file (2 arg of \class, must be unique) More...

QCStringincludeName

include name (3 arg of \class) More...

QCStringdoc

documentation block (partly parsed) More...

intdocLine

line number at which the documentation was found More...

QCStringdocFile

file in which the documentation was found More...

QCStringbrief

brief description (doc block) More...

intbriefLine

line number at which the brief desc. was found More...

QCStringbriefFile

file in which the brief desc. was found More...

QCStringinbodyDocs

documentation inside the body of a function More...

intinbodyLine

line number at which the body doc was found More...

QCStringinbodyFile

file in which the body doc was found More...

QCStringrelates

related class (doc block) More...

RelatesTyperelatesType

how relates is handled More...

QCStringread

property read accessor More...

QCStringwrite

property write accessor More...

QCStringinside

name of the class in which documents are found More...

QCStringexception

throw specification More...

ArgumentListtypeConstr

where clause (C#) for type constraints More...

intbodyLine

line number of the body in the source More...

intbodyColumn

column of the body in the source More...

intendBodyLine

line number where the definition ends More...

intmGrpId

member group id More...

std::vector< BaseInfo >extends

list of base classes More...

std::vector< Grouping >groups

list of groups this entry belongs to More...

std::vector< const SectionInfo * >anchors

list of anchors defined in this entry More...

QCStringfileName

file this entry was extracted from More...

intstartLine

start line of entry in the source More...

intstartColumn

start column of entry in the source More...

RefItemVectorsli

special lists (test/todo/bug/deprecated/..) this entry is in More...

SrcLangExtlang

programming language in which this entry was found More...

boolhidden

does this represent an entity that is hidden from the output More...

boolartificial

Artificially introduced item. More...

GroupDocTypegroupDocType
QCStringid

libclang id More...

LocalToclocalToc
QCStringmetaData

Slice metadata. More...

QCStringreq

C++20 requires clause. More...

std::vector< std::string >qualifiers

qualifiers specified with the qualifier command More...

Entry *m_parent

parent node in the tree More...

std::vector< std::shared_ptr< Entry > >m_sublist
FileDef *m_fileDef
voidmoveToSubEntryAndRefresh (Entry *&e)
voidmoveToSubEntryAndRefresh (std::shared_ptr< Entry > &e)
voidcopyToSubEntry (Entry *e)
voidcopyToSubEntry (const std::shared_ptr< Entry > &e)
voidremoveSubEntry (const Entry *e)
voidreset ()
voidmarkAsProcessed () const
voidsetFileDef (FileDef *fd)
FileDef *fileDef () const
const TagInfo *tagInfo () const
const char *groupDocCmd () const

return the command name used to define GROUPDOC_SEC More...

Grouping::GroupPri_tgroupingPri () const

add entry as a child and pass ownership. Index

voidmoveToSubEntryAndKeep (Entry *e)
voidmoveToSubEntryAndKeep (std::shared_ptr< Entry > e)

Description

Represents an unstructured piece of information, about an entity found in the sources.

parseMain() in scanner.l will generate a tree of these entries.

Definition at line 115 of file entry.h.

Enumerations

GroupDocType

enum Entry::GroupDocType
Enumeration values
GROUPDOC_NORMALdefgroup
GROUPDOC_ADDaddtogroup
GROUPDOC_WEAKweakgroup

Definition at line 119 of file entry.h.

120 {
121 GROUPDOC_NORMAL, //!< defgroup
122 GROUPDOC_ADD, //!< addtogroup
123 GROUPDOC_WEAK //!< weakgroup
124 }; //!< kind of group

Public Constructors

Entry()

Entry::Entry ()

Declaration at line 126 of file entry.h, definition at line 33 of file entry.cpp.

33Entry::Entry() : section(EntryType::makeEmpty()), program(static_cast<size_t>(0)), initializer(static_cast<size_t>(0))
34{
35 //printf("Entry::Entry(%p)\n",this);
36 g_num++;
37 m_parent=nullptr;
38 //printf("Entry::Entry() tArgList=0\n");
39 mGrpId = -1;
40 hasTagInfo = false;
41 relatesType = RelatesType::Simple;
44 reset();
45}

References FALSE, g_num, GROUPDOC_NORMAL, groupDocType, hasTagInfo, hidden, initializer, m_parent, mGrpId, program, relatesType, reset and section.

Referenced by copyToSubEntry, Entry, Entry, markAsProcessed, moveToSubEntryAndKeep, moveToSubEntryAndRefresh, operator=, operator=, parent and removeSubEntry.

Entry()

Entry::Entry (const Entry & e)

Declaration at line 127 of file entry.h, definition at line 47 of file entry.cpp.

48{
49 //printf("Entry::Entry(%p):copy\n",this);
50 g_num++;
51 type = e.type;
52 name = e.name;
56 mtype = e.mtype;
57 spec = e.spec;
63 proto = e.proto;
67 virt = e.virt;
68 args = e.args;
72 program.str(e.program.str());
76 doc = e.doc;
79 brief = e.brief;
87 read = e.read;
88 write = e.write;
89 inside = e.inside;
95 mGrpId = e.mGrpId;
100 sli = e.sli;
101 lang = e.lang;
102 hidden = e.hidden;
105 id = e.id;
106 extends = e.extends;
107 groups = e.groups;
108 req = e.req;
111
113 // deep copy child entries
114 m_sublist.reserve(e.m_sublist.size());
115 for (const auto &cur : e.m_sublist)
116 {
117 m_sublist.push_back(std::make_shared<Entry>(*cur));
118 }
119}

References anchors, argList, args, artificial, bitfields, bodyColumn, bodyLine, brief, briefFile, briefLine, commandOverrides, doc, docFile, docLine, endBodyLine, Entry, exception, explicitExternal, exported, extends, fileName, g_num, groupDocType, groups, hasTagInfo, hidden, id, inbodyDocs, inbodyFile, inbodyLine, includeFile, includeName, initializer, initLines, inside, isStatic, lang, localToc, m_fileDef, m_parent, m_sublist, mGrpId, mtype, name, program, protection, proto, qualifiers, read, relates, relatesType, req, section, sli, spec, startColumn, startLine, TextStream::str, subGrouping, tagInfoData, tArgLists, type, typeConstr, vhdlSpec, virt and write.

Entry()

Entry::Entry (Entry &&)
delete

Definition at line 129 of file entry.h.

Reference Entry.

Public Destructor

~Entry()

Entry::~Entry ()

Declaration at line 131 of file entry.h, definition at line 121 of file entry.cpp.

122{
123 //printf("Entry::~Entry(%p) num=%d\n",this,g_num);
124 //printf("Deleting entry %d name %s type %x children %d\n",
125 // num,qPrint(name),section,sublist->count());
126
127 g_num--;
128}

Reference g_num.

Public Operators

operator=()

Entry & Entry::operator= (const Entry &)
delete

Definition at line 128 of file entry.h.

Reference Entry.

operator=()

Entry & Entry::operator= (Entry &&)
delete

Definition at line 130 of file entry.h.

Reference Entry.

Public Member Functions

children()

parent()

add entry as a child, pass ownership and reinitialize entry

anchors

argList

args

QCString Entry::args

artificial

bool Entry::artificial

Artificially introduced item.

Definition at line 229 of file entry.h.

229 bool artificial; //!< Artificially introduced item

Referenced by addClassToContext, addVariableToClass, buildNamespaceList, Entry and reset.

bitfields

QCString Entry::bitfields

member's bit fields

Definition at line 193 of file entry.h.

193 QCString bitfields; //!< member's bit fields

Referenced by addVariableToClass, Entry and reset.

bodyColumn

int Entry::bodyColumn

column of the body in the source

Definition at line 217 of file entry.h.

217 int bodyColumn; //!< column of the body in the source

Referenced by Entry and reset.

bodyLine

brief

briefFile

briefLine

commandOverrides

CommandOverrides Entry::commandOverrides

store info for commands whose default can be overridden

Definition at line 190 of file entry.h.

190 CommandOverrides commandOverrides; //!< store info for commands whose default can be overridden

Referenced by addClassToContext, applyMemberOverrideOptions, buildFileList, buildGroupListFiltered, Entry, findDirDocumentation and reset.

copyToSubEntry

void Entry::copyToSubEntry (Entry * e)

make a copy of e and add it as a child to this entry

Declaration at line 154 of file entry.h, definition at line 156 of file entry.cpp.

157{
158 Entry *copy = new Entry(*current);
159 copy->m_parent=this;
160 m_sublist.emplace_back(copy);
161}

References Entry, m_parent and m_sublist.

Referenced by VHDLOutlineParser::mapLibPackage.

copyToSubEntry

void Entry::copyToSubEntry (const std::shared_ptr< Entry > & e)

Declaration at line 155 of file entry.h, definition at line 163 of file entry.cpp.

163void Entry::copyToSubEntry(const std::shared_ptr<Entry> &current)
164{
165 std::shared_ptr<Entry> copy = std::make_shared<Entry>(*current);
166 copy->m_parent=this;
167 m_sublist.push_back(copy);
168}

Reference m_sublist.

doc

docFile

docLine

endBodyLine

exception

QCString Entry::exception

throw specification

Definition at line 214 of file entry.h.

214 QCString exception; //!< throw specification

Referenced by addGlobalFunction, addMethodToClass, addVariableToClass, Entry, filterMemberDocumentation and reset.

explicitExternal

bool Entry::explicitExternal

explicitly defined as external?

Definition at line 186 of file entry.h.

186 bool explicitExternal; //!< explicitly defined as external?

Referenced by addGlobalFunction, addVariableToFile, Entry and reset.

exported

bool Entry::exported

is the symbol exported from a C++20 module

Definition at line 189 of file entry.h.

189 bool exported; //!< is the symbol exported from a C++20 module

Referenced by ModuleDefImpl::addClassToModule, ModuleDefImpl::addConceptToModule, ModuleDefImpl::addMemberToModule, ModuleManager::addMemberToModule, buildNamespaceList, Entry, findUsingDirectives and reset.

extends

std::vector<BaseInfo> Entry::extends

list of base classes

Definition at line 220 of file entry.h.

220 std::vector<BaseInfo> extends; //!< list of base classes

Referenced by computePageRelations, computeTemplateClassRelations, Entry, findBaseClassesForClass, isClassSection and reset.

fileDef

fileName

groupDocCmd

const char * Entry::groupDocCmd ()
inline

return the command name used to define GROUPDOC_SEC

Definition at line 238 of file entry.h.

238 const char *groupDocCmd() const
239 {
240 switch( groupDocType )
241 {
242 case GROUPDOC_NORMAL: return "\\defgroup";
243 case GROUPDOC_ADD: return "\\addtogroup";
244 case GROUPDOC_WEAK: return "\\weakgroup";
245 default: return "unknown group command";
246 }
247 }

References GROUPDOC_ADD, GROUPDOC_NORMAL, GROUPDOC_WEAK and groupDocType.

groupDocType

GroupDocType Entry::groupDocType

groupingPri

Grouping::GroupPri_t Entry::groupingPri ()
inline

groups

hasTagInfo

bool Entry::hasTagInfo

is tag info valid

Definition at line 175 of file entry.h.

175 bool hasTagInfo; //!< is tag info valid

Referenced by Entry, Entry and tagInfo.

hidden

bool Entry::hidden

does this represent an entity that is hidden from the output

Definition at line 228 of file entry.h.

228 bool hidden; //!< does this represent an entity that is hidden from the output

Referenced by addClassToContext, addConceptToContext, ModuleManager::addDocs, addVariableToClass, buildNamespaceList, Entry, Entry, findUsingDirectives and reset.

id

inbodyDocs

inbodyFile

inbodyLine

includeFile

QCString Entry::includeFile

include file (2 arg of \class, must be unique)

Definition at line 198 of file entry.h.

198 QCString includeFile; //!< include file (2 arg of \\class, must be unique)

Referenced by addIncludeFile, Entry and reset.

includeName

QCString Entry::includeName

include name (3 arg of \class)

Definition at line 199 of file entry.h.

199 QCString includeName; //!< include name (3 arg of \\class)

Referenced by addIncludeFile, Entry and reset.

initializer

TextStream Entry::initializer

initial value (for variables)

Definition at line 197 of file entry.h.

197 TextStream initializer; //!< initial value (for variables)

Referenced by addConceptToContext, addMemberDocs, addVariableToClass, addVariableToFile, Entry, Entry and reset.

initLines

int Entry::initLines

define/variable initializer lines to show

Definition at line 184 of file entry.h.

184 int initLines; //!< define/variable initializer lines to show

Referenced by addDefineDoc, addMemberDocs, addVariableToClass, addVariableToFile, Entry and reset.

inside

QCString Entry::inside

name of the class in which documents are found

Definition at line 213 of file entry.h.

213 QCString inside; //!< name of the class in which documents are found

Referenced by Entry, filterMemberDocumentation and reset.

isStatic

lang

localToc

LocalToc Entry::localToc

Definition at line 232 of file entry.h.

Referenced by addRelatedPage, Entry and findMainPage.

m_fileDef

FileDef* Entry::m_fileDef

Definition at line 266 of file entry.h.

Referenced by Entry, fileDef, reset and setFileDef.

m_parent

Entry* Entry::m_parent

parent node in the tree

Definition at line 264 of file entry.h.

264 Entry *m_parent; //!< parent node in the tree

Referenced by copyToSubEntry, Entry, Entry, moveToSubEntryAndKeep, moveToSubEntryAndRefresh and parent.

m_sublist

std::vector< std::shared_ptr<Entry> > Entry::m_sublist

markAsProcessed

void Entry::markAsProcessed ()
inline

Definition at line 167 of file entry.h.

167 void markAsProcessed() const { (const_cast<Entry*>(this))->section = EntryType::makeEmpty(); }

References Entry and section.

Referenced by addGlobalFunction, addInterfaceOrServiceToServiceOrSingleton, addMethodToClass, addVariableToClass, addVariableToFile and buildTypedefList.

metaData

mGrpId

moveToSubEntryAndRefresh

void Entry::moveToSubEntryAndRefresh (Entry *& e)

Declaration at line 150 of file entry.h, definition at line 130 of file entry.cpp.

131{
132 current->m_parent=this;
133 m_sublist.emplace_back(current);
134 current = new Entry;
135}

References Entry, m_parent and m_sublist.

moveToSubEntryAndRefresh

void Entry::moveToSubEntryAndRefresh (std::shared_ptr< Entry > & e)

Declaration at line 151 of file entry.h, definition at line 137 of file entry.cpp.

137void Entry::moveToSubEntryAndRefresh(std::shared_ptr<Entry> &current)
138{
139 current->m_parent=this;
140 m_sublist.push_back(current);
141 current = std::make_shared<Entry>();
142}

Reference m_sublist.

mtype

MethodTypes Entry::mtype

signal, slot, (dcop) method, or property?

Definition at line 181 of file entry.h.

181 MethodTypes mtype; //!< signal, slot, (dcop) method, or property?

Referenced by addMethodToClass, addOverloaded, addVariable, addVariableToClass, Entry, findMember and reset.

name

program

TextStream Entry::program

the program text

Definition at line 196 of file entry.h.

196 TextStream program; //!< the program text

Referenced by Entry, Entry and reset.

protection

proto

qualifiers

std::vector<std::string> Entry::qualifiers

read

QCString Entry::read

property read accessor

Definition at line 211 of file entry.h.

211 QCString read; //!< property read accessor

Referenced by addVariableToClass and Entry.

relates

QCString Entry::relates

related class (doc block)

Definition at line 209 of file entry.h.

209 QCString relates; //!< related class (doc block)

Referenced by addEnumValuesToEnums, addVariable, buildFunctionList, buildInterfaceAndServiceList, DocGroup::close, Entry, findEnums, findMemberDocumentation, DocGroup::initGroupInfo, DocGroup::open and reset.

relatesType

RelatesType Entry::relatesType

how relates is handled

Definition at line 210 of file entry.h.

210 RelatesType relatesType; //!< how relates is handled

Referenced by addGlobalFunction, addMethodToClass, addVariable, buildFunctionList, buildInterfaceAndServiceList, Entry, Entry, findEnums, findGlobalMember, findMember, findMemberDocumentation and reset.

removeSubEntry

void Entry::removeSubEntry (const Entry * e)

Removes entry e from the list of children. The entry will be deleted if found.

Declaration at line 160 of file entry.h, definition at line 170 of file entry.cpp.

171{
172 auto it = std::find_if(m_sublist.begin(),m_sublist.end(),
173 [e](const std::shared_ptr<Entry>&elem) { return elem.get()==e; });
174 if (it!=m_sublist.end())
175 {
176 m_sublist.erase(it);
177 }
178}

References Entry and m_sublist.

Referenced by endScope.

req

QCString Entry::req

C++20 requires clause.

Definition at line 234 of file entry.h.

234 QCString req; //!< C++20 requires clause

Referenced by addClassToContext, addGlobalFunction, addMemberDocs, addMethodToClass, buildFunctionList, Entry, findGlobalMember and reset.

reset

void Entry::reset ()

Restore the state of this Entry to the default value it has at construction time.

Declaration at line 165 of file entry.h, definition at line 181 of file entry.cpp.

182{
183 //printf("Entry::reset()\n");
184 name.clear();
185 type.clear();
186 args.clear();
187 bitfields.clear();
188 exception.clear();
189 program.str(std::string());
190 includeFile.clear();
191 includeName.clear();
192 doc.clear();
193 docFile.clear();
194 docLine=-1;
195 relates.clear();
196 relatesType=RelatesType::Simple;
197 brief.clear();
198 briefFile.clear();
199 briefLine=-1;
200 inbodyDocs.clear();
201 inbodyFile.clear();
202 inbodyLine=-1;
203 inside.clear();
204 fileName.clear();
205 initializer.str(std::string());
206 initLines = -1;
207 startLine = 1;
208 startColumn = 1;
209 bodyLine = -1;
210 bodyColumn = 1;
211 endBodyLine = -1;
212 mGrpId = -1;
213 commandOverrides.reset();
214 exported = false;
215 section = EntryType::makeEmpty();
216 mtype = MethodTypes::Method;
217 virt = Specifier::Normal;
218 isStatic = false;
219 proto = false;
220 explicitExternal = false;
221 spec.reset();
223 lang = SrcLangExt::Unknown;
224 hidden = false;
225 artificial = false;
226 subGrouping = true;
227 protection = Protection::Public;
229 id.clear();
230 metaData.clear();
231 m_sublist.clear();
232 extends.clear();
233 groups.clear();
234 anchors.clear();
235 argList.reset();
236 tArgLists.clear();
237 typeConstr.reset();
238 sli.clear();
239 req.clear();
240 m_fileDef = nullptr;
241 qualifiers.clear();
242}

References anchors, argList, args, artificial, bitfields, bodyColumn, bodyLine, brief, briefFile, briefLine, commandOverrides, doc, docFile, docLine, endBodyLine, exception, explicitExternal, exported, extends, fileName, GROUPDOC_NORMAL, groupDocType, groups, hidden, inbodyDocs, inbodyFile, inbodyLine, includeFile, includeName, initializer, initLines, inside, isStatic, lang, m_fileDef, m_sublist, metaData, mGrpId, mtype, name, program, protection, proto, qualifiers, relates, relatesType, req, section, sli, spec, startColumn, startLine, subGrouping, tArgLists, type, typeConstr, UNKNOWN, vhdlSpec and virt.

Referenced by Entry.

section

setFileDef

void Entry::setFileDef (FileDef * fd)

Declaration at line 168 of file entry.h, definition at line 244 of file entry.cpp.

245{
246 m_fileDef = fd;
247 for (const auto &childNode : m_sublist)
248 {
249 childNode->setFileDef(fd);
250 }
251}

References m_fileDef and m_sublist.

sli

spec

startColumn

startLine

subGrouping

bool Entry::subGrouping

automatically group class members?

Definition at line 188 of file entry.h.

188 bool subGrouping; //!< automatically group class members?

Referenced by addClassToContext, Entry and reset.

tagInfo

tagInfoData

TagInfo Entry::tagInfoData

tag file info data

Definition at line 176 of file entry.h.

176 TagInfo tagInfoData; //!< tag file info data

Referenced by Entry and tagInfo.

tArgLists

ArgumentLists Entry::tArgLists

type

typeConstr

ArgumentList Entry::typeConstr

where clause (C#) for type constraints

Definition at line 215 of file entry.h.

215 ArgumentList typeConstr; //!< where clause (C#) for type constraints

Referenced by addClassToContext, addGlobalFunction, addInterfaceOrServiceToServiceOrSingleton, addMemberSpecialization, addMethodToClass, addOverloaded, Entry and reset.

vhdlSpec

virt

write

QCString Entry::write

property write accessor

Definition at line 212 of file entry.h.

212 QCString write; //!< property write accessor

Referenced by addVariableToClass and Entry.

add entry as a child and pass ownership.

info

This makes the entry passed invalid!

moveToSubEntryAndKeep

void Entry::moveToSubEntryAndKeep (Entry * e)

Declaration at line 145 of file entry.h, definition at line 144 of file entry.cpp.

145{
146 current->m_parent=this;
147 m_sublist.emplace_back(current);
148}

References Entry, m_parent and m_sublist.

Referenced by initUCF.

moveToSubEntryAndKeep

void Entry::moveToSubEntryAndKeep (std::shared_ptr< Entry > e)

Declaration at line 146 of file entry.h, definition at line 150 of file entry.cpp.

150void Entry::moveToSubEntryAndKeep(std::shared_ptr<Entry> current)
151{
152 current->m_parent=this;
153 m_sublist.push_back(current);
154}

Reference m_sublist.


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus by Doxygen 1.14.0.