Doxygen
MemberList类 参考

A list of MemberDef objects as shown in documentation sections. 更多...

#include <memberlist.h>

+ 类 MemberList 继承关系图:
+ MemberList 的协作图:

Public 成员函数

 MemberList (MemberListType lt, MemberListContainer container)
 
 ~MemberList ()
 
MemberListType listType () const
 
MemberListContainer container () const
 
int numDecMembers () const
 
int numDecEnumValues () const
 
int numDocMembers () const
 
int numDocEnumValues () const
 
bool needsSorting () const
 
void countDecMembers ()
 
void countDocMembers ()
 
int countInheritableMembers (const ClassDef *inheritedFrom) const
 
void writePlainDeclarations (OutputList &ol, bool inGroup, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, int indentLevel, const ClassDef *inheritedFrom, const QCString &inheritId) const
 
void writeDeclarations (OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const QCString &title, const QCString &subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, const ClassDef *inheritedFrom=0, MemberListType lt=MemberListType_pubMethods) const
 Writes the list of members to the output. 更多...
 
void writeDocumentation (OutputList &ol, const QCString &scopeName, const Definition *container, const QCString &title, bool showEnumValues=FALSE, bool showInline=FALSE) const
 
void writeSimpleDocumentation (OutputList &ol, const Definition *container) const
 
void writeDocumentationPage (OutputList &ol, const QCString &scopeName, const DefinitionMutable *container) const
 
void writeTagFile (TextStream &)
 
bool declVisible () const
 
void addMemberGroup (MemberGroup *mg)
 
void addListReferences (Definition *def)
 
void findSectionsInDocumentation (const Definition *d)
 
void setNeedsSorting (bool b)
 
const MemberGroupRefListgetMemberGroupList () const
 
void setAnonymousEnumType ()
 
void setAnchors ()
 
- Public 成员函数 继承自 MemberVector
void push_back (const MemberDef *md)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
size_t size () const
 
const_reference front () const
 
const_reference back () const
 
const_reference operator[] (int index) const
 
const_reference operator[] (size_t index) const
 
void sort ()
 
void inSort (const MemberDef *md)
 
void remove (const MemberDef *md)
 
bool contains (const MemberDef *md)
 

静态 Public 成员函数

static QCString listTypeAsString (MemberListType type)
 
- 静态 Public 成员函数 继承自 MemberVector
static bool lessThan (const MemberDef *md1, const MemberDef *md2)
 

Private 成员函数

int countEnumValues (const MemberDef *md) const
 

Private 属性

int m_numDecMembers
 
int m_numDecEnumValues
 
int m_numDocMembers
 
int m_numDocEnumValues
 
MemberGroupRefList m_memberGroupRefList
 
MemberListContainer m_container
 
MemberListType m_listType
 
bool m_needsSorting
 

额外继承的成员函数

- Public 类型 继承自 MemberVector
using Ptr = const MemberDef *
 
using Vec = std::vector< Ptr >
 
using iterator = typename Vec::iterator
 
using const_iterator = typename Vec::const_iterator
 
using value_type = const MemberDef *
 
using const_reference = const value_type &
 
- Protected 属性 继承自 MemberVector
Vec m_members
 

详细描述

A list of MemberDef objects as shown in documentation sections.

在文件 memberlist.h81 行定义.

构造及析构函数说明

◆ MemberList()

MemberList::MemberList ( MemberListType  lt,
MemberListContainer  container 
)

在文件 memberlist.cpp33 行定义.

33  : m_container(con), m_listType(lt)
34 {
35  //printf("%p: MemberList::MemberList(%d)\n",this,lt);
36  m_numDecMembers=-1; // special value indicating that value needs to be computed
38  m_numDocMembers=-1; // special value indicating that value needs to be computed
41 }

引用了 FALSE, m_needsSorting, m_numDecEnumValues, m_numDecMembers, m_numDocEnumValues , 以及 m_numDocMembers.

◆ ~MemberList()

MemberList::~MemberList ( )

在文件 memberlist.cpp43 行定义.

44 {
45 }

成员函数说明

◆ addListReferences()

void MemberList::addListReferences ( Definition def)

在文件 memberlist.cpp831 行定义.

832 {
833  for (const auto &imd : m_members)
834  {
836  if (md && !md->isAlias() && (md->getGroupDef()==0 || def->definitionType()==Definition::TypeGroup))
837  {
838  md->addListReference(def);
839  const MemberVector &enumFields = md->enumFieldList();
840  if (md->memberType()==MemberType_Enumeration && !enumFields.empty())
841  {
842  //printf(" Adding enum values!\n");
843  for (const auto &vmd : enumFields)
844  {
846  if (vmdm)
847  {
848  //printf(" adding %s\n",qPrint(vmd->name()));
849  vmdm->addListReference(def);
850  }
851  }
852  }
853  }
854  }
855  for (const auto &mg : m_memberGroupRefList)
856  {
857  mg->addListReferences(def);
858  }
859 }

引用了 MemberDefMutable::addListReference(), Definition::definitionType(), MemberVector::empty(), MemberDef::enumFieldList(), MemberDef::getGroupDef(), Definition::isAlias(), m_memberGroupRefList, MemberVector::m_members, MemberDef::memberType(), MemberType_Enumeration, toMemberDefMutable() , 以及 Definition::TypeGroup.

◆ addMemberGroup()

void MemberList::addMemberGroup ( MemberGroup mg)

在文件 memberlist.cpp826 行定义.

827 {
828  m_memberGroupRefList.push_back(mg);
829 }

引用了 m_memberGroupRefList.

被这些函数引用 MemberGroup::addToDeclarationSection().

◆ container()

MemberListContainer MemberList::container ( ) const
inline

在文件 memberlist.h88 行定义.

88 { return m_container; }

引用了 m_container.

被这些函数引用 writeDocumentation(), writeDocumentationPage() , 以及 writeSimpleDocumentation().

◆ countDecMembers()

void MemberList::countDecMembers ( )

Count the number of members in this list that are visible in the declaration part of a compound's documentation page.

在文件 memberlist.cpp116 行定义.

117 {
118  if (m_numDecMembers!=-1) return;
119 
120  //printf("----- countDecMembers count=%d ----\n",count());
121  /*
122  m_varCnt=m_funcCnt=m_enumCnt=m_enumValCnt=0;
123  m_typeCnt=m_seqCnt=m_dictCnt=m_protoCnt=m_defCnt=m_friendCnt=0;
124  */
125  m_numDecMembers=0;
126  for (const auto &md : m_members)
127  {
128  //printf("MemberList::countDecMembers(md=%s,%d)\n",qPrint(md->name()),md->isBriefSectionVisible());
129  if (md->isBriefSectionVisible())
130  {
131  switch(md->memberType())
132  {
133  case MemberType_Variable: // fall through
134  case MemberType_Event: // fall through
135  case MemberType_Property: /*m_varCnt++,*/
136  m_numDecMembers++;
137  break;
138 // apparently necessary to get this to show up in declarations section?
139  case MemberType_Interface: // fall through
140  case MemberType_Service: // fall through
141  case MemberType_Function: // fall through
142  case MemberType_Signal: // fall through
143  case MemberType_DCOP: // fall through
144  case MemberType_Slot: if (!md->isRelated() || md->getClassDef())
145  /*m_funcCnt++,*/
146  m_numDecMembers++;
147  break;
148  case MemberType_Enumeration: /*m_enumCnt++,*/
149  m_numDecMembers++;
150  break;
152  m_numDecMembers++;
153  break;
154  case MemberType_Typedef: /*m_typeCnt++,*/
155  m_numDecMembers++;
156  break;
157  case MemberType_Sequence: /*m_seqCnt++,*/
158  m_numDecMembers++;
159  break;
160  case MemberType_Dictionary: /*m_dictCnt++,*/
161  m_numDecMembers++;
162  break;
163  //case MemberType_Prototype: m_protoCnt++,m_numDecMembers++; break;
164  case MemberType_Define: if (Config_getBool(EXTRACT_ALL) ||
165  !md->argsString().isEmpty() ||
166  !md->initializer().isEmpty() ||
167  md->hasDocumentation()
168  ) /*m_defCnt++,*/ m_numDecMembers++;
169  break;
170  case MemberType_Friend: /*m_friendCnt++,*/
171  m_numDecMembers++;
172  break;
173  default:
174  err("Unknown member type found for member '%s'\n!",qPrint(md->name()));
175  }
176  }
177  }
178  for (const auto &mg : m_memberGroupRefList)
179  {
180  mg->countDecMembers();
181  /*
182  m_varCnt+=mg->varCount();
183  m_funcCnt+=mg->funcCount();
184  m_enumCnt+=mg->enumCount();
185  m_enumValCnt+=mg->enumValueCount();
186  m_typeCnt+=mg->typedefCount();
187  m_seqCnt+=mg->sequenceCount();
188  m_dictCnt+=mg->dictionaryCount();
189  m_protoCnt+=mg->protoCount();
190  m_defCnt+=mg->defineCount();
191  m_friendCnt+=mg->friendCount();
192  */
193  m_numDecMembers+=mg->numDecMembers();
194  m_numDecEnumValues+=mg->numDecEnumValues();
195  }
196  //printf("----- end countDecMembers ----\n");
197 
198  //printf("MemberList::countDecMembers()=%d\n",m_numDecMembers);
199 }

引用了 Config_getBool, err(), m_memberGroupRefList, MemberVector::m_members, m_numDecEnumValues, m_numDecMembers, MemberType_DCOP, MemberType_Define, MemberType_Dictionary, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Sequence, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable , 以及 qPrint().

被这些函数引用 MemberGroup::addGroupedInheritedMembers().

◆ countDocMembers()

void MemberList::countDocMembers ( )

在文件 memberlist.cpp201 行定义.

202 {
203  if (m_numDocMembers!=-1) return; // used cached value
204  m_numDocMembers=0;
205  for (const auto &md : m_members)
206  {
207  if (md->isDetailedSectionVisible(m_container) && !md->isAlias())
208  {
209  // do not count enum values, since they do not produce entries of their own
210  if (md->memberType()==MemberType_EnumValue)
211  {
213  }
214  m_numDocMembers++;
215  }
216  }
217  for (const auto &mg : m_memberGroupRefList)
218  {
219  mg->countDocMembers();
220  m_numDocMembers+=mg->numDocMembers();
221  m_numDocEnumValues+=mg->numDocEnumValues();
222  }
223  //printf("MemberList::countDocMembers()=%d memberGroupList=%p\n",m_numDocMembers,memberGroupList);
224 }

引用了 m_container, m_memberGroupRefList, MemberVector::m_members, m_numDocEnumValues, m_numDocMembers , 以及 MemberType_EnumValue.

◆ countEnumValues()

int MemberList::countEnumValues ( const MemberDef md) const
private

在文件 memberlist.cpp259 行定义.

260 {
261  int numEnumValues=0;
262  QCString name(md->name());
263  int i=name.findRev("::");
264  if (i!=-1) name=name.right(name.length()-i-2);
265  if (name[0]=='@')
266  {
267  for (const auto &vmd : m_members)
268  {
269  QCString vtype=vmd->typeString();
270  if ((vtype.find(name))!=-1)
271  {
272  numEnumValues++;
273  }
274  }
275  }
276  return numEnumValues;
277 }

引用了 QCString::find(), QCString::findRev(), QCString::length(), MemberVector::m_members, Definition::name() , 以及 QCString::right().

被这些函数引用 declVisible() , 以及 writePlainDeclarations().

◆ countInheritableMembers()

int MemberList::countInheritableMembers ( const ClassDef inheritedFrom) const

在文件 memberlist.cpp79 行定义.

80 {
81  int count=0;
82  for (const auto &md : m_members)
83  {
84  if (md->isBriefSectionVisible())
85  {
86  if (md->memberType()!=MemberType_Friend &&
87  md->memberType()!=MemberType_EnumValue)
88  {
89  //printf("member %s: isReimplementedBy(%s)=%d\n",qPrint(md->name()),
90  // qPrint(inheritedFrom->name()),
91  // md->isReimplementedBy(inheritedFrom));
92  if (md->memberType()==MemberType_Function)
93  {
94  if (!md->isReimplementedBy(inheritedFrom)) count++;
95  }
96  else
97  {
98  count++;
99  }
100  }
101  }
102  }
103  for (const auto &mg : m_memberGroupRefList)
104  {
105  count+=mg->countInheritableMembers(inheritedFrom);
106  }
107  //printf("%s::countInheritableMembers(%s)=%d\n",
108  // qPrint(listTypeAsString()),
109  // qPrint(inheritedFrom->name()),count);
110  return count;
111 }

引用了 m_memberGroupRefList, MemberVector::m_members, MemberType_EnumValue, MemberType_Friend , 以及 MemberType_Function.

被这些函数引用 ClassDefImpl::countMembersIncludingGrouped().

◆ declVisible()

bool MemberList::declVisible ( ) const

在文件 memberlist.cpp279 行定义.

280 {
281  for (const auto &md : m_members)
282  {
283  if (md->isBriefSectionVisible())
284  {
285  switch (md->memberType())
286  {
287  case MemberType_Define: // fall through
288  case MemberType_Typedef: // fall through
289  case MemberType_Variable: // fall through
290  case MemberType_Function: // fall through
291  case MemberType_Signal: // fall through
292  case MemberType_Slot: // fall through
293  case MemberType_DCOP: // fall through
294  case MemberType_Property: // fall through
295  case MemberType_Interface: // fall through
296  case MemberType_Service: // fall through
297  case MemberType_Sequence: // fall through
298  case MemberType_Dictionary: // fall through
299  case MemberType_Event:
300  return TRUE;
302  {
303  // if this is an anonymous enum and there are variables of this
304  // enum type (i.e. enumVars>0), then we do not show the enum here.
305  if (countEnumValues(md)==0) // show enum here
306  {
307  return TRUE;
308  }
309  }
310  break;
311  case MemberType_Friend:
312  return TRUE;
314  {
316  {
317  return TRUE;
318  }
319  }
320  break;
321  }
322  }
323  }
324  return FALSE;
325 }

引用了 countEnumValues(), FALSE, Group, m_container, MemberVector::m_members, MemberType_DCOP, MemberType_Define, MemberType_Dictionary, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Sequence, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable , 以及 TRUE.

被这些函数引用 FileDefImpl::writeSummaryLinks(), NamespaceDefImpl::writeSummaryLinks(), GroupDefImpl::writeSummaryLinks() , 以及 ClassDefImpl::writeSummaryLinks().

◆ findSectionsInDocumentation()

void MemberList::findSectionsInDocumentation ( const Definition d)

在文件 memberlist.cpp861 行定义.

862 {
863  for (const auto &imd : m_members)
864  {
866  if (md)
867  {
869  }
870  }
871  for (const auto &mg : m_memberGroupRefList)
872  {
873  mg->findSectionsInDocumentation(d);
874  }
875 }

引用了 MemberDefMutable::findSectionsInDocumentation(), m_memberGroupRefList, MemberVector::m_members , 以及 toMemberDefMutable().

◆ getMemberGroupList()

◆ listType()

◆ listTypeAsString()

QCString MemberList::listTypeAsString ( MemberListType  type)
static

在文件 memberlist.cpp882 行定义.

883 {
884  switch(type)
885  {
886  case MemberListType_pubMethods: return "pub-methods";
887  case MemberListType_proMethods: return "pro-methods";
888  case MemberListType_pacMethods: return "pac-methods";
889  case MemberListType_priMethods: return "pri-methods";
890  case MemberListType_pubStaticMethods: return "pub-static-methods";
891  case MemberListType_proStaticMethods: return "pro-static-methods";
892  case MemberListType_pacStaticMethods: return "pac-static-methods";
893  case MemberListType_priStaticMethods: return "pri-static-methods";
894  case MemberListType_pubSlots: return "pub-slots";
895  case MemberListType_proSlots: return "pro-slots";
896  case MemberListType_priSlots: return "pri-slots";
897  case MemberListType_pubAttribs: return "pub-attribs";
898  case MemberListType_proAttribs: return "pro-attribs";
899  case MemberListType_pacAttribs: return "pac-attribs";
900  case MemberListType_priAttribs: return "pri-attribs";
901  case MemberListType_pubStaticAttribs: return "pub-static-attribs";
902  case MemberListType_proStaticAttribs: return "pro-static-attribs";
903  case MemberListType_pacStaticAttribs: return "pac-static-attribs";
904  case MemberListType_priStaticAttribs: return "pri-static-attribs";
905  case MemberListType_pubTypes: return "pub-types";
906  case MemberListType_proTypes: return "pro-types";
907  case MemberListType_pacTypes: return "pac-types";
908  case MemberListType_priTypes: return "pri-types";
909  case MemberListType_related: return "related";
910  case MemberListType_signals: return "signals";
911  case MemberListType_friends: return "friends";
912  case MemberListType_dcopMethods: return "dcop-methods";
913  case MemberListType_properties: return "properties";
914  case MemberListType_events: return "events";
915  case MemberListType_interfaces: return "interfaces";
916  case MemberListType_services: return "services";
917  case MemberListType_decDefineMembers: return "define-members";
918  case MemberListType_decProtoMembers: return "proto-members";
919  case MemberListType_decTypedefMembers: return "typedef-members";
920  case MemberListType_decSequenceMembers: return "sequence-members";
921  case MemberListType_decDictionaryMembers: return "dictionary-members";
922  case MemberListType_decEnumMembers: return "enum-members";
923  case MemberListType_decFuncMembers: return "func-members";
924  case MemberListType_decVarMembers: return "var-members";
925  case MemberListType_decEnumValMembers: return "enumval-members";
926  case MemberListType_decPubSlotMembers: return "pub-slot-members";
927  case MemberListType_decProSlotMembers: return "pro-slot-members";
928  case MemberListType_decPriSlotMembers: return "pri-slot-members";
929  case MemberListType_decSignalMembers: return "signal-members";
930  case MemberListType_decEventMembers: return "event-members";
931  case MemberListType_decFriendMembers: return "friend-members";
932  case MemberListType_decPropMembers: return "prop-members";
933  case MemberListType_enumFields: return "enum-fields";
934  case MemberListType_memberGroup: break;
935  default: break;
936  }
937  return "";
938 }

引用了 MemberListType_dcopMethods, MemberListType_decDefineMembers, MemberListType_decDictionaryMembers, MemberListType_decEnumMembers, MemberListType_decEnumValMembers, MemberListType_decEventMembers, MemberListType_decFriendMembers, MemberListType_decFuncMembers, MemberListType_decPriSlotMembers, MemberListType_decPropMembers, MemberListType_decProSlotMembers, MemberListType_decProtoMembers, MemberListType_decPubSlotMembers, MemberListType_decSequenceMembers, MemberListType_decSignalMembers, MemberListType_decTypedefMembers, MemberListType_decVarMembers, MemberListType_enumFields, MemberListType_events, MemberListType_friends, MemberListType_interfaces, MemberListType_memberGroup, MemberListType_pacAttribs, MemberListType_pacMethods, MemberListType_pacStaticAttribs, MemberListType_pacStaticMethods, MemberListType_pacTypes, MemberListType_priAttribs, MemberListType_priMethods, MemberListType_priSlots, MemberListType_priStaticAttribs, MemberListType_priStaticMethods, MemberListType_priTypes, MemberListType_proAttribs, MemberListType_proMethods, MemberListType_properties, MemberListType_proSlots, MemberListType_proStaticAttribs, MemberListType_proStaticMethods, MemberListType_proTypes, MemberListType_pubAttribs, MemberListType_pubMethods, MemberListType_pubSlots, MemberListType_pubStaticAttribs, MemberListType_pubStaticMethods, MemberListType_pubTypes, MemberListType_related, MemberListType_services , 以及 MemberListType_signals.

被这些函数引用 MemberListInfoContext::Private::anchor(), InheritedMemberInfoContext::Private::id(), writeDeclarations(), FileDefImpl::writeSummaryLinks(), NamespaceDefImpl::writeSummaryLinks(), GroupDefImpl::writeSummaryLinks() , 以及 ClassDefImpl::writeSummaryLinks().

◆ needsSorting()

bool MemberList::needsSorting ( ) const
inline

在文件 memberlist.h94 行定义.

94 { return m_needsSorting; }

引用了 m_needsSorting.

被这些函数引用 FileDefImpl::sortMemberLists().

◆ numDecEnumValues()

int MemberList::numDecEnumValues ( ) const
inline

在文件 memberlist.h91 行定义.

91 { return m_numDecEnumValues; }

引用了 m_numDecEnumValues.

被这些函数引用 writeDeclarations() , 以及 writePlainDeclarations().

◆ numDecMembers()

int MemberList::numDecMembers ( ) const
inline

◆ numDocEnumValues()

int MemberList::numDocEnumValues ( ) const
inline

在文件 memberlist.h93 行定义.

93 { return m_numDocEnumValues; }

引用了 m_numDocEnumValues.

被这些函数引用 writeDocumentation() , 以及 writeSimpleDocumentation().

◆ numDocMembers()

int MemberList::numDocMembers ( ) const
inline

◆ setAnchors()

void MemberList::setAnchors ( )

在文件 memberlist.cpp975 行定义.

976 {
977  //int count=0;
978  for (const auto &md : m_members)
979  {
981  if (mdm && !md->isReference())
982  {
983  mdm->setAnchor();
984  }
985  }
986 }

引用了 MemberDef::isReference(), MemberVector::m_members, MemberDefMutable::setAnchor() , 以及 toMemberDefMutable().

被这些函数引用 NamespaceDefImpl::computeAnchors(), GroupDefImpl::computeAnchors() , 以及 FileDefImpl::computeAnchors().

◆ setAnonymousEnumType()

void MemberList::setAnonymousEnumType ( )

在文件 memberlist.cpp226 行定义.

227 {
228  //printf("MemberList(%p)::setAnonymousEnumType()\n",this);
229  for (const auto &md : m_members)
230  {
231  if (md->isBriefSectionVisible())
232  {
233  QCString name(md->name());
234  int i=name.findRev("::");
235  if (i!=-1) name=name.right(name.length()-i-2);
236  if (md->memberType()==MemberType_Enumeration && name[0]=='@')
237  {
238  for (const auto &vmd : md->enumFieldList())
239  {
241  if (vmdm)
242  {
243  QCString vtype=vmd->typeString();
244  if ((vtype.find(name))!=-1)
245  {
246  vmdm->setAnonymousEnumType(md);
247  }
248  }
249  }
250  }
251  }
252  }
253  for (const auto &mg : m_memberGroupRefList)
254  {
255  mg->setAnonymousEnumType();
256  }
257 }

引用了 QCString::find(), QCString::findRev(), QCString::length(), m_memberGroupRefList, MemberVector::m_members, MemberType_Enumeration, QCString::right(), MemberDefMutable::setAnonymousEnumType() , 以及 toMemberDefMutable().

被这些函数引用 ClassDefImpl::setAnonymousEnumType().

◆ setNeedsSorting()

void MemberList::setNeedsSorting ( bool  b)

在文件 memberlist.cpp877 行定义.

878 {
879  m_needsSorting = b;
880 }

引用了 m_needsSorting.

被这些函数引用 FileDefImpl::sortMemberLists().

◆ writeDeclarations()

void MemberList::writeDeclarations ( OutputList ol,
const ClassDef cd,
const NamespaceDef nd,
const FileDef fd,
const GroupDef gd,
const QCString title,
const QCString subtitle,
bool  showEnumValues = FALSE,
bool  showInline = FALSE,
const ClassDef inheritedFrom = 0,
MemberListType  lt = MemberListType_pubMethods 
) const

Writes the list of members to the output.

参数
olOutput list to write to
cdnon-null if this list is part of class documentation.
ndnon-null if this list is part of namespace documentation.
fdnon-null if this list is part of file documentation.
gdnon-null if this list is part of group documentation.
titleTitle to use for the member list.
subtitleSub title to use for the member list.
showEnumValuesObsolete, always set to FALSE.
showInlineif set to TRUE if title is rendered differently
inheritedFromif not 0, the list is shown inside the given class as inherited members, parameter cd points to the class containing the members.
ltType of list that is inherited from.

在文件 memberlist.cpp526 行定义.

530 {
531  (void)showEnumValues; // unused
532 
533  //printf("----- writeDeclaration() this=%p ---- inheritedFrom=%p\n",this,inheritedFrom);
534  static bool optimizeVhdl = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
535  QCString inheritId;
536 
537  const Definition *ctx = cd;
538  if (ctx==0 && nd) ctx = nd;
539  if (ctx==0 && gd) ctx = gd;
540  if (ctx==0 && fd) ctx = fd;
541 
542  //printf("%p: MemberList::writeDeclaration(title='%s',subtitle='%s')=%d inheritedFrom=%p\n",
543  // this,title,subtitle,numDecMembers(),inheritedFrom);
544 
545  int num = numDecMembers();
546  int numEnumValues = numDecEnumValues();
547  if (inheritedFrom)
548  {
549  //if ( cd && !optimizeVhdl && countInheritableMembers(inheritedFrom)>0 )
550  if ( cd && !optimizeVhdl && cd->countMembersIncludingGrouped(
551  m_listType,inheritedFrom,TRUE)>0 )
552  {
553  ol.pushGeneratorState();
555  inheritId = substitute(listTypeAsString(lt),"-","_")+"_"+
557  if (!title.isEmpty())
558  {
559  ol.writeInheritedSectionTitle(inheritId,cd->getReference(),
560  cd->getOutputFileBase(),
561  cd->anchor(),title,cd->displayName());
562  }
563  ol.popGeneratorState();
564  }
565  }
566  else if (num>numEnumValues)
567  {
568  if (!title.isEmpty())
569  {
570  if (showInline)
571  {
572  ol.startInlineHeader();
573  }
574  else
575  {
577  }
578  ol.parseText(title);
579  if (showInline)
580  {
581  ol.endInlineHeader();
582  }
583  else
584  {
585  ol.endMemberHeader();
586  }
587  }
588  if (!subtitle.stripWhiteSpace().isEmpty())
589  {
590  ol.startMemberSubtitle();
591  ol.generateDoc("[generated]",-1,ctx,0,subtitle,FALSE,FALSE,
592  QCString(),FALSE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
593  ol.endMemberSubtitle();
594  }
595  }
596  if (num>numEnumValues)
597  {
598  bool inGroup = m_container==MemberListContainer::Group;
599  // TODO: Two things need to be worked out for proper VHDL output:
600  // 1. Signals and types under the group need to be
601  // formatted to associate them with the group somehow
602  // indentation, or at the very least, extra space after
603  // the group is done
604  // 2. This might need to be repeated below for memberGroupLists
605  if (optimizeVhdl) // use specific declarations function
606  {
607  VhdlDocGen::writeVhdlDeclarations(this,ol,0,cd,0,0);
608  }
609  else
610  {
611  writePlainDeclarations(ol,inGroup,cd,nd,fd,gd,0,0,inheritId);
612  }
613 
614  //printf("memberGroupList=%p\n",memberGroupList);
615  for (const auto &mg : m_memberGroupRefList)
616  {
617  bool hasHeader=!mg->header().isEmpty() && mg->header()!="[NOHEADER]";
618  if (inheritId.isEmpty())
619  {
620  //printf("mg->header=%s hasHeader=%d\n",qPrint(mg->header()),hasHeader);
621  ol.startMemberGroupHeader(hasHeader);
622  if (hasHeader)
623  {
624  ol.parseText(mg->header());
625  }
627  if (!mg->documentation().isEmpty())
628  {
629  //printf("Member group has docs!\n");
631  ol.generateDoc(mg->docFile(),mg->docLine(),ctx,0,mg->documentation()+"\n",FALSE,FALSE,
632  QCString(),FALSE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
633  ol.endMemberGroupDocs();
634  }
635  ol.startMemberGroup();
636  }
637  //printf("--- mg->writePlainDeclarations ---\n");
638  mg->writePlainDeclarations(ol,inGroup,cd,nd,fd,gd,0,inheritedFrom,inheritId);
639  if (inheritId.isEmpty())
640  {
641  ol.endMemberGroup(hasHeader);
642  }
643  }
644  }
645  if (inheritedFrom && cd)
646  {
647  const ClassDefMutable *cdm = toClassDefMutable(cd);
648  if (cdm)
649  {
650  // also add members that of this list type, that are grouped together
651  // in a separate list in class 'inheritedFrom'
652  cdm->addGroupedInheritedMembers(ol,m_listType,inheritedFrom,inheritId);
653  }
654  }
655  //printf("----- end writeDeclaration() ----\n");
656 }

引用了 ClassDefMutable::addGroupedInheritedMembers(), ClassDef::anchor(), Config_getBool, ClassDef::countMembersIncludingGrouped(), OutputList::disableAllBut(), ClassDef::displayName(), Definition::documentation(), OutputList::endInlineHeader(), OutputList::endMemberGroup(), OutputList::endMemberGroupDocs(), OutputList::endMemberGroupHeader(), OutputList::endMemberHeader(), OutputList::endMemberSubtitle(), FALSE, OutputList::generateDoc(), ClassDef::getOutputFileBase(), ClassDef::getReference(), Group, OutputGenerator::Html, QCString::isEmpty(), listTypeAsString(), m_container, m_listType, m_memberGroupRefList, numDecEnumValues(), numDecMembers(), OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::startInlineHeader(), OutputList::startMemberGroup(), OutputList::startMemberGroupDocs(), OutputList::startMemberGroupHeader(), OutputList::startMemberHeader(), OutputList::startMemberSubtitle(), stripPath(), QCString::stripWhiteSpace(), substitute(), toClassDefMutable(), TRUE, OutputList::writeInheritedSectionTitle(), writePlainDeclarations() , 以及 VhdlDocGen::writeVhdlDeclarations().

被这些函数引用 NamespaceDefImpl::writeMemberDeclarations(), GroupDefImpl::writeMemberDeclarations(), FileDefImpl::writeMemberDeclarations() , 以及 ClassDefImpl::writeMemberDeclarations().

◆ writeDocumentation()

void MemberList::writeDocumentation ( OutputList ol,
const QCString scopeName,
const Definition container,
const QCString title,
bool  showEnumValues = FALSE,
bool  showInline = FALSE 
) const

在文件 memberlist.cpp658 行定义.

661 {
662  if (numDocMembers()==-1)
663  {
664  err("MemberList::numDocMembers()==-1, so the members of this list have not been counted. Please report as a bug.\n");
665  abort();
666  }
667 
668  if (numDocMembers()==0) return;
669  if (!showEnumValues && numDocMembers()<=numDocEnumValues()) return;
670 
671  if (!title.isEmpty())
672  {
673  ol.pushGeneratorState();
675  ol.writeRuler();
676  ol.popGeneratorState();
677  ol.startGroupHeader(showInline ? 2 : 0);
678  ol.parseText(title);
679  ol.endGroupHeader(showInline ? 2 : 0);
680  }
681  ol.startMemberDocList();
682 
683  struct OverloadInfo
684  {
685  uint count = 1;
686  uint total = 0;
687  };
688  std::unordered_map<std::string,OverloadInfo> overloadInfo;
689  // count the number of overloaded members
690  for (const auto &md : m_members)
691  {
692  if (md->isDetailedSectionVisible(m_container) &&
693  !(md->isEnumValue() && !showInline))
694  {
695  auto it = overloadInfo.insert(std::make_pair(md->name().str(),OverloadInfo())).first;
696  it->second.total++;
697  }
698  }
699 
700  for (const auto &md : m_members)
701  {
702  if (md->isDetailedSectionVisible(m_container) &&
703  !(md->isEnumValue() && !showInline))
704  {
705  auto it = overloadInfo.find(md->name().str());
706  uint overloadCount = it->second.total;
707  uint &count = it->second.count;
709  if (mdm)
710  {
711  mdm->writeDocumentation(this,count++,overloadCount,ol,scopeName,container,
712  m_container==MemberListContainer::Group,showEnumValues,showInline);
713  }
714  }
715  }
716  //printf("MemberList::writeDocumentation() -- member groups %d\n",memberGroupList->count());
717  for (const auto &mg : m_memberGroupRefList)
718  {
719  mg->writeDocumentation(ol,scopeName,container,showEnumValues,showInline);
720  }
721  ol.endMemberDocList();
722 }

引用了 container(), OutputList::disable(), OutputList::endGroupHeader(), OutputList::endMemberDocList(), err(), Group, OutputGenerator::Html, QCString::isEmpty(), m_container, m_memberGroupRefList, MemberVector::m_members, numDocEnumValues(), numDocMembers(), OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::startGroupHeader(), OutputList::startMemberDocList(), toMemberDefMutable(), MemberDefMutable::writeDocumentation() , 以及 OutputList::writeRuler().

被这些函数引用 NamespaceDefImpl::writeMemberDocumentation(), GroupDefImpl::writeMemberDocumentation(), FileDefImpl::writeMemberDocumentation() , 以及 ClassDefImpl::writeMemberDocumentation().

◆ writeDocumentationPage()

void MemberList::writeDocumentationPage ( OutputList ol,
const QCString scopeName,
const DefinitionMutable container 
) const

在文件 memberlist.cpp749 行定义.

751 {
752  static bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
753 
754  struct OverloadInfo
755  {
756  uint count = 1;
757  uint total = 0;
758  };
759  std::unordered_map<std::string,OverloadInfo> overloadInfo;
760 
761  // count the number of overloaded members
762  for (const auto &imd : m_members)
763  {
765 
766  if (md && md->hasDetailedDescription())
767  {
768  auto it = overloadInfo.insert(std::make_pair(md->name().str(),OverloadInfo())).first;
769  it->second.total++;
770  }
771  }
772 
773  for (const auto &imd : m_members)
774  {
775  Definition *container_d = toDefinition(const_cast<DefinitionMutable*>(container));
777  if (md && md->hasDetailedDescription())
778  {
779  auto it = overloadInfo.find(md->name().str());
780  uint overloadCount = it->second.total;
781  uint &count = it->second.count;
782  QCString diskName=md->getOutputFileBase();
783  QCString title=md->qualifiedName();
784  startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,diskName);
785  if (!generateTreeView)
786  {
787  container->writeNavigationPath(ol);
788  ol.endQuickIndices();
789  }
790  ol.startContents();
791 
792  if (generateTreeView)
793  {
794  md->writeDocumentation(this,count++,overloadCount,ol,scopeName,container_d,m_container==MemberListContainer::Group);
795 
796  ol.endContents();
797  endFileWithNavPath(container_d,ol);
798  }
799  else
800  {
801  ol.writeString("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n"
802  " <tr>\n"
803  " <td valign=\"top\">\n");
804 
805  container->writeQuickMemberLinks(ol,md);
806 
807  ol.writeString(" </td>\n");
808  ol.writeString(" <td valign=\"top\" class=\"mempage\">\n");
809 
810  md->writeDocumentation(this,count++,overloadCount,ol,scopeName,container_d,m_container==MemberListContainer::Group);
811 
812  ol.writeString(" </td>\n");
813  ol.writeString(" </tr>\n");
814  ol.writeString("</table>\n");
815 
816  endFile(ol);
817  }
818  }
819  }
820  for (const auto &mg : m_memberGroupRefList)
821  {
822  mg->writeDocumentationPage(ol,scopeName,container);
823  }
824 }

引用了 Config_getBool, container(), OutputList::endContents(), endFile(), endFileWithNavPath(), OutputList::endQuickIndices(), MemberDef::getOutputFileBase(), Group, MemberDef::hasDetailedDescription(), HLI_None, m_container, m_memberGroupRefList, MemberVector::m_members, Definition::name(), MemberDef::qualifiedName(), OutputList::startContents(), startFile(), QCString::str(), toDefinition(), toMemberDefMutable(), MemberDefMutable::writeDocumentation() , 以及 OutputList::writeString().

◆ writePlainDeclarations()

void MemberList::writePlainDeclarations ( OutputList ol,
bool  inGroup,
const ClassDef cd,
const NamespaceDef nd,
const FileDef fd,
const GroupDef gd,
int  indentLevel,
const ClassDef inheritedFrom,
const QCString inheritId 
) const

在文件 memberlist.cpp327 行定义.

331 {
332  //printf("----- writePlainDeclaration() ----\n");
333  if (numDecMembers()==-1)
334  {
335  err("MemberList::numDecMembers()==-1, so the members of this list have not been counted. Please report as a bug.\n");
336  abort();
337  }
339  {
340  //printf(" --> no members!\n");
341  return; // no members in this list
342  }
343  //printf(" --> writePlainDeclaration() numDecMembers()=%d\n",
344  // numDecMembers());
345 
346  ol.pushGeneratorState();
347 
348  bool first=TRUE;
349  for (const auto &md : m_members)
350  {
351  //printf(">>> Member '%s' type=%d visible=%d\n",
352  // qPrint(md->name()),md->memberType(),md->isBriefSectionVisible());
353  if ((inheritedFrom==0 || !md->isReimplementedBy(inheritedFrom)) &&
354  md->isBriefSectionVisible())
355  {
356  //printf(">>> rendering\n");
357  switch(md->memberType())
358  {
359  case MemberType_Define: // fall through
360  //case MemberType_Prototype: // fall through
361  case MemberType_Typedef: // fall through
362  case MemberType_Variable: // fall through
363  case MemberType_Function: // fall through
364  case MemberType_Signal: // fall through
365  case MemberType_Slot: // fall through
366  case MemberType_DCOP: // fall through
367  case MemberType_Property: // fall through
368  case MemberType_Interface: // fall through
369  case MemberType_Service: // fall through
370  case MemberType_Sequence: // fall through
371  case MemberType_Dictionary: // fall through
372  case MemberType_Event:
373  {
374  if (first) ol.startMemberList(),first=FALSE;
375  md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel,inheritedFrom,inheritId);
376  break;
377  }
379  {
380  // if this is an anonymous enum and there are variables of this
381  // enum type (i.e. enumVars>0), then we do not show the enum here.
382  if (countEnumValues(md)==0) // show enum here
383  {
384  //printf("Enum!!\n");
385  if (first)
386  {
387  ol.startMemberList();
388  first=FALSE;
389  }
391  ol.startMemberItem(md->anchor(),0,inheritId);
392  bool detailsLinkable = md->hasDetailedDescription();
393  if (!detailsLinkable)
394  {
395  ol.startDoxyAnchor(md->getOutputFileBase(),QCString(),md->anchor(),md->name(),QCString());
396  }
397  if (md->isSliceLocal())
398  {
399  ol.writeString("local ");
400  }
401  ol.writeString("enum ");
402  if (md->getLanguage()==SrcLangExt_Cpp && md->isStrong())
403  {
404  if (md->isEnumStruct())
405  {
406  ol.writeString("struct ");
407  }
408  else
409  {
410  ol.writeString("class ");
411  }
412  }
413  ol.insertMemberAlign();
414  md->writeEnumDeclaration(ol,cd,nd,fd,gd);
415  if (!detailsLinkable)
416  {
417  ol.endDoxyAnchor(md->getOutputFileBase(),md->anchor());
418  }
419  ol.endMemberItem();
420  if (!md->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
421  {
422  std::unique_ptr<IDocParser> parser { createDocParser() };
423  std::unique_ptr<DocRoot> rootNode { validatingParseDoc(*parser.get(),
424  md->briefFile(),md->briefLine(),
425  cd,md,
426  md->briefDescription(),
427  TRUE,FALSE,
428  QCString(),TRUE,FALSE,
429  Config_getBool(MARKDOWN_SUPPORT)) };
430  if (rootNode && !rootNode->isEmpty())
431  {
432  ol.startMemberDescription(md->anchor());
433  ol.writeDoc(rootNode.get(),cd,md);
434  if (md->hasDetailedDescription())
435  {
437  ol.docify(" ");
438  ol.startTextLink(md->getOutputFileBase(),
439  md->anchor());
441  ol.endTextLink();
442  ol.enableAll();
443  }
445  }
446  }
447  ol.endMemberDeclaration(md->anchor(),inheritId);
448  }
449  md->warnIfUndocumented();
450  break;
451  }
452  case MemberType_Friend:
453  if (inheritedFrom==0)
454  {
455  if (first)
456  {
457  ol.startMemberList();
458  first=FALSE;
459  }
460  md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel,inheritedFrom,inheritId);
461  break;
462  }
464  {
465  if (inGroup)
466  {
467  //printf("EnumValue!\n");
468  if (first) ol.startMemberList(),first=FALSE;
469  md->writeDeclaration(ol,cd,nd,fd,gd,true,indentLevel,inheritedFrom,inheritId);
470  }
471  }
472  break;
473  }
474  }
475  }
476 
477  // handle members that are inside anonymous compounds and for which
478  // no variables of the anonymous compound type exist.
479  if (cd)
480  {
481  for (const auto &md : m_members)
482  {
483  if (md->fromAnonymousScope() && !md->anonymousDeclShown())
484  {
486  if (mdm) mdm->setFromAnonymousScope(FALSE);
487  //printf("anonymous compound members\n");
488  if (md->isBriefSectionVisible())
489  {
490  if (first)
491  {
492  ol.startMemberList();
493  first=FALSE;
494  }
495  md->writeDeclaration(ol,cd,nd,fd,gd,inGroup,indentLevel);
496  }
497  if (mdm) mdm->setFromAnonymousScope(TRUE);
498  }
499  }
500  }
501 
502  if (!first)
503  {
504  ol.endMemberList();
505  }
506 
507  ol.popGeneratorState();
508  //printf("----- end writePlainDeclaration() ----\n");
509 }

引用了 Definition::briefDescription(), Config_getBool, countEnumValues(), createDocParser(), OutputList::disableAllBut(), OutputList::docify(), OutputList::enableAll(), OutputList::endDoxyAnchor(), OutputList::endMemberDeclaration(), OutputList::endMemberDescription(), OutputList::endMemberItem(), OutputList::endMemberList(), OutputList::endTextLink(), err(), FALSE, OutputGenerator::Html, OutputList::insertMemberAlign(), MemberVector::m_members, MemberType_DCOP, MemberType_Define, MemberType_Dictionary, MemberType_Enumeration, MemberType_EnumValue, MemberType_Event, MemberType_Friend, MemberType_Function, MemberType_Interface, MemberType_Property, MemberType_Sequence, MemberType_Service, MemberType_Signal, MemberType_Slot, MemberType_Typedef, MemberType_Variable, numDecEnumValues(), numDecMembers(), OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), MemberDefMutable::setFromAnonymousScope(), SrcLangExt_Cpp, OutputList::startDoxyAnchor(), OutputList::startMemberDeclaration(), OutputList::startMemberDescription(), OutputList::startMemberItem(), OutputList::startMemberList(), OutputList::startTextLink(), theTranslator, toMemberDefMutable(), Translator::trMore(), TRUE, validatingParseDoc(), OutputList::writeDoc() , 以及 OutputList::writeString().

被这些函数引用 MemberGroup::addGroupedInheritedMembers(), writeDeclarations() , 以及 ClassDefImpl::writePlainMemberDeclaration().

◆ writeSimpleDocumentation()

void MemberList::writeSimpleDocumentation ( OutputList ol,
const Definition container 
) const

在文件 memberlist.cpp725 行定义.

727 {
728  //printf("MemberList count=%d enumValues=%d\n",numDocMembers(),numDocEnumValues());
729  if (numDocMembers()<=numDocEnumValues()) return; // only enum values and they should be excluded
730 
731  const ClassDef *cd = 0;
732  if (container && container->definitionType()==Definition::TypeClass)
733  {
734  cd = toClassDef(container);
735  }
736  ol.startMemberDocSimple(cd && cd->isJavaEnum());
737  for (const auto &md : m_members)
738  {
740  if (mdm)
741  {
743  }
744  }
745  ol.endMemberDocSimple(cd && cd->isJavaEnum());
746 }

引用了 container(), OutputList::endMemberDocSimple(), ClassDef::isJavaEnum(), MemberVector::m_members, numDocEnumValues(), numDocMembers(), OutputList::startMemberDocSimple(), toClassDef(), toMemberDefMutable(), Definition::TypeClass , 以及 MemberDefMutable::writeMemberDocSimple().

被这些函数引用 ClassDefImpl::writeSimpleMemberDocumentation().

◆ writeTagFile()

void MemberList::writeTagFile ( TextStream tagFile)

在文件 memberlist.cpp940 行定义.

941 {
942  for (const auto &imd : m_members)
943  {
945  if (md)
946  {
947  if (md->getLanguage()!=SrcLangExt_VHDL)
948  {
949  md->writeTagFile(tagFile);
950  if (md->memberType()==MemberType_Enumeration && !md->isStrong())
951  {
952  for (const auto &ivmd : md->enumFieldList())
953  {
955  if (vmd)
956  {
957  vmd->writeTagFile(tagFile);
958  }
959  }
960  }
961  }
962  else
963  {
964  VhdlDocGen::writeTagFile(md,tagFile);
965  }
966  }
967  }
968  for (const auto &mg : m_memberGroupRefList)
969  {
970  mg->writeTagFile(tagFile);
971  }
972 }

引用了 MemberDef::enumFieldList(), Definition::getLanguage(), MemberDef::isStrong(), m_memberGroupRefList, MemberVector::m_members, MemberDef::memberType(), MemberType_Enumeration, SrcLangExt_VHDL, toMemberDefMutable(), VhdlDocGen::writeTagFile() , 以及 MemberDefMutable::writeTagFile().

被这些函数引用 NamespaceDefImpl::writeTagFile(), GroupDefImpl::writeTagFile(), FileDefImpl::writeTagFile() , 以及 ClassDefImpl::writeTagFile().

类成员变量说明

◆ m_container

MemberListContainer MemberList::m_container
private

◆ m_listType

MemberListType MemberList::m_listType
private

在文件 memberlist.h130 行定义.

被这些函数引用 listType() , 以及 writeDeclarations().

◆ m_memberGroupRefList

◆ m_needsSorting

bool MemberList::m_needsSorting
private

在文件 memberlist.h131 行定义.

被这些函数引用 MemberList(), needsSorting() , 以及 setNeedsSorting().

◆ m_numDecEnumValues

int MemberList::m_numDecEnumValues
private

在文件 memberlist.h125 行定义.

被这些函数引用 countDecMembers(), MemberList() , 以及 numDecEnumValues().

◆ m_numDecMembers

int MemberList::m_numDecMembers
private

在文件 memberlist.h124 行定义.

被这些函数引用 countDecMembers(), MemberList() , 以及 numDecMembers().

◆ m_numDocEnumValues

int MemberList::m_numDocEnumValues
private

在文件 memberlist.h127 行定义.

被这些函数引用 countDocMembers(), MemberList() , 以及 numDocEnumValues().

◆ m_numDocMembers

int MemberList::m_numDocMembers
private

在文件 memberlist.h126 行定义.

被这些函数引用 countDocMembers(), MemberList() , 以及 numDocMembers().


该类的文档由以下文件生成:
OutputList::startMemberGroup
void startMemberGroup()
Definition: outputlist.h:229
toDefinition
Definition * toDefinition(DefinitionMutable *dm)
Definition: definition.cpp:1950
OutputList::disableAllBut
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:76
OutputList::startMemberDescription
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
Definition: outputlist.h:306
OutputList::endGroupHeader
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:171
MemberListType_decEnumValMembers
@ MemberListType_decEnumValMembers
Definition: types.h:155
OutputList::startMemberList
void startMemberList()
Definition: outputlist.h:197
MemberList::numDecMembers
int numDecMembers() const
Definition: memberlist.h:90
MemberType_Variable
@ MemberType_Variable
Definition: types.h:278
MemberDefMutable::addListReference
virtual void addListReference(Definition *d)=0
OutputList::endMemberDocSimple
void endMemberDocSimple(bool b)
Definition: outputlist.h:457
ClassDefMutable
Definition: classdef.h:384
MemberListType_priStaticMethods
@ MemberListType_priStaticMethods
Definition: types.h:114
toMemberDefMutable
MemberDefMutable * toMemberDefMutable(Definition *d)
Definition: memberdef.cpp:6125
OutputList::endMemberDeclaration
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
Definition: outputlist.h:312
MemberListType_decEventMembers
@ MemberListType_decEventMembers
Definition: types.h:160
MemberListType_priStaticAttribs
@ MemberListType_priStaticAttribs
Definition: types.h:125
MemberListType_signals
@ MemberListType_signals
Definition: types.h:131
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
OutputList::startDoxyAnchor
void startDoxyAnchor(const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args)
Definition: outputlist.h:264
MemberListType_pacStaticAttribs
@ MemberListType_pacStaticAttribs
Definition: types.h:124
OutputList::endDoxyAnchor
void endDoxyAnchor(const QCString &fn, const QCString &anchor)
Definition: outputlist.h:268
MemberType_EnumValue
@ MemberType_EnumValue
Definition: types.h:281
MemberListType_services
@ MemberListType_services
Definition: types.h:187
MemberListType_decProSlotMembers
@ MemberListType_decProSlotMembers
Definition: types.h:157
MemberType_Signal
@ MemberType_Signal
Definition: types.h:282
OutputList::docify
void docify(const QCString &s)
Definition: outputlist.h:137
OutputList::endMemberDescription
void endMemberDescription()
Definition: outputlist.h:308
MemberList::m_numDecEnumValues
int m_numDecEnumValues
Definition: memberlist.h:125
MemberType_Interface
@ MemberType_Interface
Definition: types.h:288
MemberListType_priAttribs
@ MemberListType_priAttribs
Definition: types.h:121
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
OutputList::writeString
void writeString(const QCString &text)
Definition: outputlist.h:111
OutputList::insertMemberAlign
void insertMemberAlign(bool templ=FALSE)
Definition: outputlist.h:233
VhdlDocGen::writeVhdlDeclarations
static void writeVhdlDeclarations(const MemberList *, OutputList &, const GroupDef *, const ClassDef *, const FileDef *, const NamespaceDef *)
Definition: vhdldocgen.cpp:1539
MemberListType_pubTypes
@ MemberListType_pubTypes
Definition: types.h:126
MemberType_Friend
@ MemberType_Friend
Definition: types.h:284
MemberListType_priSlots
@ MemberListType_priSlots
Definition: types.h:117
MemberType_Enumeration
@ MemberType_Enumeration
Definition: types.h:280
ClassDef::isJavaEnum
virtual bool isJavaEnum() const =0
MemberListType_dcopMethods
@ MemberListType_dcopMethods
Definition: types.h:133
QCString::str
std::string str() const
Definition: qcstring.h:442
MemberType_Typedef
@ MemberType_Typedef
Definition: types.h:279
Definition::TypeGroup
@ TypeGroup
Definition: definition.h:91
MemberListType_decDictionaryMembers
@ MemberListType_decDictionaryMembers
Definition: types.h:192
MemberList::m_needsSorting
bool m_needsSorting
Definition: memberlist.h:131
err
void err(const char *fmt,...)
Definition: message.cpp:203
MemberListType_friends
@ MemberListType_friends
Definition: types.h:132
QCString::find
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:38
MemberList::container
MemberListContainer container() const
Definition: memberlist.h:88
MemberList::m_numDocMembers
int m_numDocMembers
Definition: memberlist.h:126
MemberListType_proAttribs
@ MemberListType_proAttribs
Definition: types.h:119
MemberDefMutable
Definition: memberdef.h:296
MemberListType_pubMethods
@ MemberListType_pubMethods
Definition: types.h:107
MemberList::m_numDecMembers
int m_numDecMembers
Definition: memberlist.h:124
endFileWithNavPath
void endFileWithNavPath(const Definition *d, OutputList &ol)
Definition: index.cpp:274
OutputList::writeDoc
void writeDoc(DocRoot *root, const Definition *ctx, const MemberDef *md, int id=0)
Definition: outputlist.cpp:169
MemberList::m_memberGroupRefList
MemberGroupRefList m_memberGroupRefList
Definition: memberlist.h:128
Definition::getLanguage
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
MemberListType_interfaces
@ MemberListType_interfaces
Definition: types.h:184
OutputList::endMemberGroupDocs
void endMemberGroupDocs()
Definition: outputlist.h:227
OutputList::startInlineHeader
void startInlineHeader()
Definition: outputlist.h:201
MemberVector::m_members
Vec m_members
Definition: memberlist.h:77
MemberDefMutable::writeTagFile
virtual void writeTagFile(TextStream &) const =0
MemberListType_decFriendMembers
@ MemberListType_decFriendMembers
Definition: types.h:161
MemberListType_decSequenceMembers
@ MemberListType_decSequenceMembers
Definition: types.h:190
MemberType_Service
@ MemberType_Service
Definition: types.h:289
uint
unsigned uint
Definition: qcstring.h:40
OutputList::startMemberGroupDocs
void startMemberGroupDocs()
Definition: outputlist.h:225
MemberList::listTypeAsString
static QCString listTypeAsString(MemberListType type)
Definition: memberlist.cpp:882
OutputList::endQuickIndices
void endQuickIndices()
Definition: outputlist.h:349
MemberType_Function
@ MemberType_Function
Definition: types.h:277
MemberListType_decPropMembers
@ MemberListType_decPropMembers
Definition: types.h:162
MemberListType_decProtoMembers
@ MemberListType_decProtoMembers
Definition: types.h:150
MemberListType_pubSlots
@ MemberListType_pubSlots
Definition: types.h:115
ClassDef
A abstract class representing of a compound symbol.
Definition: classdef.h:103
MemberListType_decVarMembers
@ MemberListType_decVarMembers
Definition: types.h:154
MemberType_Slot
@ MemberType_Slot
Definition: types.h:283
QCString::stripWhiteSpace
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition: qcstring.h:243
OutputList::startMemberItem
void startMemberItem(const QCString &anchor, int i1, const QCString &id=QCString())
Definition: outputlist.h:209
OutputList::disable
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:100
OutputList::endMemberDocList
void endMemberDocList()
Definition: outputlist.h:195
MemberListType_proStaticMethods
@ MemberListType_proStaticMethods
Definition: types.h:112
OutputList::startMemberHeader
void startMemberHeader(const QCString &anchor, int typ=2)
Definition: outputlist.h:185
MemberVector::empty
bool empty() const
Definition: memberlist.h:47
MemberList::writePlainDeclarations
void writePlainDeclarations(OutputList &ol, bool inGroup, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, int indentLevel, const ClassDef *inheritedFrom, const QCString &inheritId) const
Definition: memberlist.cpp:327
Definition::isAlias
virtual bool isAlias() const =0
MemberDef::enumFieldList
virtual const MemberVector & enumFieldList() const =0
Translator::trMore
virtual QCString trMore()=0
OutputList::endMemberGroup
void endMemberGroup(bool last)
Definition: outputlist.h:231
ClassDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
DefinitionMutable
Definition: definition.h:308
MemberListType_decPriSlotMembers
@ MemberListType_decPriSlotMembers
Definition: types.h:158
OutputList::endContents
void endContents()
Definition: outputlist.h:363
OutputList::writeInheritedSectionTitle
void writeInheritedSectionTitle(const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name)
Definition: outputlist.h:314
MemberList::numDocMembers
int numDocMembers() const
Definition: memberlist.h:92
theTranslator
Translator * theTranslator
Definition: language.cpp:156
Definition::name
virtual QCString name() const =0
MemberListType_events
@ MemberListType_events
Definition: types.h:135
MemberListType_decPubSlotMembers
@ MemberListType_decPubSlotMembers
Definition: types.h:156
VhdlDocGen::writeTagFile
static void writeTagFile(MemberDefMutable *mdef, TextStream &tagFile)
Definition: vhdldocgen.cpp:1702
SrcLangExt_Cpp
@ SrcLangExt_Cpp
Definition: types.h:50
MemberType_DCOP
@ MemberType_DCOP
Definition: types.h:285
OutputList::writeRuler
void writeRuler()
Definition: outputlist.h:237
MemberListType_enumFields
@ MemberListType_enumFields
Definition: types.h:180
MemberDefMutable::setAnchor
virtual void setAnchor()=0
stripPath
QCString stripPath(const QCString &s)
Definition: util.cpp:5318
validatingParseDoc
DocRoot * validatingParseDoc(IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
Definition: docparser.cpp:7495
startFile
void startFile(OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName)
Definition: index.cpp:235
TRUE
#define TRUE
Definition: qcstring.h:36
OutputList::endMemberList
void endMemberList()
Definition: outputlist.h:199
MemberVector
A vector of MemberDef object
Definition: memberlist.h:32
MemberList::m_container
MemberListContainer m_container
Definition: memberlist.h:129
MemberList::m_listType
MemberListType m_listType
Definition: memberlist.h:130
MemberList::m_numDocEnumValues
int m_numDocEnumValues
Definition: memberlist.h:127
MemberListType_pacAttribs
@ MemberListType_pacAttribs
Definition: types.h:120
OutputList::endMemberItem
void endMemberItem()
Definition: outputlist.h:211
OutputGenerator::Html
@ Html
Definition: outputgen.h:333
toClassDef
ClassDef * toClassDef(Definition *d)
Definition: classdef.cpp:4907
OutputList::enableAll
void enableAll()
Definition: outputlist.cpp:84
MemberDefMutable::setFromAnonymousScope
virtual void setFromAnonymousScope(bool b) const =0
MemberListType_decEnumMembers
@ MemberListType_decEnumMembers
Definition: types.h:152
MemberListType_pacTypes
@ MemberListType_pacTypes
Definition: types.h:128
MemberDef::isStrong
virtual bool isStrong() const =0
MemberListType_priTypes
@ MemberListType_priTypes
Definition: types.h:129
Definition::TypeClass
@ TypeClass
Definition: definition.h:87
OutputList::startContents
void startContents()
Definition: outputlist.h:361
Definition::definitionType
virtual DefType definitionType() const =0
MemberListType_pubStaticAttribs
@ MemberListType_pubStaticAttribs
Definition: types.h:122
OutputList::startGroupHeader
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:169
MemberType_Property
@ MemberType_Property
Definition: types.h:286
MemberListType_decDefineMembers
@ MemberListType_decDefineMembers
Definition: types.h:149
OutputList::popGeneratorState
void popGeneratorState()
Definition: outputlist.cpp:134
OutputList::startMemberDocSimple
void startMemberDocSimple(bool b)
Definition: outputlist.h:455
OutputList::startTextLink
void startTextLink(const QCString &file, const QCString &anchor)
Definition: outputlist.h:152
OutputList::endMemberSubtitle
void endMemberSubtitle()
Definition: outputlist.h:191
MemberType_Dictionary
@ MemberType_Dictionary
Definition: types.h:291
ClassDef::countMembersIncludingGrouped
virtual int countMembersIncludingGrouped(MemberListType lt, const ClassDef *inheritedFrom, bool additional) const =0
MemberListType_proMethods
@ MemberListType_proMethods
Definition: types.h:108
MemberListType_decFuncMembers
@ MemberListType_decFuncMembers
Definition: types.h:153
MemberListType_proTypes
@ MemberListType_proTypes
Definition: types.h:127
OutputList::startMemberGroupHeader
void startMemberGroupHeader(bool b)
Definition: outputlist.h:221
MemberDef::qualifiedName
virtual QCString qualifiedName() const =0
ClassDefMutable::addGroupedInheritedMembers
virtual void addGroupedInheritedMembers(OutputList &ol, MemberListType lt, const ClassDef *inheritedFrom, const QCString &inheritId) const =0
MemberList::countEnumValues
int countEnumValues(const MemberDef *md) const
Definition: memberlist.cpp:259
OutputList::endMemberHeader
void endMemberHeader()
Definition: outputlist.h:187
substitute
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition: qcstring.cpp:465
MemberListType_pacMethods
@ MemberListType_pacMethods
Definition: types.h:109
MemberDefMutable::writeDocumentation
virtual void writeDocumentation(const MemberList *ml, int memCount, int memTotal, OutputList &ol, const QCString &scopeName, const Definition *container, bool inGroup, bool showEnumValues=FALSE, bool showInline=FALSE) const =0
MemberListType_proStaticAttribs
@ MemberListType_proStaticAttribs
Definition: types.h:123
MemberDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
MemberList::numDocEnumValues
int numDocEnumValues() const
Definition: memberlist.h:93
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
MemberListType_related
@ MemberListType_related
Definition: types.h:130
MemberDefMutable::findSectionsInDocumentation
virtual void findSectionsInDocumentation()=0
ClassDef::getReference
virtual QCString getReference() const =0
If this class originated from a tagfile, this will return the tag file reference
MemberListType_priMethods
@ MemberListType_priMethods
Definition: types.h:110
MemberType_Event
@ MemberType_Event
Definition: types.h:287
MemberListType_proSlots
@ MemberListType_proSlots
Definition: types.h:116
MemberListType_decTypedefMembers
@ MemberListType_decTypedefMembers
Definition: types.h:151
OutputList::parseText
void parseText(const QCString &textStr)
Definition: outputlist.cpp:179
OutputList::endMemberGroupHeader
void endMemberGroupHeader()
Definition: outputlist.h:223
MemberType_Sequence
@ MemberType_Sequence
Definition: types.h:290
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
OutputList::startMemberSubtitle
void startMemberSubtitle()
Definition: outputlist.h:189
OutputList::generateDoc
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
Definition: outputlist.cpp:142
MemberListType_decSignalMembers
@ MemberListType_decSignalMembers
Definition: types.h:159
MemberListType_pubAttribs
@ MemberListType_pubAttribs
Definition: types.h:118
ClassDef::displayName
virtual QCString displayName(bool includeScope=TRUE) const =0
Returns the name as it is appears in the documentation
ASSERT
#define ASSERT(x)
Definition: qcstring.h:44
OutputList::pushGeneratorState
void pushGeneratorState()
Definition: outputlist.cpp:126
OutputList::endInlineHeader
void endInlineHeader()
Definition: outputlist.h:203
OutputList::startMemberDocList
void startMemberDocList()
Definition: outputlist.h:193
MemberType_Define
@ MemberType_Define
Definition: types.h:276
SrcLangExt_VHDL
@ SrcLangExt_VHDL
Definition: types.h:54
MemberList::numDecEnumValues
int numDecEnumValues() const
Definition: memberlist.h:91
MemberListContainer::Group
@ Group
MemberListType_pacStaticMethods
@ MemberListType_pacStaticMethods
Definition: types.h:113
toClassDefMutable
ClassDefMutable * toClassDefMutable(Definition *d)
Definition: classdef.cpp:4944
OutputList::startMemberDeclaration
void startMemberDeclaration()
Definition: outputlist.h:310
MemberListType_properties
@ MemberListType_properties
Definition: types.h:134
HLI_None
@ HLI_None
Definition: index.h:142
MemberListType_pubStaticMethods
@ MemberListType_pubStaticMethods
Definition: types.h:111
MemberDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
MemberListType_memberGroup
@ MemberListType_memberGroup
Definition: types.h:181
MemberDefMutable::setAnonymousEnumType
virtual void setAnonymousEnumType(const MemberDef *md)=0
OutputList::endTextLink
void endTextLink()
Definition: outputlist.h:154
MemberDef::memberType
virtual MemberType memberType() const =0
MemberDef::getGroupDef
virtual const GroupDef * getGroupDef() const =0
endFile
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
Definition: index.cpp:254
createDocParser
std::unique_ptr< IDocParser > createDocParser()
Definition: docparser.cpp:179
FALSE
#define FALSE
Definition: qcstring.h:33
ClassDef::anchor
virtual QCString anchor() const =0
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108
MemberDefMutable::writeMemberDocSimple
virtual void writeMemberDocSimple(OutputList &ol, const Definition *container) const =0