34 class MemberNameInfoSDict;
37 class MemberGroupSDict;
38 class MemberGroupList;
40 //----------------------------------------------------
44 /** @brief Helper class to support reference counting */
46 class RefCountedContext
49 RefCountedContext(const char *className) : m_refCount(0)
51 m_className=className;
52 m_insideRelease = FALSE;
54 virtual ~RefCountedContext()
56 if (!m_insideRelease) abort();
61 printf("%p:%s::addRef()=%d\n",this,m_className.data(),m_refCount);
67 printf("%p:%s::release()=%d\n",this,m_className.data(),m_refCount-1);
68 int count = --m_refCount;
81 static int s_totalCount;
84 #else // release version
86 class RefCountedContext
89 RefCountedContext(const char *) : m_refCount(0) {}
90 virtual ~RefCountedContext() {}
91 int addRef() { return ++m_refCount; }
94 int count = --m_refCount;
107 //----------------------------------------------------
109 class ConfigContext : public RefCountedContext, public TemplateStructIntf
112 static ConfigContext *alloc() { return new ConfigContext; }
114 // TemplateStructIntf methods
115 virtual TemplateVariant get(const char *name) const;
116 virtual int addRef() { return RefCountedContext::addRef(); }
117 virtual int release() { return RefCountedContext::release(); }
126 //----------------------------------------------------
128 class DoxygenContext : public RefCountedContext, public TemplateStructIntf
131 static DoxygenContext *alloc() { return new DoxygenContext; }
133 // TemplateStructIntf methods
134 virtual TemplateVariant get(const char *name) const;
135 virtual int addRef() { return RefCountedContext::addRef(); }
136 virtual int release() { return RefCountedContext::release(); }
145 //----------------------------------------------------
147 class TranslateContext : public RefCountedContext, public TemplateStructIntf
150 static TranslateContext *alloc() { return new TranslateContext; }
152 // TemplateStructIntf methods
153 virtual TemplateVariant get(const char *name) const;
154 virtual int addRef() { return RefCountedContext::addRef(); }
155 virtual int release() { return RefCountedContext::release(); }
164 //----------------------------------------------------
166 class UsedFilesContext : public RefCountedContext, public TemplateListIntf
169 static UsedFilesContext *alloc(ClassDef *cd) { return new UsedFilesContext(cd); }
172 virtual int count() const;
173 virtual TemplateVariant at(int index) const;
174 virtual TemplateListIntf::ConstIterator *createIterator() const;
175 virtual int addRef() { return RefCountedContext::addRef(); }
176 virtual int release() { return RefCountedContext::release(); }
178 void addFile(FileDef *fd);
181 UsedFilesContext(ClassDef *cd);
188 //----------------------------------------------------
190 class IncludeInfoContext : public RefCountedContext, public TemplateStructIntf
193 static IncludeInfoContext *alloc(const IncludeInfo *info,SrcLangExt lang)
194 { return new IncludeInfoContext(info,lang); }
196 // TemplateStructIntf methods
197 virtual TemplateVariant get(const char *name) const;
198 virtual int addRef() { return RefCountedContext::addRef(); }
199 virtual int release() { return RefCountedContext::release(); }
202 IncludeInfoContext(const IncludeInfo *,SrcLangExt lang);
203 ~IncludeInfoContext();
208 //----------------------------------------------------
210 class IncludeInfoListContext : public RefCountedContext, public TemplateListIntf
213 static IncludeInfoListContext *alloc(const QList<IncludeInfo> &list,SrcLangExt lang)
214 { return new IncludeInfoListContext(list,lang); }
217 virtual int count() const;
218 virtual TemplateVariant at(int index) const;
219 virtual TemplateListIntf::ConstIterator *createIterator() const;
220 virtual int addRef() { return RefCountedContext::addRef(); }
221 virtual int release() { return RefCountedContext::release(); }
224 IncludeInfoListContext(const QList<IncludeInfo> &list,SrcLangExt lang);
225 ~IncludeInfoListContext();
231 //----------------------------------------------------
233 class ClassContext : public RefCountedContext, public TemplateStructIntf
236 static ClassContext *alloc(ClassDef *cd) { return new ClassContext(cd); }
238 // TemplateStructIntf methods
239 virtual TemplateVariant get(const char *name) const;
240 virtual int addRef() { return RefCountedContext::addRef(); }
241 virtual int release() { return RefCountedContext::release(); }
244 ClassContext(ClassDef *);
250 //----------------------------------------------------
252 class NamespaceContext : public RefCountedContext, public TemplateStructIntf
255 static NamespaceContext *alloc(NamespaceDef *nd) { return new NamespaceContext(nd); }
257 // TemplateStructIntf methods
258 virtual TemplateVariant get(const char *name) const;
259 virtual int addRef() { return RefCountedContext::addRef(); }
260 virtual int release() { return RefCountedContext::release(); }
263 NamespaceContext(NamespaceDef *);
269 //----------------------------------------------------
271 class FileContext : public RefCountedContext, public TemplateStructIntf
274 static FileContext *alloc(FileDef *fd) { return new FileContext(fd); }
276 // TemplateStructIntf methods
277 virtual TemplateVariant get(const char *name) const;
278 virtual int addRef() { return RefCountedContext::addRef(); }
279 virtual int release() { return RefCountedContext::release(); }
282 FileContext(FileDef *);
287 //----------------------------------------------------
289 class DirContext : public RefCountedContext, public TemplateStructIntf
292 static DirContext *alloc(DirDef *dd) { return new DirContext(dd); }
294 // TemplateStructIntf methods
295 virtual TemplateVariant get(const char *name) const;
296 virtual int addRef() { return RefCountedContext::addRef(); }
297 virtual int release() { return RefCountedContext::release(); }
300 DirContext(DirDef *);
307 //----------------------------------------------------
309 class PageContext : public RefCountedContext, public TemplateStructIntf
312 static PageContext *alloc(PageDef *pd) { return new PageContext(pd); }
314 // TemplateStructIntf methods
315 virtual TemplateVariant get(const char *name) const;
316 virtual int addRef() { return RefCountedContext::addRef(); }
317 virtual int release() { return RefCountedContext::release(); }
320 PageContext(PageDef *);
326 //----------------------------------------------------
328 class MemberContext : public RefCountedContext, public TemplateStructIntf
331 static MemberContext *alloc(MemberDef *md) { return new MemberContext(md); }
333 // TemplateStructIntf methods
334 virtual TemplateVariant get(const char *name) const;
335 virtual int addRef() { return RefCountedContext::addRef(); }
336 virtual int release() { return RefCountedContext::release(); }
339 MemberContext(MemberDef *);
346 //----------------------------------------------------
348 class ModuleContext : public RefCountedContext, public TemplateStructIntf
351 static ModuleContext *alloc(GroupDef *gd) { return new ModuleContext(gd); }
353 // TemplateStructIntf methods
354 virtual TemplateVariant get(const char *name) const;
355 virtual int addRef() { return RefCountedContext::addRef(); }
356 virtual int release() { return RefCountedContext::release(); }
359 ModuleContext(GroupDef *);
365 //----------------------------------------------------
367 class NestedClassListContext : public RefCountedContext, public TemplateListIntf
370 static NestedClassListContext *alloc() { return new NestedClassListContext; }
373 virtual int count() const;
374 virtual TemplateVariant at(int index) const;
375 virtual TemplateListIntf::ConstIterator *createIterator() const;
376 virtual int addRef() { return RefCountedContext::addRef(); }
377 virtual int release() { return RefCountedContext::release(); }
379 void append(ClassDef *cd);
382 NestedClassListContext();
383 ~NestedClassListContext();
388 //----------------------------------------------------
390 class NestedNamespaceListContext : public RefCountedContext, public TemplateListIntf
393 static NestedNamespaceListContext *alloc() { return new NestedNamespaceListContext; }
396 virtual int count() const;
397 virtual TemplateVariant at(int index) const;
398 virtual TemplateListIntf::ConstIterator *createIterator() const;
399 virtual int addRef() { return RefCountedContext::addRef(); }
400 virtual int release() { return RefCountedContext::release(); }
402 void append(NamespaceDef *cd);
405 NestedNamespaceListContext();
406 ~NestedNamespaceListContext();
411 //----------------------------------------------------
413 class ClassListContext : public RefCountedContext, public TemplateListIntf
416 static ClassListContext *alloc() { return new ClassListContext; }
419 virtual int count() const;
420 virtual TemplateVariant at(int index) const;
421 virtual TemplateListIntf::ConstIterator *createIterator() const;
422 virtual int addRef() { return RefCountedContext::addRef(); }
423 virtual int release() { return RefCountedContext::release(); }
432 //----------------------------------------------------
434 class ClassInheritanceNodeContext : public RefCountedContext, public TemplateStructIntf
437 static ClassInheritanceNodeContext *alloc(ClassDef *cd)
438 { return new ClassInheritanceNodeContext(cd); }
440 // TemplateStructIntf methods
441 virtual TemplateVariant get(const char *name) const;
442 virtual int addRef() { return RefCountedContext::addRef(); }
443 virtual int release() { return RefCountedContext::release(); }
445 void addChildren(const BaseClassList *bcl,bool hideSuper);
448 ClassInheritanceNodeContext(ClassDef *);
449 ~ClassInheritanceNodeContext();
454 //----------------------------------------------------
456 class ClassInheritanceContext : public RefCountedContext, public TemplateListIntf
459 static ClassInheritanceContext *alloc() { return new ClassInheritanceContext; }
462 virtual int count() const;
463 virtual TemplateVariant at(int index) const;
464 virtual TemplateListIntf::ConstIterator *createIterator() const;
465 virtual int addRef() { return RefCountedContext::addRef(); }
466 virtual int release() { return RefCountedContext::release(); }
469 ClassInheritanceContext();
470 ~ClassInheritanceContext();
475 //----------------------------------------------------
477 class ClassHierarchyContext : public RefCountedContext, public TemplateStructIntf
480 static ClassHierarchyContext *alloc() { return new ClassHierarchyContext; }
482 // TemplateStructIntf methods
483 virtual TemplateVariant get(const char *name) const;
484 virtual int addRef() { return RefCountedContext::addRef(); }
485 virtual int release() { return RefCountedContext::release(); }
488 ClassHierarchyContext();
489 ~ClassHierarchyContext();
494 //----------------------------------------------------
496 class NestingNodeContext : public RefCountedContext, public TemplateStructIntf
499 static NestingNodeContext *alloc(const NestingNodeContext *parent,Definition *def,
500 int index,int level,bool addClasses)
501 { return new NestingNodeContext(parent,def,index,level,addClasses); }
505 // TemplateStructIntf methods
506 virtual TemplateVariant get(const char *name) const;
507 virtual int addRef() { return RefCountedContext::addRef(); }
508 virtual int release() { return RefCountedContext::release(); }
511 NestingNodeContext(const NestingNodeContext *parent,
512 Definition *,int index,int level,bool addClasses);
513 ~NestingNodeContext();
518 //----------------------------------------------------
520 class NestingContext : public RefCountedContext, public TemplateListIntf
523 static NestingContext *alloc(const NestingNodeContext *parent,int level)
524 { return new NestingContext(parent,level); }
527 virtual int count() const;
528 virtual TemplateVariant at(int index) const;
529 virtual TemplateListIntf::ConstIterator *createIterator() const;
530 virtual int addRef() { return RefCountedContext::addRef(); }
531 virtual int release() { return RefCountedContext::release(); }
533 void addNamespaces(const NamespaceSDict &nsDict,bool rootOnly,bool addClasses);
534 void addClasses(const ClassSDict &clDict,bool rootOnly);
535 void addDirs(const DirSDict &);
536 void addDirs(const DirList &);
537 void addFiles(const FileNameList &);
538 void addFiles(const FileList &);
541 NestingContext(const NestingNodeContext *parent,int level);
547 //----------------------------------------------------
549 class ClassTreeContext : public RefCountedContext, public TemplateStructIntf
552 static ClassTreeContext *alloc() { return new ClassTreeContext; }
554 // TemplateStructIntf methods
555 virtual TemplateVariant get(const char *name) const;
556 virtual int addRef() { return RefCountedContext::addRef(); }
557 virtual int release() { return RefCountedContext::release(); }
566 //----------------------------------------------------
568 class NamespaceListContext : public RefCountedContext, public TemplateListIntf
571 static NamespaceListContext *alloc() { return new NamespaceListContext; }
574 virtual int count() const;
575 virtual TemplateVariant at(int index) const;
576 virtual TemplateListIntf::ConstIterator *createIterator() const;
577 virtual int addRef() { return RefCountedContext::addRef(); }
578 virtual int release() { return RefCountedContext::release(); }
581 NamespaceListContext();
582 ~NamespaceListContext();
587 //----------------------------------------------------
589 class NamespaceTreeContext : public RefCountedContext, public TemplateStructIntf
592 static NamespaceTreeContext *alloc() { return new NamespaceTreeContext; }
594 // TemplateStructIntf methods
595 virtual TemplateVariant get(const char *name) const;
596 virtual int addRef() { return RefCountedContext::addRef(); }
597 virtual int release() { return RefCountedContext::release(); }
600 NamespaceTreeContext();
601 ~NamespaceTreeContext();
606 //----------------------------------------------------
608 class DirListContext : public RefCountedContext, public TemplateListIntf
611 static DirListContext *alloc() { return new DirListContext; }
614 virtual int count() const;
615 virtual TemplateVariant at(int index) const;
616 virtual TemplateListIntf::ConstIterator *createIterator() const;
617 virtual int addRef() { return RefCountedContext::addRef(); }
618 virtual int release() { return RefCountedContext::release(); }
627 //----------------------------------------------------
629 class FileListContext : public RefCountedContext, public TemplateListIntf
632 static FileListContext *alloc() { return new FileListContext; }
635 virtual int count() const;
636 virtual TemplateVariant at(int index) const;
637 virtual TemplateListIntf::ConstIterator *createIterator() const;
638 virtual int addRef() { return RefCountedContext::addRef(); }
639 virtual int release() { return RefCountedContext::release(); }
648 //----------------------------------------------------
650 class FileTreeContext : public RefCountedContext, public TemplateStructIntf
653 static FileTreeContext *alloc() { return new FileTreeContext; }
655 // TemplateStructIntf methods
656 virtual TemplateVariant get(const char *name) const;
657 virtual int addRef() { return RefCountedContext::addRef(); }
658 virtual int release() { return RefCountedContext::release(); }
667 //----------------------------------------------------
669 class PageNodeContext : public RefCountedContext, public TemplateStructIntf
672 static PageNodeContext *alloc(PageDef *pd) { return new PageNodeContext(pd); }
674 // TemplateStructIntf methods
675 virtual TemplateVariant get(const char *name) const;
676 virtual int addRef() { return RefCountedContext::addRef(); }
677 virtual int release() { return RefCountedContext::release(); }
680 PageNodeContext(PageDef *);
686 //----------------------------------------------------
688 class PageNodeListContext : public RefCountedContext, public TemplateListIntf
691 static PageNodeListContext *alloc() { return new PageNodeListContext; }
694 virtual int count() const;
695 virtual TemplateVariant at(int index) const;
696 virtual TemplateListIntf::ConstIterator *createIterator() const;
697 virtual int addRef() { return RefCountedContext::addRef(); }
698 virtual int release() { return RefCountedContext::release(); }
700 void addPages(const PageSDict &,bool rootOnly);
703 PageNodeListContext();
704 ~PageNodeListContext();
709 //----------------------------------------------------
711 class PageListContext : public RefCountedContext, public TemplateStructIntf
714 static PageListContext *alloc() { return new PageListContext; }
716 // TemplateStructIntf methods
717 virtual TemplateVariant get(const char *name) const;
718 virtual int addRef() { return RefCountedContext::addRef(); }
719 virtual int release() { return RefCountedContext::release(); }
728 //----------------------------------------------------
730 class PageTreeContext : public RefCountedContext, public TemplateStructIntf
733 static PageTreeContext *alloc() { return new PageTreeContext; }
735 // TemplateStructIntf methods
736 virtual TemplateVariant get(const char *name) const;
737 virtual int addRef() { return RefCountedContext::addRef(); }
738 virtual int release() { return RefCountedContext::release(); }
747 //----------------------------------------------------
749 class ModuleNodeContext : public RefCountedContext, public TemplateStructIntf
752 static ModuleNodeContext *alloc(GroupDef *gd) { return new ModuleNodeContext(gd); }
754 // TemplateStructIntf methods
755 virtual TemplateVariant get(const char *name) const;
756 virtual int addRef() { return RefCountedContext::addRef(); }
757 virtual int release() { return RefCountedContext::release(); }
760 ModuleNodeContext(GroupDef *);
761 ~ModuleNodeContext();
766 //----------------------------------------------------
768 class ModuleListContext : public RefCountedContext, public TemplateListIntf
771 static ModuleListContext *alloc() { return new ModuleListContext(); }
774 virtual int count() const;
775 virtual TemplateVariant at(int index) const;
776 virtual TemplateListIntf::ConstIterator *createIterator() const;
777 virtual int addRef() { return RefCountedContext::addRef(); }
778 virtual int release() { return RefCountedContext::release(); }
780 void addModules(const GroupSDict &);
781 void addModules(const GroupList &);
785 ~ModuleListContext();
790 //----------------------------------------------------
792 class ModuleTreeContext : public RefCountedContext, public TemplateStructIntf
795 static ModuleTreeContext *alloc() { return new ModuleTreeContext(); }
797 // TemplateStructIntf methods
798 virtual TemplateVariant get(const char *name) const;
799 virtual int addRef() { return RefCountedContext::addRef(); }
800 virtual int release() { return RefCountedContext::release(); }
804 ~ModuleTreeContext();
809 //----------------------------------------------------
811 class ExampleListContext : public RefCountedContext, public TemplateStructIntf
814 static ExampleListContext *alloc() { return new ExampleListContext(); }
816 // TemplateStructIntf methods
817 virtual TemplateVariant get(const char *name) const;
818 virtual int addRef() { return RefCountedContext::addRef(); }
819 virtual int release() { return RefCountedContext::release(); }
822 ExampleListContext();
823 ~ExampleListContext();
828 //----------------------------------------------------
830 class NavPathElemContext : public RefCountedContext, public TemplateStructIntf
833 static NavPathElemContext *alloc(Definition *def) { return new NavPathElemContext(def); }
835 // TemplateStructIntf methods
836 virtual TemplateVariant get(const char *name) const;
837 virtual int addRef() { return RefCountedContext::addRef(); }
838 virtual int release() { return RefCountedContext::release(); }
841 NavPathElemContext(Definition *def);
842 ~NavPathElemContext();
848 //----------------------------------------------------
850 class InheritanceNodeContext : public RefCountedContext, public TemplateStructIntf
853 static InheritanceNodeContext *alloc(ClassDef *cd,const QCString &name)
854 { return new InheritanceNodeContext(cd,name); }
856 // TemplateStructIntf methods
857 virtual TemplateVariant get(const char *name) const;
858 virtual int addRef() { return RefCountedContext::addRef(); }
859 virtual int release() { return RefCountedContext::release(); }
862 InheritanceNodeContext(ClassDef *cd,const QCString &name);
863 ~InheritanceNodeContext();
868 //----------------------------------------------------
870 class InheritanceListContext : public RefCountedContext, public TemplateListIntf
873 static InheritanceListContext *alloc(const BaseClassList *list,bool baseClasses)
874 { return new InheritanceListContext(list,baseClasses); }
877 virtual int count() const;
878 virtual TemplateVariant at(int index) const;
879 virtual TemplateListIntf::ConstIterator *createIterator() const;
880 virtual int addRef() { return RefCountedContext::addRef(); }
881 virtual int release() { return RefCountedContext::release(); }
884 InheritanceListContext(const BaseClassList *list,bool baseClasses);
885 ~InheritanceListContext();
890 //----------------------------------------------------
892 class MemberListContext : public RefCountedContext, public TemplateListIntf
895 static MemberListContext *alloc()
896 { return new MemberListContext; }
897 static MemberListContext *alloc(const MemberList *ml)
898 { return new MemberListContext(ml); }
899 static MemberListContext *alloc(MemberSDict *ml,bool doSort)
900 { return new MemberListContext(ml,doSort); }
903 virtual int count() const;
904 virtual TemplateVariant at(int index) const;
905 virtual TemplateListIntf::ConstIterator *createIterator() const;
906 virtual int addRef() { return RefCountedContext::addRef(); }
907 virtual int release() { return RefCountedContext::release(); }
911 MemberListContext(const MemberList *ml);
912 MemberListContext(MemberSDict *ml,bool doSort);
913 ~MemberListContext();
918 //----------------------------------------------------
920 class MemberGroupInfoContext : public RefCountedContext, public TemplateStructIntf
923 static MemberGroupInfoContext *alloc(Definition *def,const QCString &relPath,const MemberGroup *mg)
924 { return new MemberGroupInfoContext(def,relPath,mg); }
926 // TemplateStructIntf methods
927 virtual TemplateVariant get(const char *name) const;
928 virtual int addRef() { return RefCountedContext::addRef(); }
929 virtual int release() { return RefCountedContext::release(); }
932 MemberGroupInfoContext(Definition *def,const QCString &relPath,const MemberGroup *mg);
933 ~MemberGroupInfoContext();
938 //----------------------------------------------------
940 class MemberGroupListContext : public RefCountedContext, public TemplateListIntf
943 static MemberGroupListContext *alloc()
944 { return new MemberGroupListContext; }
945 static MemberGroupListContext *alloc(Definition *def,const QCString &relPath,const MemberGroupList *list)
946 { return new MemberGroupListContext(def,relPath,list); }
947 static MemberGroupListContext *alloc(Definition *def,const QCString &relPath,const MemberGroupSDict *dict,bool subGrouping)
948 { return new MemberGroupListContext(def,relPath,dict,subGrouping); }
951 virtual int count() const;
952 virtual TemplateVariant at(int index) const;
953 virtual TemplateListIntf::ConstIterator *createIterator() const;
954 virtual int addRef() { return RefCountedContext::addRef(); }
955 virtual int release() { return RefCountedContext::release(); }
958 MemberGroupListContext();
959 MemberGroupListContext(Definition *def,const QCString &relPath,const MemberGroupList *list);
960 MemberGroupListContext(Definition *def,const QCString &relPath,const MemberGroupSDict *mgDict,bool subGrouping);
961 ~MemberGroupListContext();
967 //----------------------------------------------------
969 class MemberListInfoContext : public RefCountedContext, public TemplateStructIntf
972 static MemberListInfoContext *alloc(Definition *def,const QCString &relPath,
973 const MemberList *ml,const QCString &title,
974 const QCString &subtitle=QCString())
975 { return new MemberListInfoContext(def,relPath,ml,title,subtitle); }
977 // TemplateStructIntf methods
978 virtual TemplateVariant get(const char *name) const;
979 virtual int addRef() { return RefCountedContext::addRef(); }
980 virtual int release() { return RefCountedContext::release(); }
983 MemberListInfoContext(Definition *def,const QCString &relPath,
984 const MemberList *ml,const QCString &title,
985 const QCString &subtitle=QCString());
986 ~MemberListInfoContext();
991 //----------------------------------------------------
993 class MemberInfoContext : public RefCountedContext, public TemplateStructIntf
996 static MemberInfoContext *alloc(const MemberInfo *mi) { return new MemberInfoContext(mi); }
998 // TemplateStructIntf methods
999 virtual TemplateVariant get(const char *name) const;
1000 virtual int addRef() { return RefCountedContext::addRef(); }
1001 virtual int release() { return RefCountedContext::release(); }
1004 MemberInfoContext(const MemberInfo *mi);
1005 ~MemberInfoContext();
1010 //----------------------------------------------------
1012 class InheritedMemberInfoContext : public RefCountedContext, public TemplateStructIntf
1015 static InheritedMemberInfoContext *alloc(ClassDef *cd,MemberList *ml,const QCString &title)
1016 { return new InheritedMemberInfoContext(cd,ml,title); }
1018 // TemplateStructIntf methods
1019 virtual TemplateVariant get(const char *name) const;
1020 virtual int addRef() { return RefCountedContext::addRef(); }
1021 virtual int release() { return RefCountedContext::release(); }
1024 InheritedMemberInfoContext(ClassDef *cd,MemberList *ml,const QCString &title);
1025 ~InheritedMemberInfoContext();
1030 //----------------------------------------------------
1032 class InheritedMemberInfoListContext : public RefCountedContext, public TemplateListIntf
1035 static InheritedMemberInfoListContext *alloc() { return new InheritedMemberInfoListContext; }
1036 void addMemberList(ClassDef *cd,MemberListType lt,const QCString &title,bool additionalList=TRUE);
1039 virtual int count() const;
1040 virtual TemplateVariant at(int index) const;
1041 virtual TemplateListIntf::ConstIterator *createIterator() const;
1042 virtual int addRef() { return RefCountedContext::addRef(); }
1043 virtual int release() { return RefCountedContext::release(); }
1046 InheritedMemberInfoListContext();
1047 ~InheritedMemberInfoListContext();
1052 //----------------------------------------------------
1054 class AllMembersListContext : public RefCountedContext, public TemplateListIntf
1057 static AllMembersListContext *alloc()
1058 { return new AllMembersListContext; }
1059 static AllMembersListContext *alloc(const MemberNameInfoSDict *ml)
1060 { return new AllMembersListContext(ml); }
1063 virtual int count() const;
1064 virtual TemplateVariant at(int index) const;
1065 virtual TemplateListIntf::ConstIterator *createIterator() const;
1066 virtual int addRef() { return RefCountedContext::addRef(); }
1067 virtual int release() { return RefCountedContext::release(); }
1070 AllMembersListContext();
1071 AllMembersListContext(const MemberNameInfoSDict *ml);
1072 ~AllMembersListContext();
1077 //----------------------------------------------------
1079 class ArgumentContext : public RefCountedContext, public TemplateStructIntf
1082 static ArgumentContext *alloc(const Argument *arg,Definition *def,const QCString &relPath)
1083 { return new ArgumentContext(arg,def,relPath); }
1085 // TemplateStructIntf methods
1086 virtual TemplateVariant get(const char *name) const;
1087 virtual int addRef() { return RefCountedContext::addRef(); }
1088 virtual int release() { return RefCountedContext::release(); }
1091 ArgumentContext(const Argument *arg,Definition *def,const QCString &relPath);
1097 //----------------------------------------------------
1099 class ArgumentListContext : public RefCountedContext, public TemplateListIntf
1102 static ArgumentListContext *alloc() { return new ArgumentListContext; }
1103 static ArgumentListContext *alloc(const ArgumentList *al,Definition *def,const QCString &relPath)
1104 { return new ArgumentListContext(al,def,relPath); }
1107 virtual int count() const;
1108 virtual TemplateVariant at(int index) const;
1109 virtual TemplateListIntf::ConstIterator *createIterator() const;
1110 virtual int addRef() { return RefCountedContext::addRef(); }
1111 virtual int release() { return RefCountedContext::release(); }
1114 ArgumentListContext();
1115 ArgumentListContext(const ArgumentList *al,Definition *def,const QCString &relPath);
1116 ~ArgumentListContext();
1121 //----------------------------------------------------
1123 void generateOutputViaTemplate();