Doxygen
Loading...
Searching...
No Matches
NamespaceLinkedRefMap Class Reference

#include <src/namespacedef.h>

Inheritance diagram for NamespaceLinkedRefMap:
Collaboration diagram for NamespaceLinkedRefMap:

Public Member Functions

void writeDeclaration (OutputList &ol, const QCString &title, bool isConstantGroup=false, bool localName=FALSE)
bool declVisible (bool isContantGroup) const
Public Member Functions inherited from LinkedRefMap< const NamespaceDef >
const const NamespaceDeffind (const std::string &key) const
bool add (const char *k, const NamespaceDef *obj)
bool prepend (const char *k, const NamespaceDef *obj)
bool del (const QCString &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< const NamespaceDef >
using Ptr
using Vec
using iterator
using const_iterator
using reverse_iterator
using const_reverse_iterator

Detailed Description

Definition at line 45 of file namespacedef.h.

Member Function Documentation

◆ declVisible()

bool NamespaceLinkedRefMap::declVisible ( bool isContantGroup) const

Definition at line 1374 of file namespacedef.cpp.

1375{
1376 bool found=false;
1377 for (const auto &nd : *this)
1378 {
1379 if (nd->isLinkable() && nd->hasDocumentation())
1380 {
1381 SrcLangExt lang = nd->getLanguage();
1382 if (SrcLangExt::IDL==lang)
1383 {
1384 if (isConstantGroup == nd->isConstantGroup())
1385 {
1386 found=true;
1387 break;
1388 }
1389 }
1390 else if (!isConstantGroup) // ensure we only get extra section in IDL
1391 {
1392 if (nd->isConstantGroup())
1393 {
1394 err("Internal inconsistency: constant group but not IDL?\n");
1395 }
1396 found=true;
1397 break;
1398 }
1399 }
1400 }
1401 return found;
1402}
#define err(fmt,...)
Definition message.h:127
SrcLangExt
Definition types.h:207

References err.

Referenced by writeDeclaration().

◆ writeDeclaration()

void NamespaceLinkedRefMap::writeDeclaration ( OutputList & ol,
const QCString & title,
bool isConstantGroup = false,
bool localName = FALSE )

Definition at line 1404 of file namespacedef.cpp.

1406{
1407
1408
1409 if (empty()) return; // no namespaces in the list
1410
1411 if (Config_getBool(OPTIMIZE_OUTPUT_VHDL)) return;
1412
1413 if (!declVisible(isConstantGroup)) return;
1414
1415 // write list of namespaces
1416 ol.startMemberHeader(isConstantGroup ? "constantgroups" : "namespaces");
1417 //bool javaOpt = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
1418 //bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
1419 ol.parseText(title);
1420 ol.endMemberHeader();
1421 ol.startMemberList();
1422 for (const auto &nd : *this)
1423 {
1424 if (nd->isLinkable() && nd->hasDocumentation())
1425 {
1426 SrcLangExt lang = nd->getLanguage();
1427 if (lang==SrcLangExt::IDL && (isConstantGroup != nd->isConstantGroup()))
1428 continue; // will be output in another pass, see layout_default.xml
1430 QCString name = localName ? nd->localName() : nd->displayName();
1431 QCString anc = nd->anchor();
1432 if (anc.isEmpty()) anc=name; else anc.prepend(name+"_");
1434 QCString ct = nd->compoundTypeString();
1435 ol.docify(ct);
1436 ol.docify(" ");
1437 ol.insertMemberAlign();
1438 ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),QCString(),name);
1440 if (!nd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
1441 {
1442 ol.startMemberDescription(nd->getOutputFileBase());
1443 ol.generateDoc(nd->briefFile(),
1444 nd->briefLine(),
1445 nd,
1446 nullptr,
1447 nd->briefDescription(),
1448 DocOptions()
1449 .setSingleLine(true));
1451 }
1452 ol.endMemberDeclaration(QCString(),QCString());
1453 }
1454 }
1455 ol.endMemberList();
1456}
bool declVisible(bool isContantGroup) const
void startMemberDeclaration()
Definition outputlist.h:569
void endMemberDescription()
Definition outputlist.h:567
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
Definition outputlist.h:439
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
Definition outputlist.h:565
void docify(const QCString &s)
Definition outputlist.h:437
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, const DocOptions &options)
void startMemberList()
Definition outputlist.h:481
void endMemberItem(OutputGenerator::MemberItemType type)
Definition outputlist.h:495
void endMemberList()
Definition outputlist.h:483
void insertMemberAlign(bool templ=FALSE)
Definition outputlist.h:517
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:571
void endMemberHeader()
Definition outputlist.h:471
void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())
Definition outputlist.h:493
void parseText(const QCString &textStr)
void startMemberHeader(const QCString &anchor, int typ=2)
Definition outputlist.h:469
QCString & prepend(const char *s)
Definition qcstring.h:422
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
#define Config_getBool(name)
Definition config.h:33

References Config_getBool, declVisible(), OutputList::docify(), LinkedRefMap< const NamespaceDef >::empty(), OutputList::endMemberDeclaration(), OutputList::endMemberDescription(), OutputList::endMemberHeader(), OutputList::endMemberItem(), OutputList::endMemberList(), OutputList::generateDoc(), OutputList::insertMemberAlign(), QCString::isEmpty(), OutputGenerator::Normal, OutputList::parseText(), QCString::prepend(), OutputList::startMemberDeclaration(), OutputList::startMemberDescription(), OutputList::startMemberHeader(), OutputList::startMemberItem(), OutputList::startMemberList(), and OutputList::writeObjectLink().


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