Doxygen
Loading...
Searching...
No Matches
ClassLinkedRefMap Class Referencefinal

#include <src/classlist.h>

Inheritance diagram for ClassLinkedRefMap:
Collaboration diagram for ClassLinkedRefMap:

Public Member Functions

bool declVisible (const ClassDef::CompoundType *filter=nullptr) const
void writeDeclaration (OutputList &ol, const ClassDef::CompoundType *filter, const DString &header, bool localNames) const
void writeDocumentation (OutputList &ol, const Definition *container=nullptr) const
Public Member Functions inherited from LinkedRefMap< ClassDef >
const ClassDeffind (const std::string &key) const
bool add (const char *k, ClassDef *obj)
bool prepend (const char *k, ClassDef *obj)
bool del (const DString &key)
Ptroperator[] (size_t pos)
iterator begin ()
iterator end ()
reverse_iterator rbegin ()
reverse_iterator rend ()
bool empty () const
size_t size () const
void clear ()

Additional Inherited Members

Public Types inherited from LinkedRefMap< ClassDef >
using Ptr
using Vec
using iterator
using const_iterator
using reverse_iterator
using const_reverse_iterator

Detailed Description

Definition at line 28 of file classlist.h.

Member Function Documentation

◆ declVisible()

bool ClassLinkedRefMap::declVisible ( const ClassDef::CompoundType * filter = nullptr) const

Definition at line 27 of file classlist.cpp.

28{
29 bool hideUndocClasses = Config_getBool(HIDE_UNDOC_CLASSES);
30 bool extractLocalClasses = Config_getBool(EXTRACT_LOCAL_CLASSES);
31 for (const auto &cd : *this)
32 {
33 if (!cd->isAnonymous() &&
34 (filter==nullptr || *filter==cd->compoundType())
35 )
36 {
37 bool isLink = cd->isLinkable();
38 if (isLink ||
39 (!hideUndocClasses &&
40 (!cd->isLocal() || extractLocalClasses)
41 )
42 )
43 {
44 return true;
45 }
46 }
47 }
48 return false;
49}
#define Config_getBool(name)
Definition config.h:33

References Config_getBool.

Referenced by ClassDefImpl::writeSummaryLinks(), FileDefImpl::writeSummaryLinks(), GroupDefImpl::writeSummaryLinks(), ModuleDefImpl::writeSummaryLinks(), and NamespaceDefImpl::writeSummaryLinks().

◆ writeDeclaration()

void ClassLinkedRefMap::writeDeclaration ( OutputList & ol,
const ClassDef::CompoundType * filter,
const DString & header,
bool localNames ) const

Definition at line 51 of file classlist.cpp.

53{
54 bool extractPrivate = Config_getBool(EXTRACT_PRIVATE);
55 bool found=false;
56 for (const auto &cd : *this)
57 {
58 //printf(" ClassLinkedRefMap::writeDeclaration for %s\n",cd->name().data());
59 if (!cd->isAnonymous() &&
60 !cd->isExtension() &&
61 (cd->protection()!=Protection::Private || extractPrivate) &&
62 (filter==nullptr || *filter==cd->compoundType())
63 )
64 {
65 //printf("writeDeclarationLink()\n");
66 cd->writeDeclarationLink(ol,found,header,localNames);
67 }
68 }
69 if (found) ol.endMemberList();
70}
void endMemberList()
Definition outputlist.h:479

References Config_getBool, and OutputList::endMemberList().

Referenced by FileDefImpl::writeClassDeclarations(), ModuleDefImpl::writeClassDeclarations(), NamespaceDefImpl::writeClassDeclarations(), GroupDefImpl::writeClasses(), and ClassDefImpl::writeNestedClasses().

◆ writeDocumentation()

void ClassLinkedRefMap::writeDocumentation ( OutputList & ol,
const Definition * container = nullptr ) const

Definition at line 72 of file classlist.cpp.

73{
74 bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
75
76 bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES);
77 bool inlineSimpleClasses = Config_getBool(INLINE_SIMPLE_STRUCTS);
78 if (!inlineGroupedClasses && !inlineSimpleClasses) return;
79
80 bool found=false;
81
82 for (const auto &cd : *this)
83 {
84 //printf("%s:writeDocumentation() %p linkable=%d embedded=%d container=%p partOfGroups=%zu anonymous=%d\n",
85 // cd->name().data(),(void*)cd->getOuterScope(),cd->isLinkableInProject(),cd->isEmbeddedInOuterScope(),
86 // (void*)container,cd->partOfGroups().size(),cd->isAnonymous());
87
88 if (!cd->isAnonymous() &&
89 cd->isLinkableInProject() &&
90 cd->isEmbeddedInOuterScope() &&
91 !cd->isAlias() &&
92 (container==nullptr || cd->partOfGroups().empty()) // if container==nullptr -> show as part of the group docs, otherwise only show if not part of a group
93 )
94 {
95 //printf(" showing class %s\n",cd->name().data());
96 if (!found)
97 {
98 ol.writeRuler();
99 ol.startGroupHeader("inline_classes");
102 ol.endGroupHeader();
103 found=true;
104 }
105 cd->writeInlineDocumentation(ol);
106 }
107 }
108}
void parseText(const DString &textStr)
void writeRuler()
Definition outputlist.h:517
void endGroupHeader(int extraLevels=0)
Definition outputlist.h:451
void startGroupHeader(const DString &id=DString(), int extraLevels=0)
Definition outputlist.h:449
virtual DString trClassDocumentation()=0
virtual DString trTypeDocumentation()=0
Translator * theTranslator
Definition language.cpp:76

References Config_getBool, OutputList::endGroupHeader(), OutputList::parseText(), Definition::partOfGroups(), OutputList::startGroupHeader(), theTranslator, Translator::trClassDocumentation(), Translator::trTypeDocumentation(), and OutputList::writeRuler().

Referenced by ClassDefImpl::writeInlineClasses(), FileDefImpl::writeInlineClasses(), GroupDefImpl::writeInlineClasses(), and NamespaceDefImpl::writeInlineClasses().


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