Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
NamespaceDef Class Reference

#include <namespacedef.h>

Inheritance diagram for NamespaceDef:
Definition DefinitionIntf

Public Member Functions

 NamespaceDef (const char *defFileName, int defLine, int defColumn, const char *name, const char *ref=0, const char *refFile=0, const char *type=0, bool isPublished=false)
 
 ~NamespaceDef ()
 
DefType definitionType () const
 
QCString getOutputFileBase () const
 
QCString anchor () const
 
void insertUsedFile (FileDef *fd)
 
void writeDocumentation (OutputList &ol)
 
void writeMemberPages (OutputList &ol)
 
void writeQuickMemberLinks (OutputList &ol, MemberDef *currentMd) const
 
void writeTagFile (FTextStream &)
 
void insertClass (ClassDef *cd)
 
void insertNamespace (NamespaceDef *nd)
 
void insertMember (MemberDef *md)
 
void computeAnchors ()
 
int countMembers ()
 
void addUsingDirective (NamespaceDef *nd)
 
NamespaceSDictgetUsedNamespaces () const
 
void addUsingDeclaration (Definition *def)
 
SDict< Definition > * getUsedClasses () const
 
void combineUsingRelations ()
 
QCString displayName (bool=TRUE) const
 
QCString localName () const
 
bool isConstantGroup () const
 
bool isModule () const
 
bool isLibrary () const
 
bool isLinkableInProject () const
 
bool isLinkable () const
 
bool hasDetailedDescription () const
 
void addMembersToMemberGroup ()
 
void distributeMemberGroupDocumentation ()
 
void findSectionsInDocumentation ()
 
void sortMemberLists ()
 
virtual DefinitionfindInnerCompound (const char *name)
 
void addInnerCompound (Definition *d)
 
void addListReferences ()
 
void setFileName (const QCString &fn)
 
bool subGrouping () const
 
MemberListgetMemberList (MemberListType lt) const
 
const QList< MemberList > & getMemberLists () const
 
MemberDefgetMemberByName (const QCString &) const
 
MemberGroupSDictgetMemberGroupSDict () const
 
ClassSDictgetClassSDict () const
 
NamespaceSDictgetNamespaceSDict () const
 
QCString title () const
 
QCString compoundTypeString () const
 
- Public Member Functions inherited from Definition
 Definition (const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
 
virtual ~Definition ()
 
const QCStringname () const
 
QCString localName () const
 
virtual QCString qualifiedName () const
 
QCString symbolName () const
 
virtual QCString getSourceFileBase () const
 
virtual QCString getSourceAnchor () const
 
virtual QCString documentation () const
 
int docLine () const
 
QCString docFile () const
 
virtual QCString briefDescription (bool abbreviate=FALSE) const
 
QCString briefDescriptionAsTooltip () const
 
int briefLine () const
 
QCString inbodyDocumentation () const
 
QCString inbodyFile () const
 
int inbodyLine () const
 
QCString briefFile () const
 
QCString getDefFileName () const
 
QCString getDefFileExtension () const
 
int getDefLine () const
 
int getDefColumn () const
 
virtual bool hasDocumentation () const
 
virtual bool hasUserDocumentation () const
 
virtual bool isVisibleInProject () const
 
virtual bool isVisible () const
 
bool isHidden () const
 
bool isArtificial () const
 
virtual QCString getReference () const
 
virtual bool isReference () const
 
QCString externalReference (const QCString &relPath) const
 
int getStartBodyLine () const
 
int getEndBodyLine () const
 
FileDefgetBodyDef () const
 
SrcLangExt getLanguage () const
 
GroupListpartOfGroups () const
 
QList< ListItemInfo > * xrefListItems () const
 
virtual DefinitiongetOuterScope () const
 
MemberSDictgetReferencesMembers () const
 
MemberSDictgetReferencedByMembers () const
 
bool hasSections () const
 
bool hasSources () const
 
bool hasBriefDescription () const
 
QCString id () const
 
virtual void setName (const char *name)
 
void setId (const char *name)
 
virtual void setDocumentation (const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
 
virtual void setBriefDescription (const char *b, const char *briefFile, int briefLine)
 
virtual void setInbodyDocumentation (const char *d, const char *docFile, int docLine)
 
void setReference (const char *r)
 
void addSectionsToDefinition (QList< SectionInfo > *anchorList)
 
void setBodySegment (int bls, int ble)
 
void setBodyDef (FileDef *fd)
 
void addSourceReferencedBy (MemberDef *d)
 
void addSourceReferences (MemberDef *d)
 
void setRefItems (const QList< ListItemInfo > *sli)
 
void mergeRefItems (Definition *d)
 
virtual void setOuterScope (Definition *d)
 
virtual void setHidden (bool b)
 
void setArtificial (bool b)
 
void setLanguage (SrcLangExt lang)
 
QCString convertNameToFile (const char *name, bool allowDots=FALSE) const
 
void writeSourceDef (OutputList &ol, const char *scopeName)
 
void writeInlineCode (OutputList &ol, const char *scopeName)
 
void writeSourceRefs (OutputList &ol, const char *scopeName)
 
void writeSourceReffedBy (OutputList &ol, const char *scopeName)
 
void makePartOfGroup (GroupDef *gd)
 
void writeNavigationPath (OutputList &ol) const
 
QCString navigationPathAsString () const
 
QCString pathFragment () const
 
void writeDocAnchorsToTagFile (FTextStream &)
 
void setLocalName (const QCString name)
 
void addSectionsToIndex ()
 
void writeToc (OutputList &ol)
 
void setCookie (Cookie *cookie)
 
Cookiecookie () const
 
- Public Member Functions inherited from DefinitionIntf
 DefinitionIntf ()
 
virtual ~DefinitionIntf ()
 

Public Attributes

bool visited
 

Private Types

enum  { NAMESPACE, MODULE, CONSTANT_GROUP, LIBRARY }
 

Private Member Functions

MemberListcreateMemberList (MemberListType lt)
 
void addMemberToList (MemberListType lt, MemberDef *md)
 
void writeMemberDeclarations (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeMemberDocumentation (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeDetailedDescription (OutputList &ol, const QCString &title)
 
void writeBriefDescription (OutputList &ol)
 
void startMemberDeclarations (OutputList &ol)
 
void endMemberDeclarations (OutputList &ol)
 
void writeClassDeclarations (OutputList &ol, const QCString &title)
 
void writeInlineClasses (OutputList &ol)
 
void writeNamespaceDeclarations (OutputList &ol, const QCString &title, bool isConstantGroup=false)
 
void writeMemberGroups (OutputList &ol)
 
void writeAuthorSection (OutputList &ol)
 
void startMemberDocumentation (OutputList &ol)
 
void endMemberDocumentation (OutputList &ol)
 
void writeSummaryLinks (OutputList &ol)
 
void addNamespaceAttributes (OutputList &ol)
 

Private Attributes

QCString fileName
 
FileList files
 
NamespaceSDictusingDirList
 
SDict< Definition > * usingDeclList
 
SDict< Definition > * m_innerCompounds
 
MemberSDictm_allMembersDict
 
QList< MemberListm_memberLists
 
MemberGroupSDictmemberGroupSDict
 
ClassSDictclassSDict
 
NamespaceSDictnamespaceSDict
 
bool m_subGrouping
 
enum NamespaceDef:: { ... }  m_type
 
bool m_isPublished
 

Additional Inherited Members

- Public Types inherited from DefinitionIntf
enum  DefType {
  TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3,
  TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7,
  TypeSymbolList = 8
}
 
- Protected Member Functions inherited from Definition
 Definition (const Definition &d)
 

Detailed Description

A model of a namespace symbol.

Definition at line 39 of file namespacedef.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
NAMESPACE 
MODULE 
CONSTANT_GROUP 
LIBRARY 

Definition at line 141 of file namespacedef.h.

Constructor & Destructor Documentation

NamespaceDef::NamespaceDef ( const char *  defFileName,
int  defLine,
int  defColumn,
const char *  name,
const char *  ref = 0,
const char *  refFile = 0,
const char *  type = 0,
bool  isPublished = false 
)

Definition at line 36 of file namespacedef.cpp.

39  :
40  Definition(df,dl,dc,name)
41  ,m_isPublished(isPublished)
42 {
43  if (fName)
44  {
45  fileName = stripExtension(fName);
46  }
47  else
48  {
50  }
51  classSDict = new ClassSDict(17);
54  usingDirList = 0;
55  usingDeclList = 0;
56  m_allMembersDict = 0;
57  setReference(lref);
60  visited=FALSE;
61  m_subGrouping=Config_getBool("SUBGROUPING");
62  if (type && !strcmp("module", type))
63  {
64  m_type = MODULE;
65  }
66  else if (type && !strcmp("constants", type))
67  {
69  }
70  else if (type && !strcmp("library", type))
71  {
72  m_type = LIBRARY;
73  }
74  else
75  {
76  m_type = NAMESPACE;
77  }
78 }
void setAutoDelete(bool val)
Definition: sortdict.h:545
const bool FALSE
Definition: qglobal.h:370
MemberSDict * m_allMembersDict
Definition: namespacedef.h:135
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
const QCString & name() const
Definition: definition.h:114
ClassSDict * classSDict
Definition: namespacedef.h:138
bool m_subGrouping
Definition: namespacedef.h:140
QCString fileName
Definition: namespacedef.h:128
void setFileName(const QCString &fn)
#define Config_getBool(val)
Definition: config.cpp:664
void setReference(const char *r)
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
SDict< Definition > * m_innerCompounds
Definition: namespacedef.h:133
bool m_isPublished
Definition: namespacedef.h:142
int strcmp(const String &s1, const String &s2)
Definition: relates.cpp:14
Definition(const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
Definition: definition.cpp:283
enum NamespaceDef::@8 m_type
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
QCString stripExtension(const char *fName)
Definition: util.cpp:6799
SDict< Definition > * usingDeclList
Definition: namespacedef.h:132
const bool TRUE
Definition: qglobal.h:371
NamespaceDef::~NamespaceDef ( )

Definition at line 80 of file namespacedef.cpp.

81 {
82  delete classSDict;
83  delete namespaceSDict;
84  delete m_innerCompounds;
85  delete usingDirList;
86  delete usingDeclList;
87  delete memberGroupSDict;
88  delete m_allMembersDict;
89 }
MemberSDict * m_allMembersDict
Definition: namespacedef.h:135
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
ClassSDict * classSDict
Definition: namespacedef.h:138
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
SDict< Definition > * m_innerCompounds
Definition: namespacedef.h:133
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
SDict< Definition > * usingDeclList
Definition: namespacedef.h:132

Member Function Documentation

void NamespaceDef::addInnerCompound ( Definition d)
virtual

Reimplemented from Definition.

Definition at line 139 of file namespacedef.cpp.

140 {
143  {
145  }
146  else if (d->definitionType()==Definition::TypeClass)
147  {
148  insertClass((ClassDef *)d);
149  }
150 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
virtual DefType definitionType() const =0
void insertNamespace(NamespaceDef *nd)
void insertClass(ClassDef *cd)
SDict< Definition > * m_innerCompounds
Definition: namespacedef.h:133
QCString localName() const
void NamespaceDef::addListReferences ( )

Definition at line 829 of file namespacedef.cpp.

830 {
831  //bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
832  {
833  QList<ListItemInfo> *xrefItems = xrefListItems();
834  addRefItem(xrefItems,
835  qualifiedName(),
840  0,
841  this
842  );
843  }
845  MemberGroup *mg;
846  for (;(mg=mgli.current());++mgli)
847  {
848  mg->addListReferences(this);
849  }
851  MemberList *ml;
852  for (mli.toFirst();(ml=mli.current());++mli)
853  {
855  {
856  ml->addListReferences(this);
857  }
858  }
859 }
MemberListType listType() const
Definition: memberlist.h:38
QCString displayName(bool=TRUE) const
QCString getOutputFileBase() const
QList< ListItemInfo > * xrefListItems() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
virtual QCString trModule(bool first_capital, bool singular)=0
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
SrcLangExt getLanguage() const
virtual QCString qualifiedName() const
virtual QCString trNamespace(bool first_capital, bool singular)=0
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
void addRefItem(const QList< ListItemInfo > *sli, const char *key, const char *prefix, const char *name, const char *title, const char *args, Definition *scope)
Definition: util.cpp:6456
Translator * theTranslator
Definition: language.cpp:157
void addListReferences(Definition *def)
Definition: memberlist.cpp:784
const bool TRUE
Definition: qglobal.h:371
void addListReferences(Definition *d)
void NamespaceDef::addMembersToMemberGroup ( )

Definition at line 175 of file namespacedef.cpp.

176 {
178  MemberList *ml;
179  for (mli.toFirst();(ml=mli.current());++mli)
180  {
182  {
184  }
185  }
186 
187  // add members inside sections to their groups
188  if (memberGroupSDict)
189  {
191  MemberGroup *mg;
192  for (;(mg=mgli.current());++mgli)
193  {
195  {
196  //printf("----> addToDeclarationSection(%s)\n",mg->header().data());
198  }
199  }
200  }
201 }
MemberListType listType() const
Definition: memberlist.h:38
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
void addMembersToMemberGroup()
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
bool allMembersInSameSection() const
Definition: membergroup.h:67
bool m_subGrouping
Definition: namespacedef.h:140
void addToDeclarationSection()
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
void NamespaceDef::addMemberToList ( MemberListType  lt,
MemberDef md 
)
private

Definition at line 1039 of file namespacedef.cpp.

1040 {
1041  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
1042  static bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
1043  MemberList *ml = createMemberList(lt);
1044  ml->setNeedsSorting(
1045  ((ml->listType()&MemberListType_declarationLists) && sortBriefDocs) ||
1046  ((ml->listType()&MemberListType_documentationLists) && sortMemberDocs));
1047  ml->append(md);
1048 
1049 #if 0
1050  if (ml->needsSorting())
1051  ml->inSort(md);
1052  else
1053  ml->append(md);
1054 #endif
1055 
1057 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const MemberDef *md)
Definition: memberlist.cpp:246
void inSort(const MemberDef *md)
Definition: memberlist.cpp:241
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
#define Config_getBool(val)
Definition: config.cpp:664
void setSectionList(Definition *d, MemberList *sl)
Definition: memberdef.cpp:3548
MemberList * createMemberList(MemberListType lt)
bool needsSorting() const
Definition: memberlist.h:53
void NamespaceDef::addNamespaceAttributes ( OutputList ol)
private

Definition at line 538 of file namespacedef.cpp.

539 {
540  // UNO IDL constant groups may be published
542  {
543  ol.pushGeneratorState();
545  ol.startLabels();
546  ol.writeLabel("published",false);
547  ol.endLabels();
548  ol.popGeneratorState();
549  }
550 }
void endLabels()
Definition: outputlist.h:471
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void writeLabel(const char *l, bool isLast)
Definition: outputlist.h:469
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
SrcLangExt getLanguage() const
bool m_isPublished
Definition: namespacedef.h:142
bool isConstantGroup() const
Definition: namespacedef.h:71
void startLabels()
Definition: outputlist.h:467
void NamespaceDef::addUsingDeclaration ( Definition def)

Definition at line 787 of file namespacedef.cpp.

788 {
789  if (usingDeclList==0)
790  {
792  }
793  if (usingDeclList->find(d->qualifiedName())==0)
794  {
795  usingDeclList->append(d->qualifiedName(),d);
796  }
797 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
T * find(const char *key)
Definition: sortdict.h:232
SDict< Definition > * usingDeclList
Definition: namespacedef.h:132
void NamespaceDef::addUsingDirective ( NamespaceDef nd)

Definition at line 768 of file namespacedef.cpp.

769 {
770  if (usingDirList==0)
771  {
773  }
774  if (usingDirList->find(nd->qualifiedName())==0)
775  {
776  usingDirList->append(nd->qualifiedName(),nd);
777  }
778  //printf("%p: NamespaceDef::addUsingDirective: %s:%d\n",this,name().data(),usingDirList->count());
779 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
virtual QCString qualifiedName() const
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
T * find(const char *key)
Definition: sortdict.h:232
QCString NamespaceDef::anchor ( ) const
inlinevirtual

Returns the anchor within a page where this item can be found

Implements Definition.

Definition at line 49 of file namespacedef.h.

49 { return QCString(); }
void NamespaceDef::combineUsingRelations ( )

Definition at line 885 of file namespacedef.cpp.

886 {
887  if (visited) return; // already done
888  visited=TRUE;
889  if (usingDirList)
890  {
892  NamespaceDef *nd;
893  for (nli.toFirst();(nd=nli.current());++nli)
894  {
895  nd->combineUsingRelations();
896  }
897  for (nli.toFirst();(nd=nli.current());++nli)
898  {
899  // add used namespaces of namespace nd to this namespace
900  if (nd->getUsedNamespaces())
901  {
903  NamespaceDef *und;
904  for (unli.toFirst();(und=unli.current());++unli)
905  {
906  //printf("Adding namespace %s to the using list of %s\n",und->qualifiedName().data(),qualifiedName().data());
907  addUsingDirective(und);
908  }
909  }
910  // add used classes of namespace nd to this namespace
911  if (nd->getUsedClasses())
912  {
914  Definition *ucd;
915  for (cli.toFirst();(ucd=cli.current());++cli)
916  {
917  //printf("Adding class %s to the using list of %s\n",cd->qualifiedName().data(),qualifiedName().data());
918  addUsingDeclaration(ucd);
919  }
920  }
921  }
922  }
923 }
NamespaceSDict * getUsedNamespaces() const
def cli(ctx)
Definition: main.py:7
Definition: sortdict.h:73
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
SDict< Definition > * getUsedClasses() const
Definition: namespacedef.h:66
friend class Iterator
Definition: sortdict.h:289
void addUsingDeclaration(Definition *def)
void addUsingDirective(NamespaceDef *nd)
const bool TRUE
Definition: qglobal.h:371
void combineUsingRelations()
QCString NamespaceDef::compoundTypeString ( ) const

Definition at line 1165 of file namespacedef.cpp.

1166 {
1167  SrcLangExt lang = getLanguage();
1168  if (lang==SrcLangExt_Java)
1169  {
1170  return "package";
1171  }
1172  else if(lang==SrcLangExt_CSharp)
1173  {
1174  return "namespace";
1175  }
1176  else if (lang==SrcLangExt_Fortran)
1177  {
1178  return "module";
1179  }
1180  else if (lang==SrcLangExt_IDL)
1181  {
1182  if (isModule())
1183  {
1184  return "module";
1185  }
1186  else if (isConstantGroup())
1187  {
1188  return "constants";
1189  }
1190  else if (isLibrary())
1191  {
1192  return "library";
1193  }
1194  else
1195  {
1196  err_full(getDefFileName(),getDefLine(),"Internal inconsistency: namespace in IDL not module, library or constant group");
1197  }
1198  }
1199  return "";
1200 }
SrcLangExt
Definition: types.h:41
QCString getDefFileName() const
int getDefLine() const
Definition: definition.h:188
SrcLangExt getLanguage() const
bool isLibrary() const
Definition: namespacedef.h:73
void err_full(const char *file, int line, const char *fmt,...)
Definition: message.cpp:234
bool isConstantGroup() const
Definition: namespacedef.h:71
bool isModule() const
Definition: namespacedef.h:72
void NamespaceDef::computeAnchors ( )

Definition at line 254 of file namespacedef.cpp.

255 {
257  if (allMemberList) setAnchors(allMemberList);
258 }
void setAnchors(MemberList *ml)
Definition: util.cpp:2254
MemberList * getMemberList(MemberListType lt) const
int NamespaceDef::countMembers ( )

Definition at line 761 of file namespacedef.cpp.

762 {
764  if (allMemberList) allMemberList->countDocMembers();
765  return (allMemberList ? allMemberList->numDocMembers() : 0)+classSDict->count();
766 }
int count() const
Definition: sortdict.h:284
void countDocMembers(bool countEnumValues=FALSE)
Definition: memberlist.cpp:208
ClassSDict * classSDict
Definition: namespacedef.h:138
int numDocMembers() const
Definition: memberlist.h:52
MemberList * getMemberList(MemberListType lt) const
MemberList * NamespaceDef::createMemberList ( MemberListType  lt)
private

Definition at line 1021 of file namespacedef.cpp.

1022 {
1025  MemberList *ml;
1026  for (mli.toFirst();(ml=mli.current());++mli)
1027  {
1028  if (ml->listType()==lt)
1029  {
1030  return ml;
1031  }
1032  }
1033  // not found, create a new member list
1034  ml = new MemberList(lt);
1035  m_memberLists.append(ml);
1036  return ml;
1037 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const type *d)
Definition: qlist.h:73
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
DefType NamespaceDef::definitionType ( ) const
inlinevirtual

Use this for dynamic inspection of the type of the derived class

Implements DefinitionIntf.

Definition at line 47 of file namespacedef.h.

QCString NamespaceDef::displayName ( bool  includeScope = TRUE) const
virtual

Returns the name of the definition as it appears in the output

Implements Definition.

Definition at line 861 of file namespacedef.cpp.

862 {
863  QCString result=includeScope ? name() : localName();
864  SrcLangExt lang = getLanguage();
866  if (sep!="::")
867  {
868  result = substitute(result,"::",sep);
869  }
870  //printf("NamespaceDef::displayName() %s->%s lang=%d\n",name().data(),result.data(),lang);
871  return result;
872 }
static QCString result
SrcLangExt
Definition: types.h:41
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Definition: util.cpp:8065
const QCString & name() const
Definition: definition.h:114
SrcLangExt getLanguage() const
QCString localName() const
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition: util.cpp:5088
void NamespaceDef::distributeMemberGroupDocumentation ( )

Definition at line 97 of file namespacedef.cpp.

98 {
100  MemberGroup *mg;
101  for (;(mg=mgli.current());++mgli)
102  {
104  }
105 }
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
void distributeMemberGroupDocumentation()
void NamespaceDef::endMemberDeclarations ( OutputList ol)
private

Definition at line 430 of file namespacedef.cpp.

431 {
432  ol.endMemberSections();
433 }
void endMemberSections()
Definition: outputlist.h:188
void NamespaceDef::endMemberDocumentation ( OutputList ol)
private

Definition at line 444 of file namespacedef.cpp.

445 {
446  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
447  {
450  }
451 }
const bool FALSE
Definition: qglobal.h:370
static bool suppressDocWarnings
Definition: doxygen.h:142
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
Definition * NamespaceDef::findInnerCompound ( const char *  name)
virtual

Reimplemented from Definition.

Definition at line 811 of file namespacedef.cpp.

812 {
813  if (n==0) return 0;
815  if (d==0)
816  {
817  if (usingDirList)
818  {
819  d = usingDirList->find(n);
820  }
821  if (d==0 && usingDeclList)
822  {
823  d = usingDeclList->find(n);
824  }
825  }
826  return d;
827 }
std::void_t< T > n
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
SDict< Definition > * m_innerCompounds
Definition: namespacedef.h:133
T * find(const char *key)
Definition: sortdict.h:232
SDict< Definition > * usingDeclList
Definition: namespacedef.h:132
void NamespaceDef::findSectionsInDocumentation ( )

Definition at line 107 of file namespacedef.cpp.

108 {
111  MemberGroup *mg;
112  for (;(mg=mgli.current());++mgli)
113  {
115  }
117  MemberList *ml;
118  for (mli.toFirst();(ml=mli.current());++mli)
119  {
121  {
123  }
124  }
125 }
MemberListType listType() const
Definition: memberlist.h:38
QCString docFile() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
void findSectionsInDocumentation()
Definition: memberlist.cpp:818
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
void docFindSections(const char *input, Definition *d, MemberGroup *mg, const char *fileName)
Definition: docparser.cpp:7434
void findSectionsInDocumentation()
virtual QCString documentation() const
ClassSDict* NamespaceDef::getClassSDict ( ) const
inline

Returns the classes contained in this namespace

Definition at line 98 of file namespacedef.h.

98 { return classSDict; }
ClassSDict * classSDict
Definition: namespacedef.h:138
MemberDef * NamespaceDef::getMemberByName ( const QCString n) const

Definition at line 1129 of file namespacedef.cpp.

1130 {
1131  MemberDef *md = 0;
1132  if (m_allMembersDict && !n.isEmpty())
1133  {
1134  md = m_allMembersDict->find(n);
1135  //printf("%s::m_allMembersDict->find(%s)=%p\n",name().data(),n.data(),md);
1136  }
1137  return md;
1138 }
bool isEmpty() const
Definition: qcstring.h:189
MemberSDict * m_allMembersDict
Definition: namespacedef.h:135
T * find(const char *key)
Definition: sortdict.h:232
MemberGroupSDict* NamespaceDef::getMemberGroupSDict ( ) const
inline

Returns the user defined member groups

Definition at line 95 of file namespacedef.h.

95 { return memberGroupSDict; }
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
MemberList * NamespaceDef::getMemberList ( MemberListType  lt) const

Definition at line 1079 of file namespacedef.cpp.

1080 {
1082  MemberList *ml;
1083  for (mli.toFirst();(ml=mli.current());++mli)
1084  {
1085  if (ml->listType()==lt)
1086  {
1087  return ml;
1088  }
1089  }
1090  return 0;
1091 }
MemberListType listType() const
Definition: memberlist.h:38
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
const QList<MemberList>& NamespaceDef::getMemberLists ( ) const
inline

Definition at line 91 of file namespacedef.h.

91 { return m_memberLists; }
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
NamespaceSDict* NamespaceDef::getNamespaceSDict ( ) const
inline

Returns the namespaces contained in this namespace

Definition at line 101 of file namespacedef.h.

101 { return namespaceSDict; }
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
QCString NamespaceDef::getOutputFileBase ( ) const
virtual

Returns the base file name (without extension) of this definition. as it is referenced to/written to disk.

Implements Definition.

Definition at line 799 of file namespacedef.cpp.

800 {
801  if (isReference())
802  {
803  return fileName;
804  }
805  else
806  {
807  return convertNameToFile(fileName);
808  }
809 }
QCString convertNameToFile(const char *name, bool allowDots=FALSE) const
virtual bool isReference() const
QCString fileName
Definition: namespacedef.h:128
SDict<Definition>* NamespaceDef::getUsedClasses ( ) const
inline

Definition at line 66 of file namespacedef.h.

66 { return usingDeclList; }
SDict< Definition > * usingDeclList
Definition: namespacedef.h:132
NamespaceSDict * NamespaceDef::getUsedNamespaces ( ) const

Definition at line 781 of file namespacedef.cpp.

782 {
783  //printf("%p: NamespaceDef::getUsedNamespace: %s:%d\n",this,name().data(),usingDirList?usingDirList->count():0);
784  return usingDirList;
785 }
NamespaceSDict * usingDirList
Definition: namespacedef.h:131
bool NamespaceDef::hasDetailedDescription ( ) const

Definition at line 260 of file namespacedef.cpp.

261 {
262  static bool repeatBrief = Config_getBool("REPEAT_BRIEF");
263  return ((!briefDescription().isEmpty() && repeatBrief) ||
264  !documentation().isEmpty());
265 }
#define Config_getBool(val)
Definition: config.cpp:664
virtual QCString briefDescription(bool abbreviate=FALSE) const
virtual QCString documentation() const
void NamespaceDef::insertClass ( ClassDef cd)

Definition at line 152 of file namespacedef.cpp.

153 {
154  if (classSDict->find(cd->name())==0)
155  {
156  if (Config_getBool("SORT_BRIEF_DOCS"))
157  classSDict->inSort(cd->name(),cd);
158  else
159  classSDict->append(cd->name(),cd);
160  }
161 }
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
ClassSDict * classSDict
Definition: namespacedef.h:138
#define Config_getBool(val)
Definition: config.cpp:664
T * find(const char *key)
Definition: sortdict.h:232
void NamespaceDef::insertMember ( MemberDef md)

Definition at line 203 of file namespacedef.cpp.

204 {
205  if (md->isHidden()) return;
207  if (allMemberList==0)
208  {
209  allMemberList = new MemberList(MemberListType_allMembersList);
210  m_memberLists.append(allMemberList);
211  }
212  allMemberList->append(md);
213  if (m_allMembersDict==0)
214  {
216  }
217  //printf("%s::m_allMembersDict->append(%s)\n",name().data(),md->localName().data());
219  //::addNamespaceMemberNameToIndex(md);
220  //static bool sortBriefDocs=Config_getBool("SORT_BRIEF_DOCS");
221  switch(md->memberType())
222  {
223  case MemberType_Variable:
226  break;
227  case MemberType_Function:
230  break;
231  case MemberType_Typedef:
234  break;
238  break;
239  case MemberType_EnumValue:
240  break;
241  case MemberType_Define:
244  break;
245  default:
246  err("NamespaceDef::insertMembers(): "
247  "member `%s' with class scope `%s' inserted in namespace scope `%s'!\n",
248  md->name().data(),
249  md->getClassDef() ? md->getClassDef()->name().data() : "",
250  name().data());
251  }
252 }
void append(const MemberDef *md)
Definition: memberlist.cpp:246
void append(const type *d)
Definition: qlist.h:73
void addMemberToList(MemberListType lt, MemberDef *md)
MemberSDict * m_allMembersDict
Definition: namespacedef.h:135
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
const char * data() const
Definition: qcstring.h:207
ClassDef * getClassDef() const
Definition: memberdef.cpp:4070
MemberList * getMemberList(MemberListType lt) const
void err(const char *fmt,...)
Definition: message.cpp:226
MemberType memberType() const
Definition: memberdef.cpp:4125
bool isHidden() const
QCString localName() const
void NamespaceDef::insertNamespace ( NamespaceDef nd)

Definition at line 163 of file namespacedef.cpp.

164 {
165  if (namespaceSDict->find(nd->name())==0)
166  {
167  if (Config_getBool("SORT_MEMBER_DOCS"))
168  namespaceSDict->inSort(nd->name(),nd);
169  else
170  namespaceSDict->append(nd->name(),nd);
171  }
172 }
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
#define Config_getBool(val)
Definition: config.cpp:664
T * find(const char *key)
Definition: sortdict.h:232
void NamespaceDef::insertUsedFile ( FileDef fd)

Definition at line 127 of file namespacedef.cpp.

128 {
129  if (fd==0) return;
130  if (files.find(fd)==-1)
131  {
132  if (Config_getBool("SORT_MEMBER_DOCS"))
133  files.inSort(fd);
134  else
135  files.append(fd);
136  }
137 }
void append(const type *d)
Definition: qlist.h:73
int find(const type *d) const
Definition: qlist.h:88
void inSort(const type *d)
Definition: qlist.h:71
#define Config_getBool(val)
Definition: config.cpp:664
FileList files
Definition: namespacedef.h:129
bool NamespaceDef::isConstantGroup ( ) const
inline

Definition at line 71 of file namespacedef.h.

71 { return CONSTANT_GROUP == m_type; }
enum NamespaceDef::@8 m_type
bool NamespaceDef::isLibrary ( ) const
inline

Definition at line 73 of file namespacedef.h.

73 { return LIBRARY == m_type; }
enum NamespaceDef::@8 m_type
bool NamespaceDef::isLinkable ( ) const
virtual

Returns TRUE iff it is possible to link to this item. This can be a link to another project imported via a tag file.

Implements Definition.

Definition at line 1124 of file namespacedef.cpp.

1125 {
1126  return isLinkableInProject() || isReference();
1127 }
virtual bool isReference() const
bool isLinkableInProject() const
bool NamespaceDef::isLinkableInProject ( ) const
virtual

Returns TRUE iff it is possible to link to this item within this project.

Implements Definition.

Definition at line 1106 of file namespacedef.cpp.

1107 {
1108  int i = name().findRev("::");
1109  if (i==-1) i=0; else i+=2;
1110  static bool extractAnonNs = Config_getBool("EXTRACT_ANON_NSPACES");
1111  if (extractAnonNs && // extract anonymous ns
1112  name().mid(i,20)=="anonymous_namespace{" // correct prefix
1113  ) // not disabled by config
1114  {
1115  return TRUE;
1116  }
1117  return !name().isEmpty() && name().at(i)!='@' && // not anonymous
1118  (hasDocumentation() || getLanguage()==SrcLangExt_CSharp) && // documented
1119  !isReference() && // not an external reference
1120  !isHidden() && // not hidden
1121  !isArtificial(); // or artificial
1122 }
bool isArtificial() const
bool isEmpty() const
Definition: qcstring.h:189
char & at(uint i) const
Definition: qcstring.h:326
virtual bool hasDocumentation() const
virtual bool isReference() const
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition: qcstring.cpp:95
const QCString & name() const
Definition: definition.h:114
SrcLangExt getLanguage() const
#define Config_getBool(val)
Definition: config.cpp:664
bool isHidden() const
const bool TRUE
Definition: qglobal.h:371
bool NamespaceDef::isModule ( ) const
inline

Definition at line 72 of file namespacedef.h.

72 { return MODULE == m_type; }
enum NamespaceDef::@8 m_type
QCString NamespaceDef::localName ( ) const

Definition at line 874 of file namespacedef.cpp.

875 {
876  QCString result=name();
877  int i=result.findRev("::");
878  if (i!=-1)
879  {
880  result=result.mid(i+2);
881  }
882  return result;
883 }
static QCString result
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition: qcstring.cpp:95
const QCString & name() const
Definition: definition.h:114
QCString mid(uint index, uint len=0xffffffff) const
Definition: qcstring.cpp:246
void NamespaceDef::setFileName ( const QCString fn)

Definition at line 91 of file namespacedef.cpp.

92 {
93  fileName="namespace";
94  fileName+=fn;
95 }
QAsciiDict< Entry > fn
QCString fileName
Definition: namespacedef.h:128
void NamespaceDef::sortMemberLists ( )

Definition at line 1059 of file namespacedef.cpp.

1060 {
1062  MemberList *ml;
1063  for (mli.toFirst();(ml=mli.current());++mli)
1064  {
1065  if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
1066  }
1067  if (classSDict)
1068  {
1069  classSDict->sort();
1070  }
1071  if (namespaceSDict)
1072  {
1073  namespaceSDict->sort();
1074  }
1075 }
const bool FALSE
Definition: qglobal.h:370
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
ClassSDict * classSDict
Definition: namespacedef.h:138
void sort()
Definition: qlist.h:85
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
void sort()
Definition: sortdict.h:188
bool needsSorting() const
Definition: memberlist.h:53
void NamespaceDef::startMemberDeclarations ( OutputList ol)
private

Definition at line 425 of file namespacedef.cpp.

426 {
427  ol.startMemberSections();
428 }
void startMemberSections()
Definition: outputlist.h:186
void NamespaceDef::startMemberDocumentation ( OutputList ol)
private

Definition at line 435 of file namespacedef.cpp.

436 {
437  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
438  {
441  }
442 }
static bool suppressDocWarnings
Definition: doxygen.h:142
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
const bool TRUE
Definition: qglobal.h:371
bool NamespaceDef::subGrouping ( ) const
inline

Definition at line 88 of file namespacedef.h.

88 { return m_subGrouping; }
bool m_subGrouping
Definition: namespacedef.h:140
QCString NamespaceDef::title ( ) const

Definition at line 1140 of file namespacedef.cpp.

1141 {
1142  SrcLangExt lang = getLanguage();
1143  QCString pageTitle;
1144  if (lang==SrcLangExt_Java)
1145  {
1146  pageTitle = theTranslator->trPackage(displayName());
1147  }
1148  else if (lang==SrcLangExt_Fortran)
1149  {
1151  }
1152  else if (lang==SrcLangExt_IDL)
1153  {
1154  pageTitle = isConstantGroup()
1157  }
1158  else
1159  {
1161  }
1162  return pageTitle;
1163 }
QCString displayName(bool=TRUE) const
virtual QCString trModuleReference(const char *namespaceName)=0
virtual QCString trNamespaceReference(const char *namespaceName)=0
SrcLangExt
Definition: types.h:41
SrcLangExt getLanguage() const
bool isConstantGroup() const
Definition: namespacedef.h:71
virtual QCString trPackage(const char *name)=0
Translator * theTranslator
Definition: language.cpp:157
virtual QCString trConstantGroupReference(const char *namespaceName)=0
void NamespaceDef::writeAuthorSection ( OutputList ol)
private

Definition at line 488 of file namespacedef.cpp.

489 {
490  // write Author section (Man only)
491  ol.pushGeneratorState();
493  ol.startGroupHeader();
495  ol.endGroupHeader();
497  ol.popGeneratorState();
498 }
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
virtual QCString trAuthor(bool first_capital, bool singular)=0
virtual QCString trGeneratedAutomatically(const char *s)=0
#define Config_getString(val)
Definition: config.cpp:660
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
Translator * theTranslator
Definition: language.cpp:157
const bool TRUE
Definition: qglobal.h:371
void NamespaceDef::writeBriefDescription ( OutputList ol)
private

Definition at line 389 of file namespacedef.cpp.

390 {
391  if (hasBriefDescription())
392  {
393  DocRoot *rootNode = validatingParseDoc(briefFile(),briefLine(),this,0,
395  if (rootNode && !rootNode->isEmpty())
396  {
397  ol.startParagraph();
398  ol.writeDoc(rootNode,this,0);
399  ol.pushGeneratorState();
401  ol.writeString(" \n");
403 
405  {
407  ol.startTextLink(0,"details");
409  ol.endTextLink();
410  }
411  ol.popGeneratorState();
412  ol.endParagraph();
413  }
414  delete rootNode;
415 
416  // FIXME:PARA
417  //ol.pushGeneratorState();
418  //ol.disable(OutputGenerator::RTF);
419  //ol.newParagraph();
420  //ol.popGeneratorState();
421  }
422  ol.writeSynopsis();
423 }
void writeString(const char *text)
Definition: outputlist.h:119
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void startParagraph()
Definition: outputlist.h:115
const bool FALSE
Definition: qglobal.h:370
DocRoot * validatingParseDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
Definition: docparser.cpp:7179
int briefLine() const
void startTextLink(const char *file, const char *anchor)
Definition: outputlist.h:159
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void endParagraph()
Definition: outputlist.h:117
bool hasDetailedDescription() const
void pushGeneratorState()
Definition: outputlist.cpp:111
bool hasBriefDescription() const
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void writeSynopsis()
Definition: outputlist.h:340
void writeDoc(DocRoot *root, Definition *ctx, MemberDef *md)
Definition: outputlist.cpp:162
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
QCString briefFile() const
virtual QCString trMore()=0
virtual QCString briefDescription(bool abbreviate=FALSE) const
Translator * theTranslator
Definition: language.cpp:157
bool isEmpty() const
Definition: docparser.h:1409
void endTextLink()
Definition: outputlist.h:161
const bool TRUE
Definition: qglobal.h:371
void NamespaceDef::writeClassDeclarations ( OutputList ol,
const QCString title 
)
private

Definition at line 453 of file namespacedef.cpp.

454 {
455  if (classSDict) classSDict->writeDeclaration(ol,0,title,TRUE);
456 }
ClassSDict * classSDict
Definition: namespacedef.h:138
void writeDeclaration(OutputList &ol, const ClassDef::CompoundType *filter=0, const char *header=0, bool localNames=FALSE)
Definition: classlist.cpp:94
const bool TRUE
Definition: qglobal.h:371
void NamespaceDef::writeDetailedDescription ( OutputList ol,
const QCString title 
)
private

Definition at line 347 of file namespacedef.cpp.

348 {
350  {
351  ol.pushGeneratorState();
353  ol.writeRuler();
354  ol.popGeneratorState();
355  ol.pushGeneratorState();
357  ol.writeAnchor(0,"details");
358  ol.popGeneratorState();
359  ol.startGroupHeader();
360  ol.parseText(title);
361  ol.endGroupHeader();
362 
363  ol.startTextBlock();
364  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
365  {
367  }
368  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
369  !documentation().isEmpty())
370  {
371  ol.pushGeneratorState();
374  //ol.newParagraph(); // FIXME:PARA
375  ol.enableAll();
378  ol.writeString("\n\n");
379  ol.popGeneratorState();
380  }
381  if (!documentation().isEmpty())
382  {
383  ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE);
384  }
385  ol.endTextBlock();
386  }
387 }
void writeRuler()
Definition: outputlist.h:240
QCString docFile() const
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
void writeString(const char *text)
Definition: outputlist.h:119
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
const bool FALSE
Definition: qglobal.h:370
int briefLine() const
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
bool hasDetailedDescription() const
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
void enableAll()
Definition: outputlist.cpp:59
void writeAnchor(const char *fileName, const char *name)
Definition: outputlist.h:242
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
int docLine() const
virtual QCString documentation() const
const bool TRUE
Definition: qglobal.h:371
void NamespaceDef::writeDocumentation ( OutputList ol)

Definition at line 552 of file namespacedef.cpp.

553 {
554  static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
555  //static bool outputJava = Config_getBool("OPTIMIZE_OUTPUT_JAVA");
556  //static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN");
557 
558  QCString pageTitle = title();
559  startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_NamespaceVisible,!generateTreeView);
560 
561  if (!generateTreeView)
562  {
564  {
566  }
567  ol.endQuickIndices();
568  }
569 
570  startTitle(ol,getOutputFileBase(),this);
571  ol.parseText(pageTitle);
572  addGroupListToTitle(ol,this);
575  ol.startContents();
576 
578  {
581  }
582 
584 
585  //---------------------------------------- start flexible part -------------------------------
586 
587  SrcLangExt lang = getLanguage();
590  LayoutDocEntry *lde;
591  for (eli.toFirst();(lde=eli.current());++eli)
592  {
593  switch (lde->kind())
594  {
597  break;
600  break;
602  {
604  writeClassDeclarations(ol,ls->title(lang));
605  }
606  break;
608  {
610  writeNamespaceDeclarations(ol,ls->title(lang),false);
611  }
612  break;
614  {
616  writeNamespaceDeclarations(ol,ls->title(lang),true);
617  }
618  break;
620  writeMemberGroups(ol);
621  break;
623  {
625  writeMemberDeclarations(ol,lmd->type,lmd->title(lang));
626  }
627  break;
630  break;
632  {
634  writeDetailedDescription(ol,ls->title(lang));
635  }
636  break;
639  break;
641  writeInlineClasses(ol);
642  break;
644  {
646  writeMemberDocumentation(ol,lmd->type,lmd->title(lang));
647  }
648  break;
651  break;
653  writeAuthorSection(ol);
654  break;
681  err("Internal inconsistency: member %d should not be part of "
682  "LayoutDocManager::Namespace entry list\n",lde->kind());
683  break;
684  }
685  }
686 
687  //---------------------------------------- end flexible part -------------------------------
688 
689  ol.endContents();
690 
691  endFileWithNavPath(this,ol);
692 
693  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
694  {
696  if (allMemberList) allMemberList->sort();
697  writeMemberPages(ol);
698  }
699 }
void endMemberDocumentation(OutputList &ol)
void endFileWithNavPath(Definition *d, OutputList &ol)
Definition: index.cpp:282
void writeMemberDocumentation(OutputList &ol, MemberListType lt, const QCString &title)
void startFile(OutputList &ol, const char *name, const char *manName, const char *title, HighlightedItem hli, bool additionalIndices, const char *altSidebarName)
Definition: index.cpp:244
QCString displayName(bool=TRUE) const
void writeBriefDescription(OutputList &ol)
QCString getOutputFileBase() const
MemberListType type
Definition: layout.h:96
void writeNamespaceDeclarations(OutputList &ol, const QCString &title, bool isConstantGroup=false)
void writeInlineClasses(OutputList &ol)
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1459
void writeNavigationPath(OutputList &ol) const
const bool FALSE
Definition: qglobal.h:370
static LayoutDocManager & instance()
Definition: layout.cpp:1359
void writeDetailedDescription(OutputList &ol, const QCString &title)
void startMemberDocumentation(OutputList &ol)
QCString anchor() const
Definition: namespacedef.h:49
void writeMemberDeclarations(OutputList &ol, MemberListType lt, const QCString &title)
SrcLangExt
Definition: types.h:41
Represents of a member definition list with configurable title.
Definition: layout.h:105
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void writeAuthorSection(OutputList &ol)
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void addNamespaceAttributes(OutputList &ol)
void writeMemberPages(OutputList &ol)
static NamespaceDef * globalScope
Definition: doxygen.h:128
void addIndexItem(Definition *context, MemberDef *md, const char *sectionAnchor=0, const char *title=0)
Definition: index.h:142
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
const QCString & name() const
Definition: definition.h:114
QCString title() const
SrcLangExt getLanguage() const
void sort()
Definition: qlist.h:85
virtual void addWord(const char *word, bool hiPriority)=0
void addGroupListToTitle(OutputList &ol, Definition *d)
Definition: util.cpp:6528
#define Config_getBool(val)
Definition: config.cpp:664
void endMemberDeclarations(OutputList &ol)
MemberList * getMemberList(MemberListType lt) const
void err(const char *fmt,...)
Definition: message.cpp:226
void endQuickIndices()
Definition: outputlist.h:352
void endContents()
Definition: outputlist.h:366
QCString localName() const
MemberListType type
Definition: layout.h:111
void writeMemberGroups(OutputList &ol)
virtual Definition * getOuterScope() const
void startTitle(OutputList &ol, const char *fileName, Definition *def)
Definition: index.cpp:228
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
virtual void setCurrentDoc(Definition *ctx, const char *anchor, bool isSourceFile)=0
void writeClassDeclarations(OutputList &ol, const QCString &title)
void startMemberDeclarations(OutputList &ol)
void endTitle(OutputList &ol, const char *fileName, const char *name)
Definition: index.cpp:237
const bool TRUE
Definition: qglobal.h:371
static IndexList * indexList
Definition: doxygen.h:149
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void startContents()
Definition: outputlist.h:364
void NamespaceDef::writeInlineClasses ( OutputList ol)
private

Definition at line 458 of file namespacedef.cpp.

459 {
461 }
ClassSDict * classSDict
Definition: namespacedef.h:138
void writeDocumentation(OutputList &ol, Definition *container=0)
Definition: classlist.cpp:119
void NamespaceDef::writeMemberDeclarations ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1093 of file namespacedef.cpp.

1094 {
1095  MemberList * ml = getMemberList(lt);
1096  if (ml) ml->writeDeclarations(ol,0,this,0,0,title,0);
1097 }
MemberList * getMemberList(MemberListType lt) const
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, const char *title, const char *subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, ClassDef *inheritedFrom=0, MemberListType lt=MemberListType_pubMethods)
Definition: memberlist.cpp:519
void NamespaceDef::writeMemberDocumentation ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1099 of file namespacedef.cpp.

1100 {
1101  MemberList * ml = getMemberList(lt);
1102  if (ml) ml->writeDocumentation(ol,displayName(),this,title);
1103 }
QCString displayName(bool=TRUE) const
void writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, const char *title, bool showEnumValues=FALSE, bool showInline=FALSE)
Definition: memberlist.cpp:655
MemberList * getMemberList(MemberListType lt) const
void NamespaceDef::writeMemberGroups ( OutputList ol)
private

Definition at line 469 of file namespacedef.cpp.

470 {
471  /* write user defined member groups */
472  if (memberGroupSDict)
473  {
476  MemberGroup *mg;
477  for (;(mg=mgli.current());++mgli)
478  {
479  if ((!mg->allMembersInSameSection() || !m_subGrouping)
480  && mg->header()!="[NOHEADER]")
481  {
482  mg->writeDeclarations(ol,0,this,0,0);
483  }
484  }
485  }
486 }
QCString header() const
Definition: membergroup.h:47
friend class Iterator
Definition: sortdict.h:598
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool showInline=FALSE)
static constexpr double mg
Definition: Units.h:145
bool allMembersInSameSection() const
Definition: membergroup.h:67
bool m_subGrouping
Definition: namespacedef.h:140
void sort()
Definition: sortdict.h:522
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
void NamespaceDef::writeMemberPages ( OutputList ol)

Definition at line 701 of file namespacedef.cpp.

702 {
703  ol.pushGeneratorState();
705 
707  MemberList *ml;
708  for (mli.toFirst();(ml=mli.current());++mli)
709  {
711  {
712  ml->writeDocumentationPage(ol,displayName(),this);
713  }
714  }
715  ol.popGeneratorState();
716 }
MemberListType listType() const
Definition: memberlist.h:38
QCString displayName(bool=TRUE) const
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void popGeneratorState()
Definition: outputlist.cpp:121
QList< MemberList > m_memberLists
Definition: namespacedef.h:136
void pushGeneratorState()
Definition: outputlist.cpp:111
void writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container)
Definition: memberlist.cpp:715
void NamespaceDef::writeNamespaceDeclarations ( OutputList ol,
const QCString title,
bool  isConstantGroup = false 
)
private

Definition at line 463 of file namespacedef.cpp.

465 {
467 }
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
bool isConstantGroup() const
Definition: namespacedef.h:71
void writeDeclaration(OutputList &ol, const char *title, bool isConstantGroup=false, bool localName=FALSE)
const bool TRUE
Definition: qglobal.h:371
void NamespaceDef::writeQuickMemberLinks ( OutputList ol,
MemberDef currentMd 
) const
virtual

Reimplemented from Definition.

Definition at line 718 of file namespacedef.cpp.

719 {
720  static bool createSubDirs=Config_getBool("CREATE_SUBDIRS");
721 
722  ol.writeString(" <div class=\"navtab\">\n");
723  ol.writeString(" <table>\n");
724 
726  if (allMemberList)
727  {
728  MemberListIterator mli(*allMemberList);
729  MemberDef *md;
730  for (mli.toFirst();(md=mli.current());++mli)
731  {
732  if (md->getNamespaceDef()==this && md->isLinkable() && !md->isEnumValue())
733  {
734  ol.writeString(" <tr><td class=\"navtab\">");
735  if (md->isLinkableInProject())
736  {
737  if (md==currentMd) // selected item => highlight
738  {
739  ol.writeString("<a class=\"qindexHL\" ");
740  }
741  else
742  {
743  ol.writeString("<a class=\"qindex\" ");
744  }
745  ol.writeString("href=\"");
746  if (createSubDirs) ol.writeString("../../");
748  ol.writeString("\">");
750  ol.writeString("</a>");
751  }
752  ol.writeString("</td></tr>\n");
753  }
754  }
755  }
756 
757  ol.writeString(" </table>\n");
758  ol.writeString(" </div>\n");
759 }
static QCString htmlFileExtension
Definition: doxygen.h:130
void writeString(const char *text)
Definition: outputlist.h:119
bool isLinkableInProject() const
Definition: memberdef.cpp:1150
bool isEnumValue() const
Definition: memberdef.cpp:4150
QCString convertToHtml(const char *s, bool keepEntities)
Definition: util.cpp:5746
QCString anchor() const
Definition: memberdef.cpp:1031
#define Config_getBool(val)
Definition: config.cpp:664
MemberList * getMemberList(MemberListType lt) const
QCString getOutputFileBase() const
Definition: memberdef.cpp:941
NamespaceDef * getNamespaceDef() const
Definition: memberdef.cpp:4080
void createSubDirs(QDir &d)
Definition: util.cpp:5458
bool isLinkable() const
Definition: memberdef.cpp:1161
QCString localName() const
void NamespaceDef::writeSummaryLinks ( OutputList ol)
privatevirtual

Reimplemented from Definition.

Definition at line 500 of file namespacedef.cpp.

501 {
502  ol.pushGeneratorState();
506  LayoutDocEntry *lde;
507  bool first=TRUE;
508  SrcLangExt lang = getLanguage();
509  for (eli.toFirst();(lde=eli.current());++eli)
510  {
513  )
514  {
516  QCString label = lde->kind()==LayoutDocEntry::NamespaceClasses ? "nested-classes" : "namespaces";
517  ol.writeSummaryLink(0,label,ls->title(lang),first);
518  first=FALSE;
519  }
520  else if (lde->kind()== LayoutDocEntry::MemberDecl)
521  {
523  MemberList * ml = getMemberList(lmd->type);
524  if (ml && ml->declVisible())
525  {
526  ol.writeSummaryLink(0,MemberList::listTypeAsString(ml->listType()),lmd->title(lang),first);
527  first=FALSE;
528  }
529  }
530  }
531  if (!first)
532  {
533  ol.writeString(" </div>\n");
534  }
535  ol.popGeneratorState();
536 }
MemberListType listType() const
Definition: memberlist.h:38
void writeString(const char *text)
Definition: outputlist.h:119
MemberListType type
Definition: layout.h:96
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
const bool FALSE
Definition: qglobal.h:370
static LayoutDocManager & instance()
Definition: layout.cpp:1359
bool declVisible(const ClassDef::CompoundType *filter=0) const
Definition: classlist.cpp:65
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
SrcLangExt
Definition: types.h:41
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
bool declVisible() const
Definition: memberlist.cpp:256
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void popGeneratorState()
Definition: outputlist.cpp:121
void writeSummaryLink(const char *file, const char *anchor, const char *title, bool first)
Definition: outputlist.h:362
void pushGeneratorState()
Definition: outputlist.cpp:111
ClassSDict * classSDict
Definition: namespacedef.h:138
SrcLangExt getLanguage() const
MemberList * getMemberList(MemberListType lt) const
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
static QCString listTypeAsString(MemberListType type)
Definition: memberlist.cpp:907
bool declVisible() const
const bool TRUE
Definition: qglobal.h:371
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void NamespaceDef::writeTagFile ( FTextStream tagFile)

Definition at line 267 of file namespacedef.cpp.

268 {
269  tagFile << " <compound kind=\"namespace\">" << endl;
270  tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
271  tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl;
272  QCString idStr = id();
273  if (!idStr.isEmpty())
274  {
275  tagFile << " <clangid>" << convertToXML(idStr) << "</clangid>" << endl;
276  }
279  LayoutDocEntry *lde;
280  for (eli.toFirst();(lde=eli.current());++eli)
281  {
282  switch (lde->kind())
283  {
285  {
286  if (namespaceSDict)
287  {
289  NamespaceDef *nd;
290  for (ni.toFirst();(nd=ni.current());++ni)
291  {
292  if (nd->isLinkableInProject())
293  {
294  tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
295  }
296  }
297  }
298  }
299  break;
301  {
302  if (classSDict)
303  {
305  ClassDef *cd;
306  for (ci.toFirst();(cd=ci.current());++ci)
307  {
308  if (cd->isLinkableInProject())
309  {
310  tagFile << " <class kind=\"" << cd->compoundTypeString()
311  << "\">" << convertToXML(cd->name()) << "</class>" << endl;
312  }
313  }
314  }
315  }
317  {
319  MemberList * ml = getMemberList(lmd->type);
320  if (ml)
321  {
322  ml->writeTagFile(tagFile);
323  }
324  }
325  break;
327  {
328  if (memberGroupSDict)
329  {
331  MemberGroup *mg;
332  for (;(mg=mgli.current());++mgli)
333  {
334  mg->writeTagFile(tagFile);
335  }
336  }
337  }
338  break;
339  default:
340  break;
341  }
342  }
343  writeDocAnchorsToTagFile(tagFile);
344  tagFile << " </compound>" << endl;
345 }
QCString convertToXML(const char *s)
Definition: util.cpp:5717
bool isLinkableInProject() const
Definition: classdef.cpp:2707
bool isEmpty() const
Definition: qcstring.h:189
QCString getOutputFileBase() const
static QCString htmlFileExtension
Definition: doxygen.h:130
void writeTagFile(FTextStream &)
MemberListType type
Definition: layout.h:96
QCString compoundTypeString() const
Definition: classdef.cpp:3499
friend class Iterator
Definition: sortdict.h:598
static LayoutDocManager & instance()
Definition: layout.cpp:1359
void writeTagFile(FTextStream &)
Definition: memberlist.cpp:963
NamespaceSDict * namespaceSDict
Definition: namespacedef.h:139
static constexpr double mg
Definition: Units.h:145
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void writeDocAnchorsToTagFile(FTextStream &)
Definition: definition.cpp:520
Definition: sortdict.h:73
const QCString & name() const
Definition: definition.h:114
ClassSDict * classSDict
Definition: namespacedef.h:138
QCString id() const
Definition: definition.cpp:413
MemberList * getMemberList(MemberListType lt) const
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
MemberGroupSDict * memberGroupSDict
Definition: namespacedef.h:137
bool isLinkableInProject() const
QTextStream & endl(QTextStream &s)

Member Data Documentation

ClassSDict* NamespaceDef::classSDict
private

Definition at line 138 of file namespacedef.h.

QCString NamespaceDef::fileName
private

Definition at line 128 of file namespacedef.h.

FileList NamespaceDef::files
private

Definition at line 129 of file namespacedef.h.

MemberSDict* NamespaceDef::m_allMembersDict
private

Definition at line 135 of file namespacedef.h.

SDict<Definition>* NamespaceDef::m_innerCompounds
private

Definition at line 133 of file namespacedef.h.

bool NamespaceDef::m_isPublished
private

Definition at line 142 of file namespacedef.h.

QList<MemberList> NamespaceDef::m_memberLists
private

Definition at line 136 of file namespacedef.h.

bool NamespaceDef::m_subGrouping
private

Definition at line 140 of file namespacedef.h.

enum { ... } NamespaceDef::m_type
MemberGroupSDict* NamespaceDef::memberGroupSDict
private

Definition at line 137 of file namespacedef.h.

NamespaceSDict* NamespaceDef::namespaceSDict
private

Definition at line 139 of file namespacedef.h.

SDict<Definition>* NamespaceDef::usingDeclList
private

Definition at line 132 of file namespacedef.h.

NamespaceSDict* NamespaceDef::usingDirList
private

Definition at line 131 of file namespacedef.h.

bool NamespaceDef::visited

Definition at line 106 of file namespacedef.h.


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