Doxygen
context.cpp
浏览该文件的文档.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #include <assert.h>
17 #include <sstream>
18 
19 #include "context.h"
20 #include "config.h"
21 #include "index.h"
22 #include "classlist.h"
23 #include "doxygen.h"
24 #include "namespacedef.h"
25 #include "filedef.h"
26 #include "pagedef.h"
27 #include "groupdef.h"
28 #include "util.h"
29 #include "version.h"
30 #include "language.h"
31 #include "message.h"
32 #include "vhdldocgen.h"
33 #include "filename.h"
34 #include "dirdef.h"
35 #include "docparser.h"
36 #include "htmlgen.h"
37 #include "htmldocvisitor.h"
38 #include "htmlhelp.h"
39 #include "latexgen.h"
40 #include "latexdocvisitor.h"
41 #include "dot.h"
42 #include "dotcallgraph.h"
43 #include "dotclassgraph.h"
44 #include "dotdirdeps.h"
45 #include "dotgfxhierarchytable.h"
46 #include "dotgroupcollaboration.h"
47 #include "dotincldepgraph.h"
48 #include "diagram.h"
49 #include "example.h"
50 #include "membername.h"
51 #include "parserintf.h"
52 #include "portable.h"
53 #include "arguments.h"
54 #include "groupdef.h"
55 #include "searchindex.h"
56 #include "resourcemgr.h"
57 #include "dir.h"
58 
59 // TODO: pass the current file to Dot*::writeGraph, so the user can put dot graphs in other
60 // files as well
61 
63 {
72 };
73 
75 {
80 
81 
82 /** Wrapper for data that needs to be cached.
83  * The cached data can be accessed via the get() method from multiple threads.
84  * The first thread that calls get() will trigger creation of the data item via
85  * the creator method, blocking other threads until the item is available in the cache.
86  * @tparam T the type of the data item in the cache.
87  * @tparam TOwner the class containing the cached item.
88  * @tparam creator the method of TOwner to call in order to create the data item to be cached.
89  */
90 template<typename T, typename TOwner, T(TOwner::*creator)() const>
92 {
93  public:
94  /** Returns a reference to the cached data.
95  * Conceptually this is a const method, i.e. it will always return the same data
96  * The first time it is called, the owner will be asked to create the data.
97  */
98  T &get(const TOwner *owner) const
99  {
100  // create a lamda function to create the cached data
101  auto creatorFunc = [this,owner]() { m_item = (owner->*creator)(); };
102  // use std::call_once to let one thread invoke the creator func
103  std::call_once(m_cache_flag, creatorFunc);
104  // return the cached results
105  return m_item;
106  }
107  private:
108  mutable std::once_flag m_cache_flag; // flag to keep track if the item is already cached
109  mutable T m_item; // the cached data item
110 };
111 
112 //------------------------------------------------------------------------
113 
114 /** Class representing a mapping of properties and the corresponding getter function.
115  * The map should be initialized at initialization time.
116  */
117 template<class T>
119 {
120  public:
121  using Map = std::map< std::string, TemplateVariant(T::*)() const >;
122 
123  PropertyMap(std::initializer_list<typename Map::value_type> init)
124  : m_map(init) {}
125 
126  TemplateVariant get(const T *obj,const QCString &n) const
127  {
128  auto it = m_map.find(n.str());
129  return it!=m_map.end() ? (obj->*(it->second))() : TemplateVariant();
130  }
132  {
133  StringVector result;
134  result.reserve(m_map.size());
135  for (const auto &imap : m_map) result.push_back(imap.first);
136  return result;
137  }
138 
139  Map &map() { return m_map; }
140 
141  private:
142  const Map m_map;
143 };
144 
145 //------------------------------------------------------------------------
146 
147 /** @brief Template List iterator support */
149 {
150  public:
153  void toFirst()
154  {
155  m_index=0;
156  }
157  void toLast()
158  {
159  m_index=static_cast<int>(m_list.size())-1;
160  }
161  void toNext()
162  {
163  if (m_index < static_cast<int>(m_list.size())) ++m_index;
164  }
165  void toPrev()
166  {
167  if (m_index>=0) --m_index;
168  }
169  bool current(TemplateVariant &v) const
170  {
171  if (m_index>=0 && m_index < static_cast<int>(m_list.size()))
172  {
173  v = m_list[m_index];
174  return true;
175  }
176  else
177  {
178  v = TemplateVariant();
179  return false;
180  }
181  }
182  private:
184  int m_index=0;
185 };
186 
187 //------------------------------------------------------------------------
188 
189 /** @brief standard template list implementation */
191 {
192  public:
194  {
195  }
197  {
198  return std::static_pointer_cast<TemplateListIntf>(std::make_shared<GenericNodeListContext>());
199  }
200 
201  // TemplateListIntf methods
202  uint count() const
203  {
204  return static_cast<uint>(m_children.size());
205  }
206  TemplateVariant at(uint index) const
207  {
208  TemplateVariant result;
209  if (index<count())
210  {
211  result = m_children[index];
212  }
213  return result;
214  }
216  {
217  return std::make_unique<GenericConstIterator>(m_children);
218  }
219 
220  void append(const TemplateVariant &ctn)
221  {
222  m_children.emplace_back(ctn);
223  }
224  bool isEmpty() const
225  {
226  return m_children.empty();
227  }
228  private:
229  std::vector< TemplateVariant > m_children;
230 };
231 
232 //------------------------------------------------------------------------
233 
234 //%% struct Config : configuration options
235 //%% {
237 {
238  public:
239  // TemplateStructIntf methods
241  {
242  return m_fields.get(this);
243  }
244  TemplateVariant get(const QCString &name) const
245  {
246  auto &data = m_configData.get(this);
247  auto it = data.find(name.str());
248  return (it!=data.end()) ? it->second : TemplateVariant();
249  }
250  private:
251  using ConfigData = std::map<std::string,TemplateVariant>;
252 
254  {
255  std::map<std::string,TemplateVariant> map;
256  for (auto name : ConfigValues::instance().fields())
257  {
258  const ConfigValues::Info *option = ConfigValues::instance().get(QCString(name));
259  if (option)
260  {
261  switch (option->type)
262  {
263  case ConfigValues::Info::Bool:
264  {
265  bool b = ConfigValues::instance().*(option->value.b);
266  map.insert(std::make_pair(name,TemplateVariant(b)));
267  }
268  break;
269  case ConfigValues::Info::Int:
270  {
271  int i = ConfigValues::instance().*(option->value.i);
272  map.insert(std::make_pair(name,TemplateVariant(i)));
273  }
274  break;
275  case ConfigValues::Info::String:
276  {
277  QCString s = ConfigValues::instance().*(option->value.s);
278  map.insert(std::make_pair(name,TemplateVariant(s)));
279  }
280  break;
281  case ConfigValues::Info::List:
282  {
283  auto fetchList = [](const StringVector &list) -> TemplateVariant
284  {
285  TemplateVariantList elements;
286  elements.reserve(list.size());
287  for (const auto &s : list)
288  {
289  elements.push_back(TemplateVariant(s));
290  }
291  return TemplateImmutableList::alloc(elements);
292  };
293  const StringVector &l = ConfigValues::instance().*(option->value.l);
294  map.insert(std::make_pair(name,fetchList(l)));
295  }
296  break;
297  default:
298  break;
299  }
300  }
301  }
302  return map;
303  }
304 
306  {
307  return ConfigValues::instance().fields();
308  }
309 
312 };
313 //%% }
314 
315 ConfigContext::ConfigContext() : p(std::make_unique<Private>())
316 {
317 }
318 
320 {
321 }
322 
324 {
325  return p->get(name);
326 }
327 
329 {
330  return p->fields();
331 }
332 
333 //------------------------------------------------------------------------
334 
336 {
337  public:
338  // TemplateStructIntf methods
339  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
340  StringVector fields() const { return s_inst.fields(); }
341 
342  private:
343  // Property getters
344  TemplateVariant version() const { return getDoxygenVersion(); }
345  TemplateVariant date() const { return dateToString(TRUE); }
346  TemplateVariant mathJaxCodeFile() const { return m_mathJaxCodeFile.get(this); }
347  TemplateVariant mathJaxMacros() const { return m_mathJaxMacros.get(this); }
348 
349  private:
350  QCString createMathJaxCodeFile() const { return fileToString(Config_getString(MATHJAX_CODEFILE)); }
355 };
356 
357 //%% struct Doxygen: global information
358 //%% {
360 {
361  //%% string version
362  { "version", &Private::version },
363  //%% string date
364  { "date", &Private::date },
365  //%% string maxJaxCodeFile
366  { "mathJaxCodeFile", &Private::mathJaxCodeFile },
367  //%% string maxJaxMacros
368  { "mathJaxMacros", &Private::mathJaxMacros }
369 } };
370 //%% }
371 
372 DoxygenContext::DoxygenContext() : p(std::make_unique<Private>())
373 {
374 }
375 
377 {
378 }
379 
381 {
382  return p->get(n);
383 }
384 
386 {
387  return p->fields();
388 }
389 
390 //------------------------------------------------------------------------
391 
393 {
394  public:
395 
397  {
398  m_javaOpt = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
399  m_fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
400  m_vhdlOpt = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
401  m_sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
402  }
403 
404  // TemplateStructIntf methods
405  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
406  StringVector fields() const { return s_inst.fields(); }
407  private:
408 
409  // Handlers for properties with parameters
411  {
412  if (args.size()==2)
413  {
414  return theTranslator->trGeneratedAt(args[0].toString(),args[1].toString());
415  }
416  else
417  {
418  err("tr.generateAt should take two arguments, got %zu!\n",args.size());
419  }
420  return TemplateVariant();
421  }
423  {
424  if (args.size()==1)
425  {
426  return theTranslator->trClassDiagram(args[0].toString());
427  }
428  else
429  {
430  err("tr.inheritanceDiagramFor should take one argument, got %zu!\n",args.size());
431  }
432  return TemplateVariant();
433  }
435  {
436  if (args.size()==1)
437  {
438  return theTranslator->trCollaborationDiagram(args[0].toString());
439  }
440  else
441  {
442  err("tr.collaborationDiagramFor should take one argument, got %zu!\n",args.size());
443  }
444  return TemplateVariant();
445  }
447  {
448  if (args.size()==1)
449  {
450  return theTranslator->trDirDepGraph(args[0].toString());
451  }
452  else
453  {
454  err("tr.dirDependencyGraphFor should take one argument, got %zu!\n",args.size());
455  }
456  return TemplateVariant();
457  }
459  {
460  if (args.size()==1)
461  {
462  return theTranslator->trInheritsList(args[0].toInt());
463  }
464  else
465  {
466  err("tr.inheritsList should take one integer argument, got %zu!\n",args.size());
467  }
468  return TemplateVariant();
469  }
471  {
472  if (args.size()==1)
473  {
474  return theTranslator->trInheritedByList(args[0].toInt());
475  }
476  else
477  {
478  err("tr.inheritedByList should take one integer argument, got %zu!\n",args.size());
479  }
480  return TemplateVariant();
481  }
483  {
484  if (args.size()==1)
485  {
486  return theTranslator->trWriteList(args[0].toInt());
487  }
488  else
489  {
490  err("tr.*List should take one integer argument, got %zu!\n",args.size());
491  }
492  return TemplateVariant();
493  }
495  {
496  if (args.size()==1)
497  {
498  return theTranslator->trImplementedInList(args[0].toInt());
499  }
500  else
501  {
502  err("tr.implementedBy should take one integer argument, got %zu!\n",args.size());
503  }
504  return TemplateVariant();
505  }
507  {
508  if (args.size()==1)
509  {
510  return theTranslator->trReimplementedInList(args[0].toInt());
511  }
512  else
513  {
514  err("tr.reimplementedBy should take one integer argument, got %zu!\n",args.size());
515  }
516  return TemplateVariant();
517  }
519  {
520  if (args.size()==1)
521  {
522  return theTranslator->trReferences()+" "+theTranslator->trWriteList(args[0].toInt())+".";
523  }
524  else
525  {
526  err("tr.sourceRefs should take one integer argument, got %zu\n",args.size());
527  }
528  return TemplateVariant();
529  }
531  {
532  if (args.size()==1)
533  {
534  return theTranslator->trReferencedBy()+" "+theTranslator->trWriteList(args[0].toInt())+".";
535  }
536  else
537  {
538  err("tr.sourceRefBys should take one integer argument, got %zu\n",args.size());
539  }
540  return TemplateVariant();
541  }
543  {
544  if (args.size()==1)
545  {
546  return theTranslator->trInclDepGraph(args[0].toString());
547  }
548  else
549  {
550  err("tr.includeDependencyGraph should take one string argument, got %zu\n",args.size());
551  }
552  return TemplateVariant();
553  }
554 
555  // Property getters
557  {
558  return theTranslator->trGeneratedBy();
559  }
561  {
562  return TemplateVariant(std::bind(&Private::handleGeneratedAt,this,std::placeholders::_1));
563  }
565  {
566  return TemplateVariant(std::bind(&Private::handleInheritanceDiagramFor,this,std::placeholders::_1));
567  }
569  {
570  return TemplateVariant(std::bind(&Private::handleCollaborationDiagramFor,this,std::placeholders::_1));
571  }
573  {
574  return TemplateVariant(std::bind(&Private::handleDirDependencyGraphFor,this,std::placeholders::_1));
575  }
577  {
578  return theTranslator->trSearch();
579  }
581  {
582  return theTranslator->trMainPage();
583  }
585  {
586  return theTranslator->trClasses();
587  // TODO: VHDL: theTranslator->trVhdlType(VhdlDocGen::ENTITY,FALSE)
588  // TODO: Fortran: trDataTypes()
589  }
591  {
592  return theTranslator->trConcept(true,false);
593  }
595  {
597  }
599  {
600  return theTranslator->trCompoundList();
601  }
603  {
605  }
607  {
608  return theTranslator->trCompoundIndex();
609  }
611  {
613  }
615  {
617  }
619  {
621  }
623  {
624  return theTranslator->trModules();
625  }
627  {
628  return theTranslator->trModuleIndex();
629  }
631  {
632  if (m_javaOpt || m_vhdlOpt)
633  {
634  return theTranslator->trPackages();
635  }
636  else if (m_fortranOpt || m_sliceOpt)
637  {
638  return theTranslator->trModules();
639  }
640  else
641  {
642  return theTranslator->trNamespaces();
643  }
644  }
646  {
647  return theTranslator->trFile(TRUE,FALSE);
648  }
650  {
651  return theTranslator->trFileIndex();
652  }
654  {
655  return theTranslator->trRelatedPages();
656  }
658  {
659  return theTranslator->trExamples();
660  }
662  {
663  if (m_javaOpt || m_vhdlOpt)
664  {
665  return theTranslator->trPackages();
666  }
667  else if (m_fortranOpt || m_sliceOpt)
668  {
669  return theTranslator->trModulesList();
670  }
671  else
672  {
673  return theTranslator->trNamespaceList();
674  }
675  }
677  {
678  if (m_javaOpt || m_vhdlOpt)
679  {
681  }
682  else if (m_fortranOpt || m_sliceOpt)
683  {
685  }
686  else
687  {
689  }
690  }
692  {
694  }
696  {
698  }
700  {
701  return theTranslator->trFileList();
702  }
704  {
705  return theTranslator->trFileMembers();
706  }
708  {
709  static bool extractAll = Config_getBool(EXTRACT_ALL);
710  return theTranslator->trFileMembersDescription(extractAll);
711  }
713  {
714  static bool extractAll = Config_getBool(EXTRACT_ALL);
715  return theTranslator->trNamespaceMemberDescription(extractAll);
716  }
718  {
720  }
722  {
724  }
726  {
728  }
730  {
731  static bool extractAll = Config_getBool(EXTRACT_ALL);
732  static bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
733  if (fortranOpt)
734  {
736  }
737  else
738  {
739  return theTranslator->trCompoundMembersDescription(extractAll);
740  }
741  }
743  {
745  }
747  {
748  return theTranslator->trMore();
749  }
751  {
753  }
755  {
756  return TemplateVariant(std::bind(&Private::handleInheritsList,this,std::placeholders::_1));
757  }
759  {
760  return TemplateVariant(std::bind(&Private::handleInheritedByList,this,std::placeholders::_1));
761  }
763  {
765  }
767  {
769  }
771  {
772  return TemplateVariant(std::bind(&Private::handleWriteList,this,std::placeholders::_1));
773  }
775  {
777  }
779  {
780  return theTranslator->trMemberList();
781  }
783  {
785  }
787  {
789  }
791  {
792  return theTranslator->trDefineValue();
793  }
795  {
796  return theTranslator->trInitialValue();
797  }
799  {
801  }
803  {
805  }
807  {
809  }
811  {
812  return TemplateVariant(std::bind(&Private::handleImplementedBy,this,std::placeholders::_1));
813  }
815  {
816  return TemplateVariant(std::bind(&Private::handleReimplementedBy,this,std::placeholders::_1));
817  }
819  {
820  return TemplateVariant(std::bind(&Private::handleSourceRefs,this,std::placeholders::_1));
821  }
823  {
824  return TemplateVariant(std::bind(&Private::handleSourceRefBys,this,std::placeholders::_1));
825  }
827  {
828  return theTranslator->trCallGraph();
829  }
831  {
832  return theTranslator->trCallerGraph();
833  }
835  {
836  return theTranslator->trReferencedBy();
837  }
839  {
840  return theTranslator->trReferences();
841  }
843  {
844  return theTranslator->trInheritedFrom("@0","@1");
845  }
847  {
849  }
851  {
852  return TemplateVariant(std::bind(&Private::handleIncludeDependencyGraph,this,std::placeholders::_1));
853  }
855  {
857  }
859  {
861  }
863  {
865  }
867  {
869  }
871  {
873  }
875  {
877  }
879  {
881  }
883  {
884  return theTranslator->trDetailLevel();
885  }
887  {
888  bool extractAll = Config_getBool(EXTRACT_ALL);
889  return theTranslator->trFileListDescription(extractAll);
890  }
892  {
893  bool extractAll = Config_getBool(EXTRACT_ALL);
894  return theTranslator->trModulesListDescription(extractAll);
895  }
897  {
898  bool extractAll = Config_getBool(EXTRACT_ALL);
899  return theTranslator->trNamespaceListDescription(extractAll);
900  }
902  {
903  bool extractAll = Config_getBool(EXTRACT_ALL);
904  return theTranslator->trConceptListDescription(extractAll);
905  }
907  {
908  return theTranslator->trDirectories();
909  }
911  {
912  return theTranslator->trAll();
913  }
915  {
916  static bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
917  static bool vhdlOpt = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
918  return fortranOpt ? theTranslator->trSubprograms() :
919  vhdlOpt ? theTranslator->trFunctionAndProc() :
921  }
923  {
924  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
925  return sliceOpt ? theTranslator->trConstants() : theTranslator->trVariables();
926  }
928  {
929  return theTranslator->trTypedefs();
930  }
932  {
933  return theTranslator->trEnumerations();
934  }
936  {
937  return theTranslator->trProperties();
938  }
940  {
941  return theTranslator->trEvents();
942  }
944  {
946  }
948  {
949  return theTranslator->trDefines();
950  }
952  {
953  return theTranslator->trLoading();
954  }
956  {
957  return theTranslator->trSearching();
958  }
960  {
961  return theTranslator->trNoMatches();
962  }
964  {
965  return theTranslator->trEnumName();
966  }
968  {
969  return theTranslator->trEnumValue();
970  }
972  {
974  }
976  {
978  }
980  {
982  }
984  {
986  }
988  {
990  }
992  {
993  return theTranslator->trExtendsClass();
994  }
996  {
998  }
1000  {
1001  return HtmlHelp::getLanguageString();
1002  }
1004  {
1005  return theTranslator->trCode();
1006  }
1007 
1008  private:
1014 };
1015 
1016 //%% struct Translator: translation methods
1017 //%% {
1019 {
1020  //%% string generatedBy
1021  { "generatedBy", &Private::generatedBy },
1022  //%% string generatedAt
1023  { "generatedAt", &Private::generatedAt },
1024  //%% string search
1025  { "search", &Private::search },
1026  //%% string mainPage
1027  { "mainPage", &Private::mainPage },
1028  //%% string classes
1029  { "classes", &Private::classes },
1030  //%% string classList
1031  { "classList", &Private::classList },
1032  //%% string classListDescription
1033  { "classListDescription", &Private::classListDescription },
1034  //%% string classIndex
1035  { "classIndex", &Private::classIndex },
1036  //%% string concepts
1037  { "concepts", &Private::concepts },
1038  //%% string conceptDefintion
1039  { "conceptDefinition", &Private::conceptDefinition },
1040  //%% string namespaceIndex
1041  { "namespaceIndex", &Private::namespaceIndex },
1042  //%% string classHierarchy
1043  { "classHierarchy", &Private::classHierarchy },
1044  //%% string classMembers
1045  { "classMembers", &Private::classMembers },
1046  //%% string classMembersDescription
1047  { "classMembersDescription",&Private::classMembersDescription },
1048  //%% string modules
1049  { "modules", &Private::modules },
1050  //%% string moduleIndex
1051  { "moduleIndex", &Private::moduleIndex },
1052  //%% string namespaces
1053  { "namespaces", &Private::namespaces },
1054  //%% string fileIndex
1055  { "fileIndex", &Private::fileIndex },
1056  //%% string files
1057  { "files", &Private::files },
1058  //%% string pages
1059  { "pages", &Private::pages },
1060  //%% string examples
1061  { "examples", &Private::examples },
1062  //%% string namespaceList
1063  { "namespaceList", &Private::namespaceList },
1064  //%% string namespaceMembers
1065  { "namespaceMembers", &Private::namespaceMembers },
1066  //%% string fileList
1067  { "fileList", &Private::fileList },
1068  //%% string fileMembers
1069  { "fileMembers", &Private::fileMembers },
1070  //%% string fileMembersDescription
1071  { "fileMembersDescription", &Private::fileMembersDescription },
1072  //%% string relatedPagesDescription
1073  { "relatedPagesDesc", &Private::relatedPagesDesc },
1074  //%% string more
1075  { "more", &Private::more },
1076  //%% string detailedDescription
1077  { "detailedDesc", &Private::detailedDesc },
1078  //%% string inheritanceDiagramFor
1079  { "inheritanceDiagramFor", &Private::inheritanceDiagramFor },
1080  //%% string collaborationDiagramFor
1081  { "collaborationDiagramFor", &Private::collaborationDiagramFor },
1082  //%% markerstring inheritsList
1083  { "inheritsList", &Private::inheritsList },
1084  //%% markerstring inheritedByList
1085  { "inheritedByList", &Private::inheritedByList },
1086  //%% markerstring definedAtLineInSourceFile
1087  { "definedAtLineInSourceFile", &Private::definedAtLineInSourceFile },
1088  //%% string typeConstraints
1089  { "typeConstraints", &Private::typeConstraints },
1090  //%% string exampleList
1091  { "exampleList", &Private::exampleList },
1092  //%% string listOfAllMembers
1093  { "listOfAllMembers", &Private::listOfAllMembers },
1094  //%% string memberList
1095  { "memberList", &Private::memberList },
1096  //%% string theListOfAllMembers
1097  { "theListOfAllMembers",&Private::theListOfAllMembers },
1098  //%% string incInheritedMembers
1099  { "incInheritedMembers",&Private::incInheritedMembers },
1100  //%% string defineValue
1101  { "defineValue", &Private::defineValue },
1102  //%% string initialValue
1103  { "initialValue", &Private::initialValue },
1104  //%% markerstring implements
1105  { "implements", &Private::implements },
1106  //%% markerstring reimplements
1107  { "reimplements", &Private::reimplements },
1108  //%% markerstring implementedBy
1109  { "implementedBy", &Private::implementedBy },
1110  //%% markerstring reimplementedBy
1111  { "reimplementedBy", &Private::reimplementedBy },
1112  //%% markerstring sourceRefs
1113  { "sourceRefs", &Private::sourceRefs },
1114  //%% markerstring sourceRefBys
1115  { "sourceRefBys", &Private::sourceRefBys },
1116  //%% string callGraph
1117  { "callGraph", &Private::callGraph },
1118  //%% string callerGraph
1119  { "callerGraph", &Private::callerGraph },
1120  //%% string referencedByRelation
1121  { "referencedByRelation", &Private::referencedByRelation },
1122  //%% string referencesRelation
1123  { "referencesRelation", &Private::referencesRelation },
1124  //%% markerstring inheritedFrom
1125  { "inheritedFrom", &Private::inheritedFrom },
1126  //%% string additionalInheritedMembers
1127  { "additionalInheritedMembers",&Private::additionalInheritedMembers },
1128  //%% string includeDependencyGraph:container_name
1129  { "includeDependencyGraph",&Private::includeDependencyGraph },
1130  //%% string includedByDependencyGraph
1131  { "includedByDependencyGraph",&Private::includedByDependencyGraph },
1132  //%% string gotoSourceCode
1133  { "gotoSourceCode", &Private::gotoSourceCode },
1134  //%% string gotoDocumentation
1135  { "gotoDocumentation", &Private::gotoDocumentation },
1136  //%% string constantgroups
1137  { "constantgroups", &Private::constantgroups },
1138  //%% string classDocumentation
1139  { "classDocumentation", &Private::classDocumentation },
1140  //%% string namespaceDocumentation
1141  { "namespaceDocumentation", &Private::namespaceDocumentation },
1142  //%% string moduleDocumentation
1143  { "moduleDocumentation",&Private::moduleDocumentation },
1144  //%% string fileDocumentation
1145  { "fileDocumentation", &Private::fileDocumentation },
1146  //%% string compoundMembers
1147  { "compoundMembers", &Private::compoundMembers },
1148  //%% string detailLevel
1149  { "detailLevel", &Private::detailLevel },
1150  //%% string fileListDescription
1151  { "fileListDescription",&Private::fileListDescription },
1152  //%% string namespaceListDescription
1153  { "namespaceListDescription",&Private::namespaceListDescription },
1154  //%% string conceptListDescription
1155  { "conceptListDescription",&Private::conceptListDescription },
1156  //%% string directories
1157  { "directories", &Private::directories },
1158  //%% string moduleDescription
1159  { "modulesDescription", &Private::modulesDescription },
1160  //%% string all
1161  { "all", &Private::all },
1162  //%% string functions
1163  { "functions", &Private::functions },
1164  //%% string variables
1165  { "variables", &Private::variables },
1166  //%% string typedefs
1167  { "typedefs", &Private::typedefs },
1168  //%% string enums
1169  { "enums", &Private::enums },
1170  //%% string enumValues
1171  { "enumValues", &Private::enumerationValues },
1172  //%% string properties
1173  { "properties", &Private::properties },
1174  //%% string events
1175  { "events", &Private::events },
1176  //%% string related
1177  { "related", &Private::related },
1178  //%% string macros
1179  { "macros", &Private::macros },
1180  //%% string namespaceMembersDescription
1181  { "namespaceMembersDescription",&Private::namespaceMembersDescription },
1182  //%% string classHierarchyDescription
1183  { "classHierarchyDescription",&Private::classHierarchyDescription },
1184  //%% string gotoGraphicalHierarchy
1185  { "gotoGraphicalHierarchy",&Private::gotoGraphicalHierarchy },
1186  //%% string gotoTextualHierarchy
1187  { "gotoTextualHierarchy",&Private::gotoTextualHierarchy },
1188  //%% string loading
1189  { "loading", &Private::loading },
1190  //%% string searching
1191  { "searching", &Private::searching },
1192  //%% string noMatches
1193  { "noMatches", &Private::noMatches },
1194  //%% string enumValue
1195  { "enumValue", &Private::enumValue },
1196  //%% string enumName
1197  { "enumName", &Private::enumName },
1198  //%% string referenceManual
1199  { "referenceManual", &Private::referenceManual },
1200  //%% string index
1201  { "index", &Private::index },
1202  //%% string panelSyncOn
1203  { "panelSyncOn", &Private::panelSyncOn },
1204  //%% string panelSyncOff
1205  { "panelSyncOff", &Private::panelSyncOff },
1206  //%% string dirDependencyGraph
1207  { "dirDependencyGraphFor", &Private::dirDependencyGraphFor },
1208  //%% string providedByCategory
1209  { "providedByCategory", &Private::providedByCategory },
1210  //%% string extendsClass
1211  { "extendsClass", &Private::extendsClass },
1212  //%% string examplesDescription
1213  { "examplesDescription",&Private::examplesDescription },
1214  //%% string langstring
1215  { "langString", &Private::langString },
1216  //%% string code
1217  { "code", &Private::code }
1218 } };
1219 //%% }
1220 
1222 {
1223 }
1224 
1226 {
1227 }
1228 
1230 {
1231  return p->get(n);
1232 }
1233 
1235 {
1236  return p->fields();
1237 }
1238 
1239 //------------------------------------------------------------------------------------------
1240 
1241 static TemplateVariant parseDoc(const Definition *def,const QCString &file,int line,
1242  const QCString &relPath,const QCString &docStr,bool isBrief)
1243 {
1244  TemplateVariant result;
1245  std::unique_ptr<IDocParser> parser { createDocParser() };
1246  std::unique_ptr<DocRoot> root { validatingParseDoc(
1247  *parser.get(),file,line,def,0,docStr,TRUE,FALSE,
1248  QCString(),isBrief,FALSE,Config_getBool(MARKDOWN_SUPPORT))
1249  };
1250  TextStream ts;
1251  switch (g_globals.outputFormat)
1252  {
1254  {
1255  HtmlCodeGenerator codeGen(ts,relPath);
1256  HtmlDocVisitor visitor(ts,codeGen,def);
1257  root->accept(&visitor);
1258  }
1259  break;
1261  {
1262  LatexCodeGenerator codeGen(ts,relPath,file);
1263  LatexDocVisitor visitor(ts,codeGen,def->getDefFileExtension(),FALSE);
1264  root->accept(&visitor);
1265  }
1266  break;
1267  // TODO: support other generators
1268  default:
1269  err("context.cpp: output format not yet supported\n");
1270  break;
1271  }
1272  bool isEmpty = root->isEmpty();
1273  if (isEmpty)
1274  result = "";
1275  else
1276  result = TemplateVariant(ts.str().c_str(),TRUE);
1277  return result;
1278 }
1279 
1280 static TemplateVariant parseCode(const Definition *d,const QCString &scopeName,const QCString &relPath,
1281  const QCString &code,int startLine=-1,int endLine=-1,bool showLineNumbers=FALSE)
1282 {
1284  intf->resetCodeParserState();
1285  TextStream t;
1286  switch (g_globals.outputFormat)
1287  {
1289  {
1290  HtmlCodeGenerator codeGen(t,relPath);
1291  intf->parseCode(codeGen,scopeName,code,d->getLanguage(),FALSE,QCString(),d->getBodyDef(),
1292  startLine,endLine,TRUE,toMemberDef(d),showLineNumbers,d);
1293  }
1294  break;
1296  {
1297  LatexCodeGenerator codeGen(t,relPath,d->docFile());
1298  intf->parseCode(codeGen,scopeName,code,d->getLanguage(),FALSE,QCString(),d->getBodyDef(),
1299  startLine,endLine,TRUE,toMemberDef(d),showLineNumbers,d);
1300  }
1301  break;
1302  // TODO: support other generators
1303  default:
1304  err("context.cpp: output format not yet supported\n");
1305  break;
1306  }
1307  return TemplateVariant(t.str(),TRUE);
1308 }
1309 
1310 static TemplateVariant parseCode(const FileDef *fd,const QCString &relPath)
1311 {
1312  static bool filterSourceFiles = Config_getBool(FILTER_SOURCE_FILES);
1314  intf->resetCodeParserState();
1315  TextStream t;
1316  switch (g_globals.outputFormat)
1317  {
1319  {
1320  HtmlCodeGenerator codeGen(t,relPath);
1321  intf->parseCode(codeGen,QCString(),
1322  fileToString(fd->absFilePath(),filterSourceFiles,TRUE), // the sources
1323  fd->getLanguage(), // lang
1324  FALSE, // isExampleBlock
1325  QCString(), // exampleName
1326  const_cast<FileDef*>(fd), // fileDef, TODO: should be const
1327  -1, // startLine
1328  -1, // endLine
1329  FALSE, // inlineFragment
1330  0, // memberDef
1331  TRUE, // showLineNumbers
1332  0, // searchCtx
1333  TRUE // collectXRefs, TODO: should become FALSE
1334  );
1335  }
1336  break;
1338  {
1339  LatexCodeGenerator codeGen(t,relPath,fd->docFile());
1340  intf->parseCode(codeGen,QCString(),
1341  fileToString(fd->absFilePath(),filterSourceFiles,TRUE), // the sources
1342  fd->getLanguage(), // lang
1343  FALSE, // isExampleBlock
1344  QCString(), // exampleName
1345  const_cast<FileDef*>(fd), // fileDef, TODO: should be const
1346  -1, // startLine
1347  -1, // endLine
1348  FALSE, // inlineFragment
1349  0, // memberDef
1350  TRUE, // showLineNumbers
1351  0, // searchCtx
1352  TRUE // collectXRefs, TODO: should become FALSE
1353  );
1354  }
1355  break;
1356  // TODO: support other generators
1357  default:
1358  err("context.cpp: output format not yet supported\n");
1359  break;
1360  }
1361  return TemplateVariant(t.str().c_str(),TRUE);
1362 }
1363 
1364 //------------------------------------------------------------------------
1365 
1366 template<typename T>
1368 {
1369  public:
1371  {
1372  assert(d!=0);
1373 
1374  if (m_def && !m_def->getSourceFileBase().isEmpty())
1375  {
1377  {
1378  { "text", TemplateVariant(m_def->getStartBodyLine()) },
1379  { "isLinkable", TemplateVariant(TRUE) },
1380  { "fileName", TemplateVariant(m_def->getSourceFileBase()) },
1381  { "anchor", TemplateVariant(m_def->getSourceAnchor()) },
1382  { "isReference", TemplateVariant(FALSE) },
1383  { "externalReference", TemplateVariant("") }
1384  });
1385 
1387  m_def->getBodyDef() ? m_def->getBodyDef()->name() :
1389 
1391  {
1392  { "text", TemplateVariant(text) },
1393  { "isLinkable", TemplateVariant(TRUE) },
1394  { "fileName", TemplateVariant(m_def->getSourceFileBase()) },
1395  { "anchor", TemplateVariant("") },
1396  { "isReference", TemplateVariant(FALSE) },
1397  { "externalReference", TemplateVariant("") }
1398  });
1399 
1400  m_sourceDef = TemplateImmutableList::alloc( { lineLink, fileLink });
1401  }
1402  else
1403  {
1405  }
1406  }
1407  virtual ~DefinitionContext() {}
1408 
1409  protected:
1410  // Property getters
1412  TemplateVariant anchor() const { return m_def->anchor(); }
1418  TemplateVariant details() const { return m_cachable.details.get(this); }
1419  TemplateVariant brief() const { return m_cachable.brief.get(this); }
1420  TemplateVariant inbodyDocs() const { return m_cachable.inbodyDocs.get(this); }
1422  TemplateVariant sourceDef() const { return std::static_pointer_cast<TemplateListIntf>(m_sourceDef); }
1423  TemplateVariant navigationPath() const { return m_cachable.navPath.get(this); }
1424  TemplateVariant partOfGroups() const { return m_cachable.partOfGroups.get(this); }
1428  {
1429  SrcLangExt lang = m_def->getLanguage();
1430  QCString result = "unknown";
1431  switch (lang)
1432  {
1433  case SrcLangExt_Unknown: break;
1434  case SrcLangExt_IDL: result="idl"; break;
1435  case SrcLangExt_Java: result="java"; break;
1436  case SrcLangExt_CSharp: result="csharp"; break;
1437  case SrcLangExt_D: result="d"; break;
1438  case SrcLangExt_PHP: result="php"; break;
1439  case SrcLangExt_ObjC: result="objc"; break;
1440  case SrcLangExt_Cpp: result="cpp"; break;
1441  case SrcLangExt_JS: result="js"; break;
1442  case SrcLangExt_Python: result="python"; break;
1443  case SrcLangExt_Fortran: result="fortran"; break;
1444  case SrcLangExt_VHDL: result="vhdl"; break;
1445  case SrcLangExt_XML: result="xml"; break;
1446  case SrcLangExt_SQL: result="sql"; break;
1447  case SrcLangExt_Markdown: result="markdown"; break;
1448  case SrcLangExt_Slice: result="slice"; break;
1449  case SrcLangExt_Lex: result="lex"; break;
1450  }
1451  return result;
1452  }
1454  {
1455  QCString result = "unspecified";
1456  switch (m_def->definitionType())
1457  {
1458  case Definition::TypeClass: result="class"; break;
1459  case Definition::TypeFile: result="file"; break;
1460  case Definition::TypeNamespace: result="namespace"; break;
1461  case Definition::TypeGroup: result="module"; break;
1462  case Definition::TypePackage: result="package"; break;
1463  case Definition::TypePage: result="page"; break;
1464  case Definition::TypeDir: result="dir"; break;
1465  case Definition::TypeConcept: result="concept"; break;
1466  case Definition::TypeMember: break;
1467  }
1468  return result;
1469  }
1470 
1471  protected:
1472 
1474  {
1475  static bool createSubdirs = Config_getBool(CREATE_SUBDIRS);
1476  return createSubdirs ? QCString("../../") : QCString("");
1477  }
1478  virtual TemplateVariant relPath() const { return relPathAsString(); }
1479 
1480 
1481  private:
1482 
1484  {
1487  }
1489  {
1490  if (m_def->hasBriefDescription())
1491  {
1494  }
1495  else
1496  {
1497  return TemplateVariant("");
1498  }
1499  }
1501  {
1502  if (!m_def->inbodyDocumentation().isEmpty())
1503  {
1506  }
1507  else
1508  {
1509  return TemplateVariant("");
1510  }
1511  }
1512  void fillPath(const Definition *def,TemplateVariantList &list) const
1513  {
1514  const Definition *outerScope = def->getOuterScope();
1515  Definition::DefType type = def->definitionType();
1516  if (outerScope && outerScope!=Doxygen::globalScope)
1517  {
1518  fillPath(outerScope,list);
1519  }
1520  else if (type==Definition::TypeFile && (toFileDef(def))->getDirDef())
1521  {
1522  fillPath((toFileDef(def))->getDirDef(),list);
1523  }
1524  list.push_back(NavPathElemContext::alloc(def));
1525  }
1527  {
1528  TemplateVariantList list;
1530  {
1531  fillPath(m_def,list);
1532  }
1533  else if (m_def->definitionType()==Definition::TypeFile && (toFileDef(m_def))->getDirDef())
1534  {
1535  fillPath((toFileDef(m_def))->getDirDef(),list);
1536  }
1537  return TemplateImmutableList::alloc(list);
1538  }
1540  {
1541  TemplateVariantList list;
1542  list.reserve(m_def->partOfGroups().size());
1543  for (const auto &gd : m_def->partOfGroups())
1544  {
1545  list.push_back(ModuleContext::alloc(gd));
1546  }
1547  return TemplateImmutableList::alloc(list);
1548  }
1549 
1550  protected:
1552  {
1559  };
1560 
1561  private:
1562  Cachable m_cachable;
1566 };
1567 
1568 //%% struct Definition: shared info for all symbols
1569 //%% {
1570 #define BASE_PROPERTIES \
1571  { "name", &Private::name }, \
1572  { "bareName", &Private::bareName }, \
1573  { "relPath", &Private::relPath }, \
1574  { "fileName", &Private::fileName }, \
1575  { "anchor", &Private::anchor }, \
1576  { "details", &Private::details }, \
1577  { "brief", &Private::brief }, \
1578  { "inbodyDocs", &Private::inbodyDocs }, \
1579  { "sourceFileName", &Private::sourceFileName }, \
1580  { "isLinkable", &Private::isLinkable }, \
1581  { "isLinkableInProject",&Private::isLinkableInProject }, \
1582  { "dynSectionId", &Private::dynSectionId }, \
1583  { "language", &Private::language }, \
1584  { "sourceDef", &Private::sourceDef }, \
1585  { "navigationPath", &Private::navigationPath }, \
1586  { "partOfGroups", &Private::partOfGroups }, \
1587  { "compoundKind", &Private::compoundKind }, \
1588  { "isReference", &Private::isReference }, \
1589  { "externalReference", &Private::externalReference }
1590 //%% }
1591 
1592 
1593 //------------------------------------------------------------------------
1594 
1596 {
1597  public:
1598  Private(const IncludeInfo *info,SrcLangExt lang) :
1599  m_info(info),
1600  m_lang(lang)
1601  {
1602  }
1603  TemplateVariant get(const QCString &n) const
1604  {
1605  return s_inst.get(this,n);
1606  }
1608  {
1609  return s_inst.fields();
1610  }
1612  {
1613  bool isIDLorJava = m_lang==SrcLangExt_IDL || m_lang==SrcLangExt_Java;
1614  return m_info->local || isIDLorJava;
1615  }
1617  {
1618  return m_info->imported || m_lang==SrcLangExt_ObjC;
1619  }
1621  {
1622  return m_fileContext.get(this);
1623  }
1625  {
1626  return m_info->includeName;
1627  }
1628  private:
1631  {
1632  return m_info && m_info->fileDef ?
1634  TemplateVariant(false);
1635  }
1639 };
1640 
1641 //%% struct IncludeInfo: include file information
1642 //%% {
1644  { "file",&Private::file },
1645  { "name",&Private::name },
1646  { "isImport",&Private::isImport },
1647  { "isLocal",&Private::isLocal }
1648 };
1649 //%% }
1650 
1651 IncludeInfoContext::IncludeInfoContext(const IncludeInfo *info,SrcLangExt lang) : p(std::make_unique<Private>(info,lang))
1652 {
1653 }
1654 
1656 {
1657 }
1658 
1660 {
1661  return p->get(n);
1662 }
1663 
1665 {
1666  return p->fields();
1667 }
1668 
1669 //%% }
1670 
1671 //------------------------------------------------------------------------
1672 
1673 //%% list IncludeInfoList[Class] : list of nested classes
1675 {
1676  public:
1678  {
1679  for (const auto &ii : list)
1680  {
1681  append(IncludeInfoContext::alloc(&ii,lang));
1682  }
1683  }
1684 };
1685 
1686 IncludeInfoListContext::IncludeInfoListContext(const IncludeInfoList &list,SrcLangExt lang) : p(std::make_unique<Private>(list,lang))
1687 {
1688 }
1689 
1691 {
1692 }
1693 
1694 // TemplateListIntf
1696 {
1697  return p->count();
1698 }
1699 
1701 {
1702  return p->at(index);
1703 }
1704 
1706 {
1707  return p->createIterator();
1708 }
1709 
1710 //------------------------------------------------------------------------
1711 
1712 class ClassContext::Private : public DefinitionContext<ClassContext::Private>
1713 {
1714  public:
1716  m_classDef(cd)
1717  {
1718  }
1719  virtual ~Private() {}
1720 
1721  // TemplateStructIntf methods
1722  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
1723  StringVector fields() const { return s_inst.fields(); }
1724 
1725  private:
1726  // Property getters
1728  TemplateVariant highlight() const { return TemplateVariant("classes"); }
1732  TemplateVariant usedFiles() const { return m_cachable.usedFiles.get(this); }
1733  DotClassGraphPtr getClassGraph() const { return m_cachable.classGraph.get(this); }
1734  int numInheritanceNodes() const { return m_cachable.numInheritanceNodes.get(this); }
1735  TemplateVariant includeInfo() const { return m_cachable.includeInfo.get(this); }
1736  TemplateVariant inherits() const { return m_cachable.inheritsList.get(this); }
1740  TemplateVariant signals() const { return m_cachable.signals.get(this); }
1741  TemplateVariant publicTypes() const { return m_cachable.publicTypes.get(this); }
1746  TemplateVariant publicSlots() const { return m_cachable.publicSlots.get(this); }
1753  TemplateVariant privateTypes() const { return m_cachable.privateTypes.get(this); }
1754  TemplateVariant privateSlots() const { return m_cachable.privateSlots.get(this); }
1759  TemplateVariant packageTypes() const { return m_cachable.packageTypes.get(this); }
1764  TemplateVariant properties() const { return m_cachable.properties.get(this); }
1765  TemplateVariant events() const { return m_cachable.events.get(this); }
1766  TemplateVariant friends() const { return m_cachable.friends.get(this); }
1767  TemplateVariant related() const { return m_cachable.related.get(this); }
1778  TemplateVariant classes() const { return m_cachable.classes.get(this); }
1779  TemplateVariant innerClasses() const { return m_cachable.innerClasses.get(this); }
1783  TemplateVariant examples() const { return m_cachable.examples.get(this); }
1784  TemplateVariant members() const { return m_cachable.members.get(this); }
1787  TemplateVariant memberGroups() const { return m_cachable.memberGroups.get(this); }
1790  TemplateVariant categoryOf() const { return m_cachable.categoryOf.get(this); }
1791 
1793  {
1794  bool result=FALSE;
1795  static bool haveDot = Config_getBool(HAVE_DOT);
1796  static auto classGraph = Config_getEnum(CLASS_GRAPH);
1797  bool classGraphEnabled = classGraph==CLASS_GRAPH_t::YES || classGraph==CLASS_GRAPH_t::GRAPH;
1798 
1799  if (haveDot && classGraphEnabled)
1800  {
1802  result = !cg->isTrivial() && !cg->isTooBig();
1803  }
1804  else if (classGraphEnabled)
1805  {
1806  result = numInheritanceNodes()>0;
1807  }
1808  return result;
1809  }
1811  {
1812  TextStream t;
1813  static bool haveDot = Config_getBool(HAVE_DOT);
1814  static auto classGraph = Config_getEnum(CLASS_GRAPH);
1815  bool classGraphEnabled = classGraph==CLASS_GRAPH_t::YES || classGraph==CLASS_GRAPH_t::GRAPH;
1816 
1817  if (haveDot && classGraphEnabled)
1818  {
1820  switch (g_globals.outputFormat)
1821  {
1823  {
1824  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
1828  );
1829  }
1830  break;
1832  {
1833  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
1837  );
1838  }
1839  break;
1840  // TODO: support other generators
1841  default:
1842  err("context.cpp: output format not yet supported\n");
1843  break;
1844  }
1846  }
1847  else if (classGraphEnabled)
1848  {
1850  switch (g_globals.outputFormat)
1851  {
1853  {
1854  TextStream tt;
1855 
1858  relPathAsString(),
1860  if (!tt.empty())
1861  {
1862  t << "<div class=\"center\">\n";
1863  t << " <img src=\"";
1865  t << ".png\" usemap=\"#" << convertToId(name) << "_map\" alt=\"\"/>\n";
1866  t << " <map id=\"" << convertToId(name) << "_map\" name=\"" << convertToId(name) << "_map\">\n";
1867  t << tt.str();
1868  t << " </map>\n";
1869  t << "</div>";
1870  }
1871  else
1872  {
1873  t << "<div class=\"center\">\n";
1874  t << " <img src=\"";
1876  t << ".png\" alt=\"\"/>\n";
1877  t << "</div>";
1878  }
1879  }
1880  break;
1882  {
1884  }
1885  break;
1886  // TODO: support other generators
1887  default:
1888  err("context.cpp: output format not yet supported\n");
1889  break;
1890  }
1892  }
1893  return TemplateVariant(t.str().c_str(),TRUE);
1894  }
1896  {
1897  return m_cachable.collaborationGraph.get(this);
1898  }
1900  {
1901  static bool haveDot = Config_getBool(HAVE_DOT);
1902  return haveDot && !getCollaborationGraph()->isTrivial();
1903  }
1905  {
1906  static bool haveDot = Config_getBool(HAVE_DOT);
1907  TextStream t;
1908  if (haveDot)
1909  {
1911  switch (g_globals.outputFormat)
1912  {
1914  {
1915  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
1919  );
1920  }
1921  break;
1923  {
1924  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
1928  );
1929  }
1930  break;
1931  // TODO: support other generators
1932  default:
1933  err("context.cpp: output format not yet supported\n");
1934  break;
1935  }
1937  }
1938  return TemplateVariant(t.str().c_str(),TRUE);
1939  }
1940 
1941 
1942  private:
1943 
1945  {
1946  return m_classDef->includeInfo() ?
1948  TemplateVariant(false);
1949  }
1951  {
1953  }
1955  {
1957  }
1959  {
1960  return std::make_shared<DotClassGraph>(m_classDef,Inheritance);
1961  }
1963  {
1964  return std::make_shared<DotClassGraph>(m_classDef,Collaboration);
1965  }
1967  {
1968  TemplateVariantList classList;
1969  classList.reserve(m_classDef->getClasses().size());
1970  for (const auto &cd : m_classDef->getClasses())
1971  {
1972  if (cd->visibleInParentsDeclList())
1973  {
1974  classList.push_back(ClassContext::alloc(cd));
1975  }
1976  }
1977  return TemplateImmutableList::alloc(classList);
1978  }
1980  {
1981  TemplateVariantList classList;
1982  classList.reserve(m_classDef->getClasses().size());
1983  for (const auto &cd : m_classDef->getClasses())
1984  {
1985  if (!cd->isAnonymous() &&
1986  cd->isLinkableInProject() &&
1987  cd->isEmbeddedInOuterScope() &&
1988  cd->partOfGroups().empty()
1989  )
1990  {
1991  classList.push_back(ClassContext::alloc(cd));
1992  }
1993  }
1994  return TemplateImmutableList::alloc(classList);
1995  }
1997  {
1998  const MemberList *ml = m_classDef->getMemberList(type);
2000  : TemplateVariant(false);
2001  }
2003  {
2005  }
2007  {
2011  }
2013  {
2017  }
2019  {
2021  }
2023  {
2025  }
2027  {
2029  }
2031  {
2033  }
2035  {
2037  }
2039  {
2041  }
2043  {
2045  }
2047  {
2049  }
2051  {
2053  }
2055  {
2057  }
2059  {
2061  }
2063  {
2065  }
2067  {
2069  }
2071  {
2073  }
2075  {
2077  }
2079  {
2081  }
2083  {
2085  }
2087  {
2089  }
2091  {
2093  }
2095  {
2097  }
2099  {
2101  }
2103  {
2105  }
2107  {
2109  }
2111  {
2113  }
2115  {
2117  }
2119  {
2121  }
2123  {
2125  }
2127  {
2129  }
2131  {
2133  }
2135  {
2137  }
2139  {
2141  }
2143  {
2145  }
2147  {
2149  }
2151  {
2153  }
2155  {
2157  }
2159  {
2161  }
2163  {
2165  }
2167  {
2168  return !m_classDef->getMemberGroups().empty() ?
2171  }
2173  {
2175  }
2177  {
2178  return !m_classDef->typeConstraints().empty() ?
2180  TemplateVariant(false);
2181  }
2183  {
2184  TemplateVariantList list;
2185  list.reserve(m_classDef->getExamples().size());
2186  if (m_classDef->hasExamples())
2187  {
2188  for (const auto &ex : m_classDef->getExamples())
2189  {
2191  {
2192  { "text", TemplateVariant(ex.name) },
2193  { "isLinkable", TemplateVariant(TRUE) },
2194  { "anchor", TemplateVariant(ex.anchor) },
2195  { "fileName", TemplateVariant(ex.file) },
2196  { "isReference", TemplateVariant(FALSE) },
2197  { "externalReference", TemplateVariant("") }
2198  });
2199  list.push_back(s);
2200  }
2201  }
2202  return TemplateImmutableList::alloc(list);
2203  }
2205  {
2207  {
2208  const Definition *parent = d->getOuterScope();
2209  if (parent)
2210  {
2211  addTemplateDecls(parent,tl);
2212  }
2213  const ClassDef *cd=toClassDef(d);
2214  if (!cd->templateArguments().empty())
2215  {
2217  // since a TemplateVariant does take ownership of the object, we add it
2218  // a separate list just to be able to delete it and avoid a memory leak
2219  tl.push_back(al);
2220  }
2221  }
2222  }
2224  {
2227  return TemplateImmutableList::alloc(tl);
2228  }
2230  {
2232  auto ctx = std::dynamic_pointer_cast<InheritedMemberInfoListContext>(list);
2238  ctx->addMemberList(m_classDef,MemberListType_pubMethods,
2241  ctx->addMemberList(m_classDef,MemberListType_pubStaticMethods,
2258  ctx->addMemberList(m_classDef,MemberListType_events,theTranslator->trEvents());
2266  return list;
2267  }
2268  void addMembers(MemberList &list,const ClassDef *cd,MemberListType lt) const
2269  {
2270  const MemberList *ml = cd->getMemberList(lt);
2271  if (ml)
2272  {
2273  for (const auto &md : *ml)
2274  {
2275  if (md->isBriefSectionVisible())
2276  {
2277  list.push_back(md);
2278  }
2279  }
2280  }
2281  }
2283  {
2314  return MemberListContext::alloc(list);
2315  }
2317  {
2319  }
2321  {
2322  return m_classDef->categoryOf() ?
2325  }
2327  {
2329  }
2330 
2332  struct Cachable : public DefinitionContext<ClassContext::Private>::Cachable
2333  {
2391  };
2394 };
2395 
2396 //%% struct Class(Symbol): class information
2397 //%% {
2400  { "title", &Private::title },
2401  { "highlight", &Private::highlight },
2402  { "subhighlight", &Private::subHighlight },
2403  { "hasDetails", &Private::hasDetails },
2404  { "generatedFromFiles", &Private::generatedFromFiles },
2405  { "usedFiles", &Private::usedFiles },
2406  { "hasInheritanceDiagram", &Private::hasInheritanceDiagram },
2407  { "inheritanceDiagram", &Private::inheritanceDiagram },
2408  { "hasCollaborationDiagram", &Private::hasCollaborationDiagram },
2409  { "collaborationDiagram", &Private::collaborationDiagram },
2410  { "includeInfo", &Private::includeInfo },
2411  { "inherits", &Private::inherits },
2412  { "inheritedBy", &Private::inheritedBy },
2413  { "unoIDLServices", &Private::unoIDLServices },
2414  { "unoIDLInterfaces", &Private::unoIDLInterfaces },
2415  { "signals", &Private::signals },
2416  { "publicTypes", &Private::publicTypes },
2417  { "publicMethods", &Private::publicMethods },
2418  { "publicStaticMethods", &Private::publicStaticMethods },
2419  { "publicAttributes", &Private::publicAttributes },
2420  { "publicStaticAttributes", &Private::publicStaticAttributes },
2421  { "publicSlots", &Private::publicSlots },
2422  { "protectedTypes", &Private::protectedTypes },
2423  { "protectedMethods", &Private::protectedMethods },
2424  { "protectedStaticMethods", &Private::protectedStaticMethods },
2425  { "protectedAttributes", &Private::protectedAttributes },
2426  { "protectedStaticAttributes", &Private::protectedStaticAttributes },
2427  { "protectedSlots", &Private::protectedSlots },
2428  { "privateTypes", &Private::privateTypes },
2429  { "privateMethods", &Private::privateMethods },
2430  { "privateStaticMethods", &Private::privateStaticMethods },
2431  { "privateAttributes", &Private::privateAttributes },
2432  { "privateStaticAttributes", &Private::privateStaticAttributes },
2433  { "privateSlots", &Private::privateSlots },
2434  { "packageTypes", &Private::packageTypes },
2435  { "packageMethods", &Private::packageMethods },
2436  { "packageStaticMethods", &Private::packageStaticMethods },
2437  { "packageAttributes", &Private::packageAttributes },
2438  { "packageStaticAttributes", &Private::packageStaticAttributes },
2439  { "properties", &Private::properties },
2440  { "events", &Private::events },
2441  { "friends", &Private::friends },
2442  { "related", &Private::related },
2443  { "detailedTypedefs", &Private::detailedTypedefs },
2444  { "detailedEnums", &Private::detailedEnums },
2445  { "detailedServices", &Private::detailedServices },
2446  { "detailedInterfaces", &Private::detailedInterfaces },
2447  { "detailedConstructors", &Private::detailedConstructors },
2448  { "detailedMethods", &Private::detailedMethods },
2449  { "detailedRelated", &Private::detailedRelated },
2450  { "detailedVariables", &Private::detailedVariables },
2451  { "detailedProperties", &Private::detailedProperties },
2452  { "detailedEvents", &Private::detailedEvents },
2453  { "classes", &Private::classes },
2454  { "innerClasses", &Private::innerClasses },
2455  { "compoundType", &Private::compoundType },
2456  { "templateDecls", &Private::templateDecls },
2457  { "typeConstraints", &Private::typeConstraints },
2458  { "examples", &Private::examples },
2459  { "members", &Private::members },
2460  { "allMembersList", &Private::allMembersList },
2461  { "allMembersFileName", &Private::allMembersFileName },
2462  { "memberGroups", &Private::memberGroups },
2463  { "additionalInheritedMembers",&Private::additionalInheritedMembers },
2464  { "isSimple", &Private::isSimple },
2465  { "categoryOf", &Private::categoryOf }
2466 };
2467 //%% }
2468 
2469 //PropertyMapper<ClassContext::Private> ClassContext::Private::s_inst;
2470 
2471 ClassContext::ClassContext(const ClassDef *cd) : p(std::make_unique<Private>(cd))
2472 {
2473 }
2474 
2476 {
2477 }
2478 
2480 {
2481  return p->get(n);
2482 }
2483 
2485 {
2486  return p->fields();
2487 }
2488 
2489 //------------------------------------------------------------------------
2490 
2491 class NamespaceContext::Private : public DefinitionContext<NamespaceContext::Private>
2492 {
2493  public:
2495  m_namespaceDef(nd)
2496  {
2497  }
2498  virtual ~Private() {}
2499 
2500  // TemplateStructIntf methods
2501  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
2502  StringVector fields() const { return s_inst.fields(); }
2503 
2504  private:
2505  // Property getters
2507  TemplateVariant highlight() const { return TemplateVariant("namespaces"); }
2511  TemplateVariant classes() const { return m_cachable.classes.get(this); }
2512  TemplateVariant namespaces() const { return m_cachable.namespaces.get(this); }
2514  TemplateVariant typedefs() const { return m_cachable.typedefs.get(this); }
2515  TemplateVariant sequences() const { return m_cachable.sequences.get(this); }
2516  TemplateVariant dictionaries() const { return m_cachable.dictionaries.get(this); }
2517  TemplateVariant enums() const { return m_cachable.enums.get(this); }
2518  TemplateVariant functions() const { return m_cachable.functions.get(this); }
2519  TemplateVariant variables() const { return m_cachable.variables.get(this); }
2520  TemplateVariant memberGroups() const { return m_cachable.memberGroups.get(this); }
2528 
2529  private:
2531  {
2532  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
2533  TemplateVariantList classList;
2534  classList.reserve(m_namespaceDef->getClasses().size());
2535  for (const auto &cd : m_namespaceDef->getClasses())
2536  {
2537  if (sliceOpt && (cd->compoundType()==ClassDef::Struct ||
2538  cd->compoundType()==ClassDef::Interface ||
2539  cd->compoundType()==ClassDef::Exception))
2540  {
2541  continue; // These types appear in their own sections.
2542  }
2543  if (cd->visibleInParentsDeclList())
2544  {
2545  classList.push_back(ClassContext::alloc(cd));
2546  }
2547  }
2548  return TemplateImmutableList::alloc(classList);
2549  }
2551  {
2552  TemplateVariantList list;
2553  list.reserve(m_namespaceDef->getNamespaces().size());
2554  for (const auto &nd : m_namespaceDef->getNamespaces())
2555  {
2556  if (nd->isLinkable() && !nd->isConstantGroup())
2557  {
2558  list.push_back(NamespaceContext::alloc(nd));
2559  }
2560  }
2561  return TemplateImmutableList::alloc(list);
2562  }
2564  {
2565  TemplateVariantList list;
2566  list.reserve(m_namespaceDef->getNamespaces().size());
2567  for (const auto &nd : m_namespaceDef->getNamespaces())
2568  {
2569  if (nd->isLinkable() && nd->isConstantGroup())
2570  {
2571  list.push_back(NamespaceContext::alloc(nd));
2572  }
2573  }
2574  return TemplateImmutableList::alloc(list);
2575  }
2577  {
2578  const MemberList *ml = m_namespaceDef->getMemberList(type);
2580  : TemplateVariant(false);
2581  }
2583  {
2585  }
2587  {
2589  }
2591  {
2593  }
2595  {
2597  }
2599  {
2604  }
2606  {
2607  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
2610  }
2612  {
2614  }
2616  {
2618  }
2620  {
2622  }
2624  {
2626  }
2628  {
2632  }
2634  {
2635  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
2638  }
2640  {
2641  return !m_namespaceDef->getMemberGroups().empty() ?
2646  }
2648  {
2649  TemplateVariantList list;
2650  list.reserve(m_namespaceDef->getClasses().size());
2651  for (const auto &cd : m_namespaceDef->getClasses())
2652  {
2653  if (!cd->isAnonymous() &&
2654  cd->isLinkableInProject() &&
2655  cd->isEmbeddedInOuterScope() &&
2656  cd->partOfGroups().empty())
2657  {
2658  list.push_back(ClassContext::alloc(cd));
2659  }
2660  }
2661  return TemplateImmutableList::alloc(list);
2662  }
2663 
2665  struct Cachable : public DefinitionContext<NamespaceContext::Private>::Cachable
2666  {
2684  };
2687 };
2688 
2689 //%% struct Namespace(Symbol): namespace information
2690 //%% {
2693  { "title", &Private::title },
2694  { "highlight", &Private::highlight },
2695  { "subhighlight", &Private::subHighlight },
2696  { "compoundType", &Private::compoundType },
2697  { "hasDetails", &Private::hasDetails },
2698  { "classes", &Private::classes },
2699  { "namespaces", &Private::namespaces },
2700  { "constantgroups", &Private::constantgroups },
2701  { "typedefs", &Private::typedefs },
2702  { "sequences", &Private::sequences },
2703  { "dictionaries", &Private::dictionaries },
2704  { "enums", &Private::enums },
2705  { "functions", &Private::functions },
2706  { "variables", &Private::variables },
2707  { "memberGroups", &Private::memberGroups },
2708  { "detailedTypedefs", &Private::detailedTypedefs },
2709  { "detailedSequences", &Private::detailedSequences },
2710  { "detailedDictionaries", &Private::detailedDictionaries },
2711  { "detailedEnums", &Private::detailedEnums },
2712  { "detailedFunctions", &Private::detailedFunctions },
2713  { "detailedVariables", &Private::detailedVariables },
2714  { "inlineClasses", &Private::inlineClasses }
2715 };
2716 //%% }
2717 
2718 NamespaceContext::NamespaceContext(const NamespaceDef *nd) : p(std::make_unique<Private>(nd))
2719 {
2720 }
2721 
2723 {
2724 }
2725 
2727 {
2728  return p->get(n);
2729 }
2730 
2732 {
2733  return p->fields();
2734 }
2735 
2736 //------------------------------------------------------------------------
2737 
2738 class FileContext::Private : public DefinitionContext<FileContext::Private>
2739 {
2740  public:
2742  {
2743  if (fd==0) abort();
2744  }
2745  virtual ~Private() {}
2746 
2747  // TemplateStructIntf methods
2748  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
2749  StringVector fields() const { return s_inst.fields(); }
2750 
2751  // Property getters
2752  TemplateVariant title() const { return m_fileDef->title(); }
2753  TemplateVariant highlight() const { return TemplateVariant("files"); }
2756  TemplateVariant includeList() const { return m_cachable.includeList.get(this); }
2759  TemplateVariant sources() const { return m_cachable.sources.get(this); }
2761  TemplateVariant classes() const { return m_cachable.classes.get(this); }
2762  TemplateVariant namespaces() const { return m_cachable.namespaces.get(this); }
2764  TemplateVariant macros() const { return m_cachable.macros.get(this); }
2765  TemplateVariant typedefs() const { return m_cachable.typedefs.get(this); }
2766  TemplateVariant sequences() const { return m_cachable.sequences.get(this); }
2767  TemplateVariant dictionaries() const { return m_cachable.dictionaries.get(this); }
2768  TemplateVariant enums() const { return m_cachable.enums.get(this); }
2769  TemplateVariant functions() const { return m_cachable.functions.get(this); }
2770  TemplateVariant variables() const { return m_cachable.variables.get(this); }
2771  TemplateVariant memberGroups() const { return m_cachable.memberGroups.get(this); }
2783 
2785  {
2786  static bool haveDot = Config_getBool(HAVE_DOT);
2787  DotInclDepGraphPtr incGraph = getIncludeGraph();
2788  return (haveDot && !incGraph->isTooBig() && !incGraph->isTrivial());
2789  }
2791  {
2792  static bool haveDot = Config_getBool(HAVE_DOT);
2793  TextStream t;
2794  if (haveDot)
2795  {
2797  switch (g_globals.outputFormat)
2798  {
2800  {
2801  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
2805  );
2806  }
2807  break;
2809  {
2810  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
2814  );
2815  }
2816  break;
2817  // TODO: support other generators
2818  default:
2819  err("context.cpp: output format not yet supported\n");
2820  break;
2821  }
2823  }
2824  return TemplateVariant(t.str().c_str(),TRUE);
2825  }
2827  {
2828  static bool haveDot = Config_getBool(HAVE_DOT);
2830  return (haveDot && !incGraph->isTooBig() && !incGraph->isTrivial());
2831  }
2833  {
2834  static bool haveDot = Config_getBool(HAVE_DOT);
2835  TextStream t;
2836  if (haveDot)
2837  {
2839  switch (g_globals.outputFormat)
2840  {
2842  {
2843  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
2847  );
2848  }
2849  break;
2851  {
2852  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
2856  );
2857  }
2858  break;
2859  // TODO: support other generators
2860  default:
2861  err("context.cpp: output format not yet supported\n");
2862  break;
2863  }
2865  }
2866  return TemplateVariant(t.str().c_str(),TRUE);
2867  }
2868 
2869  private:
2870 
2872  {
2873  return !m_fileDef->includeFileList().empty() ?
2875  TemplateVariant(false);
2876  }
2878  {
2879  return std::make_shared<DotInclDepGraph>(m_fileDef,FALSE);
2880  }
2882  {
2883  return std::make_shared<DotInclDepGraph>(m_fileDef,TRUE);
2884  }
2886  {
2887  return m_fileDef->generateSourceFile() ?
2889  TemplateVariant("");
2890  }
2892  {
2893  TemplateVariantList list;
2894  list.reserve(m_fileDef->getClasses().size());
2895  for (const auto &cd : m_fileDef->getClasses())
2896  {
2897  if (cd->visibleInParentsDeclList())
2898  {
2899  list.push_back(ClassContext::alloc(cd));
2900  }
2901  }
2902  return TemplateImmutableList::alloc(list);
2903  }
2905  {
2906  TemplateVariantList list;
2907  list.reserve(m_fileDef->getNamespaces().size());
2908  for (const auto &nd : m_fileDef->getNamespaces())
2909  {
2910  if (nd->isLinkable() && !nd->isConstantGroup())
2911  {
2912  list.push_back(NamespaceContext::alloc(nd));
2913  }
2914  }
2915  return TemplateImmutableList::alloc(list);
2916  }
2918  {
2919  TemplateVariantList list;
2920  list.reserve(m_fileDef->getNamespaces().size());
2921  for (const auto &nd : m_fileDef->getNamespaces())
2922  {
2923  if (nd->isLinkable() && nd->isConstantGroup())
2924  {
2925  list.push_back(NamespaceContext::alloc(nd));
2926  }
2927  }
2928  return TemplateImmutableList::alloc(list);
2929  }
2931  {
2932  const MemberList *ml = m_fileDef->getMemberList(type);
2934  : TemplateVariant(false);
2935  }
2937  {
2939  }
2941  {
2943  }
2945  {
2947  }
2949  {
2951  }
2953  {
2955  }
2957  {
2958  SrcLangExt lang = m_fileDef->getLanguage();
2962  }
2964  {
2965  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
2968  }
2970  {
2972  }
2974  {
2976  }
2978  {
2980  }
2982  {
2984  }
2986  {
2988  }
2990  {
2991  SrcLangExt lang = m_fileDef->getLanguage();
2994  }
2996  {
2998  }
3000  {
3001  return !m_fileDef->getMemberGroups().empty() ?
3004  }
3006  {
3007  TemplateVariantList list;
3008  list.reserve(m_fileDef->getClasses().size());
3009  for (const auto &cd : m_fileDef->getClasses())
3010  {
3011  if (!cd->isAnonymous() &&
3012  cd->isLinkableInProject() &&
3013  cd->isEmbeddedInOuterScope() &&
3014  cd->partOfGroups().empty())
3015  {
3016  list.push_back(ClassContext::alloc(cd));
3017  }
3018  }
3019  return TemplateImmutableList::alloc(list);
3020  }
3021 
3023  struct Cachable : public DefinitionContext<FileContext::Private>::Cachable
3024  {
3048  };
3051 };
3052 
3053 //%% struct File(Symbol): file information
3054 //%% {
3057  { "title", &Private::title },
3058  { "highlight", &Private::highlight },
3059  { "subhighlight", &Private::subHighlight },
3060  { "versionInfo", &Private::versionInfo },
3061  { "includeList", &Private::includeList },
3062  { "hasIncludeGraph", &Private::hasIncludeGraph },
3063  { "hasIncludedByGraph", &Private::hasIncludedByGraph },
3064  { "includeGraph", &Private::includeGraph },
3065  { "includedByGraph", &Private::includedByGraph },
3066  { "hasDetails", &Private::hasDetails },
3067  { "hasSourceFile", &Private::hasSourceFile },
3068  { "sources", &Private::sources },
3069  { "version", &Private::version },
3070  { "classes", &Private::classes },
3071  { "namespaces", &Private::namespaces },
3072  { "constantgroups", &Private::constantgroups },
3073  { "macros", &Private::macros },
3074  { "typedefs", &Private::typedefs },
3075  { "sequences", &Private::sequences },
3076  { "dictionaries", &Private::dictionaries },
3077  { "enums", &Private::enums },
3078  { "functions", &Private::functions },
3079  { "variables", &Private::variables },
3080  { "memberGroups", &Private::memberGroups },
3081  { "detailedMacros", &Private::detailedMacros },
3082  { "detailedTypedefs", &Private::detailedTypedefs },
3083  { "detailedSequences", &Private::detailedSequences },
3084  { "detailedDictionaries", &Private::detailedDictionaries },
3085  { "detailedEnums", &Private::detailedEnums },
3086  { "detailedFunctions", &Private::detailedFunctions },
3087  { "detailedVariables", &Private::detailedVariables },
3088  { "inlineClasses", &Private::inlineClasses },
3089  { "compoundType", &Private::compoundType }
3090 };
3091 //%% }
3092 
3093 //PropertyMapper<FileContext::Private> FileContext::Private::s_inst;
3094 
3095 FileContext::FileContext(const FileDef *fd) : p(std::make_unique<Private>(fd))
3096 {
3097 }
3098 
3100 {
3101 }
3102 
3104 {
3105  return p->get(n);
3106 }
3107 
3109 {
3110  return p->fields();
3111 }
3112 
3113 //------------------------------------------------------------------------
3114 
3115 class DirContext::Private : public DefinitionContext<DirContext::Private>
3116 {
3117  public:
3119  {
3120  }
3121  virtual ~Private() {}
3122 
3123  // TemplateStructIntf methods
3124  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
3125  StringVector fields() const { return s_inst.fields(); }
3126 
3127  // Property getters
3129  TemplateVariant highlight() const { return TemplateVariant("files"); }
3132  TemplateVariant dirs() const { return m_cachable.dirs.get(this); }
3133  TemplateVariant files() const { return m_cachable.files.get(this); }
3136  TemplateVariant relPath() const { return ""; }
3138 
3140  {
3141  bool result=FALSE;
3142  static bool haveDot = Config_getBool(HAVE_DOT);
3143  static bool dirGraph = Config_getBool(DIRECTORY_GRAPH);
3144  if (haveDot && dirGraph)
3145  {
3146  DotDirDepsPtr graph = getDirDepsGraph();
3147  result = !graph->isTrivial();
3148  }
3149  return result;
3150  }
3152  {
3153  TextStream t;
3154  static bool haveDot = Config_getBool(HAVE_DOT);
3155  static bool dirGraph = Config_getBool(DIRECTORY_GRAPH);
3156  if (haveDot && dirGraph)
3157  {
3158  DotDirDepsPtr graph = getDirDepsGraph();
3159  switch (g_globals.outputFormat)
3160  {
3162  {
3163  graph->writeGraph(t,GOF_BITMAP,
3164  EOF_Html,
3167  relPathAsString(),
3168  TRUE,
3170  FALSE);
3171  }
3172  break;
3174  {
3175  graph->writeGraph(t,GOF_EPS,
3176  EOF_LaTeX,
3179  relPathAsString(),
3180  TRUE,
3182  FALSE);
3183  }
3184  break;
3185  // TODO: support other generators
3186  default:
3187  err("context.cpp: output format not yet supported\n");
3188  break;
3189  }
3191  }
3192  return TemplateVariant(t.str().c_str(),TRUE);
3193  }
3194 
3195  private:
3197  {
3198  TemplateVariantList list;
3199  list.reserve(m_dirDef->subDirs().size());
3200  for(const auto dd : m_dirDef->subDirs())
3201  {
3202  list.push_back(DirContext::alloc(dd));
3203  }
3204  return TemplateImmutableList::alloc(list);
3205  }
3207  {
3208  TemplateVariantList list;
3209  list.reserve(m_dirDef->getFiles().size());
3210  for (const auto &fd : m_dirDef->getFiles())
3211  {
3212  list.push_back(FileContext::alloc(fd));
3213  }
3214  return TemplateImmutableList::alloc(list);
3215  }
3217  {
3218  return std::make_shared<DotDirDeps>(m_dirDef);
3219  }
3221  struct Cachable : public DefinitionContext<DirContext::Private>::Cachable
3222  {
3226  };
3229 };
3230 
3231 //%% struct Dir(Symbol): directory information
3232 //%% {
3235  { "title", &Private::title },
3236  { "highlight", &Private::highlight },
3237  { "subhighlight", &Private::subHighlight },
3238  { "dirName", &Private::dirName },
3239  { "dirs", &Private::dirs },
3240  { "files", &Private::files },
3241  { "hasDetails", &Private::hasDetails },
3242  { "hasDirGraph", &Private::hasDirGraph },
3243  { "dirGraph", &Private::dirGraph },
3244  { "compoundType", &Private::compoundType }
3245 };
3246 //%% }
3247 
3248 //PropertyMapper<DirContext::Private> DirContext::Private::s_inst;
3249 
3250 DirContext::DirContext(const DirDef *fd) : p(std::make_unique<Private>(fd))
3251 {
3252 }
3253 
3255 {
3256 }
3257 
3259 {
3260  return p->get(n);
3261 }
3262 
3264 {
3265  return p->fields();
3266 }
3267 
3268 //------------------------------------------------------------------------
3269 
3270 class PageContext::Private : public DefinitionContext<PageContext::Private>
3271 {
3272  public:
3273  Private(const PageDef *pd,bool isMainPage,bool isExample)
3275  m_isExample(isExample)
3276  {
3277  }
3278  virtual ~Private() {}
3279 
3280  // TemplateStructIntf methods
3281  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
3282  StringVector fields() const { return s_inst.fields(); }
3283 
3284  // Property getters
3286  {
3287  if (m_isMainPage)
3288  {
3289  QCString projectName = Config_getString(PROJECT_NAME);
3290  if (Doxygen::mainPage && !Doxygen::mainPage->title().isEmpty())
3291  {
3292  if (Doxygen::mainPage->title().lower()!="notitle")
3293  {
3294  return m_pageDef->title();
3295  }
3296  else
3297  {
3298  return "";
3299  }
3300  }
3301  else if (!projectName.isEmpty())
3302  {
3303  return projectName+" "+theTranslator->trDocumentation();
3304  }
3305  else
3306  {
3307  return theTranslator->trMainPage();
3308  }
3309  }
3310  else if (m_isExample)
3311  {
3312  return m_pageDef->name();
3313  }
3314  else
3315  {
3316  return m_pageDef->title();
3317  }
3318  }
3320  {
3321  return m_isMainPage ? TemplateVariant("") :
3323  }
3325  {
3326  if (m_isMainPage)
3327  {
3328  return "main";
3329  }
3330  else
3331  {
3332  return "pages";
3333  }
3334  }
3336  {
3337  return "";
3338  }
3340  {
3341  return m_cachable.example.get(this);
3342  }
3343  private:
3345  {
3346  return m_isExample ?
3348  relPathAsString(),"\\include "+m_pageDef->name(),FALSE)) :
3349  TemplateVariant("");
3350  }
3351 
3353  struct Cachable : public DefinitionContext<PageContext::Private>::Cachable
3354  {
3356  };
3361 };
3362 
3363 //%% struct Page(Symbol): page information
3364 //%% {
3367  { "title", &Private::title },
3368  { "highlight", &Private::highlight },
3369  { "subhighlight",&Private::subHighlight },
3370  { "example", &Private::example }
3371 };
3372 //%% }
3373 
3374 PageContext::PageContext(const PageDef *pd,bool isMainPage,bool isExample) : p(std::make_unique<Private>(pd,isMainPage,isExample))
3375 {
3376 }
3377 
3379 {
3380 }
3381 
3383 {
3384  return p->get(n);
3385 }
3386 
3388 {
3389  return p->fields();
3390 }
3391 
3392 //------------------------------------------------------------------------
3393 
3395 {
3396  public:
3398  : m_ts(ts), m_relPath(relPath) {}
3399  void writeString(const QCString &s,bool keepSpaces) const
3400  {
3401  static const char *hex="0123456789ABCDEF";
3402  if (s.isEmpty()) return;
3403  if (keepSpaces)
3404  {
3405  const char *p=s.data();
3406  char c;
3407  while ((c=*p++))
3408  {
3409  switch(c)
3410  {
3411  case '<': m_ts << "&lt;"; break;
3412  case '>': m_ts << "&gt;"; break;
3413  case '\'': m_ts << "&#39;"; break;
3414  case '"': m_ts << "&quot;"; break;
3415  case '&': m_ts << "&amp;"; break;
3416  case ' ': m_ts << "&#160;"; break;
3417  default:
3418  {
3419  uchar uc = static_cast<uchar>(c);
3420  if (uc<32 && !isspace(c)) // non-printable control characters
3421  {
3422  m_ts << "&#x24" << hex[uc>>4] << hex[uc&0xF] << ";";
3423  }
3424  else
3425  {
3426  m_ts << c;
3427  }
3428  }
3429  break;
3430  }
3431  }
3432  }
3433  else
3434  {
3435  m_ts << convertToHtml(s);
3436  }
3437  }
3438 
3439  void writeBreak(int indent) const
3440  {
3441  m_ts << "<br />";
3442  for (int i=0;i<indent;i++)
3443  {
3444  m_ts << "&#160;";
3445  }
3446  }
3447 
3448  void writeLink(const QCString &ref,const QCString &f,
3449  const QCString &anchor,const QCString &name
3450  ) const
3451  {
3452  if (!ref.isEmpty())
3453  {
3454  m_ts << "<a class=\"elRef\" ";
3455  m_ts << externalLinkTarget();
3456  }
3457  else
3458  {
3459  m_ts << "<a class=\"el\" ";
3460  }
3461  m_ts << "href=\"";
3462  m_ts << externalRef(m_relPath,ref,TRUE);
3463  if (!f.isEmpty()) m_ts << addHtmlExtensionIfMissing(f);
3464  if (!anchor.isEmpty()) m_ts << "#" << anchor;
3465  m_ts << "\">";
3466  m_ts << convertToHtml(name);
3467  m_ts << "</a>";
3468  }
3469 
3470  private:
3473 };
3474 
3475 //------------------------------------------------------------------------
3476 
3478 {
3479  public:
3481  void writeString(const QCString &s,bool keepSpaces) const
3482  {
3483  if (s==0) return;
3484  m_ts << convertToLaTeX(s,FALSE,keepSpaces);
3485  }
3486  void writeBreak(int indent) const
3487  {
3488  m_ts << "\\\\*\n";
3489  for (int i=0;i<indent;i++)
3490  {
3491  m_ts << "~";
3492  }
3493  }
3494  void writeLink(const QCString &ref,const QCString &f,
3495  const QCString &anchor,const QCString &text
3496  ) const
3497  {
3498  static bool pdfHyperlinks = Config_getBool(PDF_HYPERLINKS);
3499  if (ref.isEmpty() && pdfHyperlinks)
3500  {
3501  m_ts << "\\mbox{\\hyperlink{";
3502  if (!f.isEmpty()) m_ts << stripPath(f);
3503  if (!f.isEmpty() && !anchor.isEmpty()) m_ts << "_";
3504  if (!anchor.isEmpty()) m_ts << anchor;
3505  m_ts << "}{";
3506  filterLatexString(m_ts,text,
3507  false, // insideTabbing
3508  false, // insidePre
3509  false, // insideItem
3510  false, // insideTable
3511  false // keepSpaces
3512  );
3513  m_ts << "}}";
3514  }
3515  else
3516  {
3517  m_ts << "\\textbf{ ";
3518  filterLatexString(m_ts,text,
3519  false, // insideTabbing
3520  false, // insidePre
3521  false, // insideItem
3522  false, // insideTable
3523  false // keepSpaces
3524  );
3525  m_ts << "}";
3526  }
3527  }
3528 
3529  private:
3531 };
3532 
3533 //------------------------------------------------------------------------
3534 
3536 {
3537  public:
3539  {
3541  return instance;
3542  }
3544  {
3545  switch (g_globals.outputFormat)
3546  {
3548  return new TextGeneratorHtml(ts,relPath);
3550  return new TextGeneratorLatex(ts);
3551  default:
3552  break;
3553  }
3554  return 0;
3555  }
3556  private:
3559 };
3560 
3561 TemplateVariant createLinkedText(const Definition *def,const QCString &relPath,const QCString &text)
3562 {
3563  TextStream ts;
3565  if (tg)
3566  {
3567  linkifyText(*tg,def->getOuterScope(),def->getBodyDef(),def,text);
3568  delete tg;
3569  return TemplateVariant(ts.str().c_str(),true);
3570  }
3571  else
3572  {
3573  return text;
3574  }
3575 }
3576 
3577 class MemberContext::Private : public DefinitionContext<MemberContext::Private>
3578 {
3579  public:
3581  {
3582  }
3583  virtual ~Private() {}
3584 
3585  // TemplateStructIntf methods
3586  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
3587  StringVector fields() const { return s_inst.fields(); }
3588 
3589  // Property getters
3595  TemplateVariant isSlot() const { return m_memberDef->isSlot(); }
3623  TemplateVariant isCopy() const { return m_memberDef->isCopy(); }
3626  TemplateVariant isWeak() const { return m_memberDef->isWeak(); }
3630  TemplateVariant isNew() const { return m_memberDef->isNew(); }
3661  TemplateVariant fieldType() const { return m_cachable.fieldType.get(this); }
3662  TemplateVariant declType() const { return m_cachable.declType.get(this); }
3663  TemplateVariant declArgs() const { return m_cachable.declArgs.get(this); }
3664  TemplateVariant exception() const { return m_cachable.exception.get(this); }
3665  TemplateVariant bitfields() const { return m_cachable.bitfields.get(this); }
3666  TemplateVariant initializer() const { return m_cachable.initializer.get(this); }
3670  TemplateVariant enumValues() const { return m_cachable.enumValues.get(this); }
3671  TemplateVariant templateArgs() const { return m_cachable.templateArgs.get(this); }
3674  TemplateVariant eventAttrs() const { return m_cachable.eventAttrs.get(this); }
3675  TemplateVariant getClass() const { return m_cachable.classDef.get(this); }
3676  TemplateVariant category() const { return m_cachable.category.get(this); }
3678  TemplateVariant getFile() const { return m_cachable.fileDef.get(this); }
3679  TemplateVariant getNamespace() const { return m_cachable.namespaceDef.get(this); }
3680  TemplateVariant definition() const { return m_cachable.definition.get(this); }
3681  TemplateVariant parameters() const { return m_cachable.parameters.get(this); }
3689  TemplateVariant labels() const { return m_cachable.labels.get(this); }
3690  TemplateVariant paramDocs() const { return m_cachable.paramDocs.get(this); }
3691  TemplateVariant implements() const { return m_cachable.implements.get(this); }
3692  TemplateVariant reimplements() const { return m_cachable.reimplements.get(this); }
3695  TemplateVariant examples() const { return m_cachable.examples.get(this); }
3697  TemplateVariant sourceRefs() const { return m_cachable.sourceRefs.get(this); }
3698  TemplateVariant sourceRefBys() const { return m_cachable.sourceRefBys.get(this); }
3699  TemplateVariant sourceCode() const { return m_cachable.sourceCode.get(this); }
3700  DotCallGraphPtr getCallGraph() const { return m_cachable.callGraph.get(this); }
3705 
3707  {
3708  return (m_memberDef->isDocsForDefinition()) ?
3710  }
3711 
3713  {
3714  if (!m_memberDef->isObjCMethod() &&
3717  )
3718  )
3719  {
3720  return "()";
3721  }
3722  else
3723  {
3724  return "";
3725  }
3726  }
3728  {
3729  static bool haveDot = Config_getBool(HAVE_DOT);
3730  if (m_memberDef->hasCallGraph() && haveDot &&
3732  {
3734  return !cg->isTooBig() && !cg->isTrivial();
3735  }
3736  return TemplateVariant(FALSE);
3737  }
3739  {
3740  if (hasCallGraph().toBool())
3741  {
3743  TextStream t;
3744  switch (g_globals.outputFormat)
3745  {
3747  {
3748  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
3752  );
3753  }
3754  break;
3756  {
3757  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
3761  );
3762  }
3763  break;
3764  // TODO: support other generators
3765  default:
3766  err("context.cpp: output format not yet supported\n");
3767  break;
3768  }
3770  return TemplateVariant(t.str().c_str(),TRUE);
3771  }
3772  else
3773  {
3774  return TemplateVariant("");
3775  }
3776  }
3778  {
3779  if (hasReferencedByRelation().toBool())
3780  {
3781  err("context.cpp: referencedByRelation not yet implemented\n");
3782  }
3783  return TemplateVariant("");
3784  }
3786  {
3787  static bool haveDot = Config_getBool(HAVE_DOT);
3788  if (m_memberDef->hasCallerGraph() && haveDot &&
3790  {
3792  return !cg->isTooBig() && !cg->isTrivial();
3793  }
3794  return TemplateVariant(FALSE);
3795  }
3797  {
3798  if (hasCallerGraph().toBool())
3799  {
3801  TextStream t;
3802  switch (g_globals.outputFormat)
3803  {
3805  {
3806  cg->writeGraph(t,GOF_BITMAP,EOF_Html,
3810  );
3811  }
3812  break;
3814  {
3815  cg->writeGraph(t,GOF_EPS,EOF_LaTeX,
3819  );
3820  }
3821  break;
3822  // TODO: support other generators
3823  default:
3824  err("context.cpp: output format not yet supported\n");
3825  break;
3826  }
3828  return TemplateVariant(t.str().c_str(),TRUE);
3829  }
3830  else
3831  {
3832  return TemplateVariant("");
3833  }
3834  }
3836  {
3837  if (hasReferencesRelation().toBool())
3838  {
3839  err("context.cpp: referencesRelation not yet implemented\n");
3840  }
3841  return TemplateVariant("");
3842  }
3844  {
3845  if (args.size()==1)
3846  {
3847  QCString containerStr = args[0].toString();
3849  if (containerStr=="module") container = MemberListContainer::Group;
3850  else if (containerStr=="file") container = MemberListContainer::File;
3851  else if (containerStr=="namespace") container = MemberListContainer::Namespace;
3852  return m_memberDef->isDetailedSectionVisible(container);
3853  }
3854  else
3855  {
3856  err(".detailsVisibleFor should take one string argument, got %zu\n",args.size());
3857  }
3858  return TemplateVariant();
3859  }
3861  {
3862  return TemplateVariant(std::bind(&Private::handleDetailsVisibleFor,this,std::placeholders::_1));
3863  }
3865  {
3866  if (args.size()==1)
3867  {
3869  QCString n = m_memberDef->name();
3870  QCString ctx = args[0].toString();
3873  {
3875  }
3876  if (ctx=="module" && m_memberDef->getClassDef() && !m_memberDef->isRelated())
3877  {
3879  }
3880  else if ((ctx=="module" || ctx=="file") && m_memberDef->getNamespaceDef())
3881  {
3883  }
3884  return n;
3885  }
3886  else
3887  {
3888  err(".nameWithContextFor should take one string argument, got %zu\n",args.size());
3889  }
3890  return TemplateVariant();
3891  }
3893  {
3894  return TemplateVariant(std::bind(&Private::handleNameWithContextFor,this,std::placeholders::_1));
3895  }
3896 
3897  private:
3898 
3900  {
3901  return !m_memberDef->templateArguments().empty() ?
3903  TemplateVariant(false);
3904  }
3906  {
3907  return m_memberDef->isTypeAlias() ?
3909  QCString(" = ")+m_memberDef->typeString())) :
3910  TemplateVariant("");
3911  }
3913  {
3914  TemplateVariantList list;
3915  list.reserve(6);
3916  if (m_memberDef->isProperty())
3917  {
3918  if (m_memberDef->isGettable()) list.push_back("get");
3919  if (m_memberDef->isPrivateGettable()) list.push_back("private get");
3920  if (m_memberDef->isProtectedGettable()) list.push_back("protected get");
3921  if (m_memberDef->isSettable()) list.push_back("set");
3922  if (m_memberDef->isPrivateSettable()) list.push_back("private set");
3923  if (m_memberDef->isProtectedSettable()) list.push_back("protected set");
3924  }
3925  return TemplateImmutableList::alloc(list);
3926  }
3928  {
3929  TemplateVariantList list;
3930  list.reserve(3);
3931  if (m_memberDef->isEvent())
3932  {
3933  if (m_memberDef->isAddable()) list.push_back("add");
3934  if (m_memberDef->isRemovable()) list.push_back("remove");
3935  if (m_memberDef->isRaisable()) list.push_back("raise");
3936  }
3937  return TemplateImmutableList::alloc(list);
3938  }
3940  {
3941  const ArgumentList &defArgList = getDefArgList();
3942  return !m_memberDef->isProperty() ?
3945  }
3947  {
3948  return m_memberDef->isEnumerate() ?
3950  TemplateVariant(false);
3951  }
3953  {
3954  return m_memberDef->getFileDef() ?
3956  TemplateVariant(false);
3957  }
3959  {
3960  return m_memberDef->getNamespaceDef() ?
3962  TemplateVariant(false);
3963  }
3965  {
3966  return m_memberDef->getClassDef() ?
3968  TemplateVariant(false);
3969  }
3971  {
3972  return m_memberDef->category() ?
3974  TemplateVariant(false);
3975  }
3977  {
3978  return m_memberDef->categoryRelation() ?
3980  TemplateVariant(false);
3981  }
3983  {
3986  }
3988  {
3989  const ArgumentList &al = getDefArgList();
3990  return !al.trailingReturnType().isEmpty() ?
3992  TemplateVariant("");
3993  }
3995  {
3996  TemplateVariantList list;
3997  const ClassDef *cd=m_memberDef->getClassDef();
3999  {
4001  {
4002  if (!tal.empty())
4003  {
4005  }
4006  }
4007  }
4008  else
4009  {
4011  {
4012  for (const ArgumentList &tal : cd->getTemplateParameterLists())
4013  {
4014  if (!tal.empty())
4015  {
4017  }
4018  }
4019  }
4020  if (!m_memberDef->templateArguments().empty()) // function template prefix
4021  {
4022  list.push_back(ArgumentListContext::alloc(
4024  }
4025  }
4026  return TemplateImmutableList::alloc(list);
4027  }
4029  {
4031  return cd ? TemplateVariant(ClassContext::alloc(cd)) : TemplateVariant(false);
4032  }
4034  {
4036  {
4038  for (const Argument &a : m_memberDef->argumentList())
4039  {
4040  if (a.hasDocumentation())
4041  {
4042  QCString docs = a.docs;
4043  QCString direction = extractDirection(docs);
4044  paramDocs+="@param"+direction+" "+a.name+" "+docs;
4045  }
4046  }
4050  }
4051  return TemplateVariant("");
4052  }
4054  {
4055  const MemberDef *md = m_memberDef->reimplements();
4056  TemplateVariantList list;
4057  if (md)
4058  {
4059  const ClassDef *cd = md->getClassDef();
4060  // filter on pure virtual/interface methods
4061  if (cd && (md->virtualness()==Pure || cd->compoundType()==ClassDef::Interface))
4062  {
4063  list.push_back(MemberContext::alloc(md));
4064  }
4065  }
4066  return TemplateImmutableList::alloc(list);
4067  }
4069  {
4070  const MemberDef *md = m_memberDef->reimplements();
4071  TemplateVariantList list;
4072  if (md)
4073  {
4074  const ClassDef *cd = md->getClassDef();
4075  // filter on non-pure virtual & non interface methods
4076  if (cd && md->virtualness()!=Pure && cd->compoundType()!=ClassDef::Interface)
4077  {
4078  list.push_back(MemberContext::alloc(md));
4079  }
4080  }
4081  return TemplateImmutableList::alloc(list);
4082  }
4084  {
4085  TemplateVariantList list;
4086  list.reserve(m_memberDef->reimplementedBy().size());
4087  for (const auto &md : m_memberDef->reimplementedBy())
4088  {
4089  const ClassDef *cd = md->getClassDef();
4090  // filter on pure virtual/interface methods
4091  if (cd && md->virtualness()==Pure && cd->compoundType()==ClassDef::Interface)
4092  {
4093  list.push_back(MemberContext::alloc(md));
4094  }
4095  }
4096  return TemplateImmutableList::alloc(list);
4097  }
4099  {
4100  TemplateVariantList list;
4101  list.reserve(m_memberDef->reimplementedBy().size());
4102  for (const auto &md : m_memberDef->reimplementedBy())
4103  {
4104  const ClassDef *cd = md->getClassDef();
4105  // filter on non-pure virtual & non interface methods
4106  if (cd && md->virtualness()!=Pure && cd->compoundType()!=ClassDef::Interface)
4107  {
4108  list.push_back(MemberContext::alloc(md));
4109  }
4110  }
4111  return TemplateImmutableList::alloc(list);
4112  }
4114  {
4115  TemplateVariantList list;
4116  if (m_memberDef->hasExamples())
4117  {
4118  list.reserve(m_memberDef->getExamples().size());
4119  for (const auto &ex : m_memberDef->getExamples())
4120  {
4122  {
4123  { "text", TemplateVariant(ex.name) },
4124  { "isLinkable", TemplateVariant(TRUE) },
4125  { "anchor", TemplateVariant(ex.anchor) },
4126  { "fileName", TemplateVariant(ex.file) },
4127  { "isReference", TemplateVariant(FALSE) },
4128  { "externalReference",TemplateVariant("") }
4129  });
4130  list.push_back(s);
4131  }
4132  }
4133  return TemplateImmutableList::alloc(list);
4134  }
4136  {
4138  }
4140  {
4142  }
4144  {
4145  return std::make_shared<DotCallGraph>(m_memberDef,FALSE);
4146  }
4148  {
4149  return std::make_shared<DotCallGraph>(m_memberDef,TRUE);
4150  }
4152  {
4153  return m_memberDef->fromAnonymousMember() ?
4155  TemplateVariant(false);
4156  }
4158  {
4160  TemplateVariantList list;
4161  list.reserve(sl.size());
4162  for (const auto &s : sl)
4163  {
4164  list.push_back(s.c_str());
4165  }
4166  return TemplateImmutableList::alloc(list);
4167  }
4169  {
4170  return !m_memberDef->typeConstraints().empty() ?
4173  }
4175  {
4176  QCString scopeName;
4177  if (m_memberDef->getClassDef())
4178  {
4179  scopeName = m_memberDef->getClassDef()->name();
4180  }
4181  else if (m_memberDef->getNamespaceDef())
4182  {
4183  scopeName = m_memberDef->getNamespaceDef()->name();
4184  }
4186  scopeName,relPathAsString(),
4187  m_memberDef->initializer()));
4188  }
4190  {
4192  }
4194  {
4195  QCString codeFragment;
4196  const FileDef *fd = m_memberDef->getBodyDef();
4197  int startLine = m_memberDef->getStartBodyLine();
4198  int endLine = m_memberDef->getEndBodyLine();
4199  if (fd && readCodeFragment(fd->absFilePath(),startLine,endLine,codeFragment))
4200  {
4201  QCString scopeName;
4202  if (m_memberDef->getClassDef())
4203  {
4204  scopeName = m_memberDef->getClassDef()->name();
4205  }
4206  else if (m_memberDef->getNamespaceDef())
4207  {
4208  scopeName = m_memberDef->getNamespaceDef()->name();
4209  }
4210  return parseCode(m_memberDef,
4211  scopeName,relPathAsString(),
4212  codeFragment,startLine,endLine,TRUE);
4213  }
4214  return TemplateVariant("");
4215  }
4217  {
4219  }
4221  {
4223  }
4225  {
4227  }
4229  {
4231  }
4233  {
4235  }
4236 
4238  struct Cachable : public DefinitionContext<MemberContext::Private>::Cachable
4239  {
4276  };
4279 };
4280 
4281 //%% struct Member(Symbol): member information
4282 //%% {
4285  { "isSignal", &Private::isSignal },
4286  { "isSlot", &Private::isSlot },
4287  { "isVariable", &Private::isVariable },
4288  { "isEnumeration", &Private::isEnumeration },
4289  { "isEnumValue", &Private::isEnumValue },
4290  { "isTypedef", &Private::isTypedef },
4291  { "isFunction", &Private::isFunction },
4292  { "isFunctionPtr", &Private::isFunctionPtr },
4293  { "isDefine", &Private::isDefine },
4294  { "isFriend", &Private::isFriend },
4295  { "isProperty", &Private::isProperty },
4296  { "isEvent", &Private::isEvent },
4297  { "isRelated", &Private::isRelated },
4298  { "isForeign", &Private::isForeign },
4299  { "isStatic", &Private::isStatic },
4300  { "isInline", &Private::isInline },
4301  { "isExplicit", &Private::isExplicit },
4302  { "isMutable", &Private::isMutable },
4303  { "isGettable", &Private::isGettable },
4304  { "isPrivateGettable", &Private::isPrivateGettable },
4305  { "isProtectedGettable", &Private::isProtectedGettable },
4306  { "isSettable", &Private::isSettable },
4307  { "isPrivateSettable", &Private::isPrivateSettable },
4308  { "isProtectedSettable", &Private::isProtectedSettable },
4309  { "isReadable", &Private::isReadable },
4310  { "isWritable", &Private::isWritable },
4311  { "isAddable", &Private::isAddable },
4312  { "isRemovable", &Private::isRemovable },
4313  { "isRaisable", &Private::isRaisable },
4314  { "isFinal", &Private::isFinal },
4315  { "isAbstract", &Private::isAbstract },
4316  { "isOverride", &Private::isOverride },
4317  { "isInitonly", &Private::isInitonly },
4318  { "isOptional", &Private::isOptional },
4319  { "isRequired", &Private::isRequired },
4320  { "isNonAtomic", &Private::isNonAtomic },
4321  { "isCopy", &Private::isCopy },
4322  { "isAssign", &Private::isAssign },
4323  { "isRetain", &Private::isRetain },
4324  { "isWeak", &Private::isWeak },
4325  { "isStrong", &Private::isStrong },
4326  { "isEnumStruct", &Private::isEnumStruct },
4327  { "isUnretained", &Private::isUnretained },
4328  { "isNew", &Private::isNew },
4329  { "isSealed", &Private::isSealed },
4330  { "isImplementation", &Private::isImplementation },
4331  { "isExternal", &Private::isExternal },
4332  { "isTypeAlias", &Private::isTypeAlias },
4333  { "isDefault", &Private::isDefault },
4334  { "isDelete", &Private::isDelete },
4335  { "isNoExcept", &Private::isNoExcept },
4336  { "isAttribute", &Private::isAttribute },
4337  { "isUNOProperty", &Private::isUNOProperty },
4338  { "isReadonly", &Private::isReadonly },
4339  { "isBound", &Private::isBound },
4340  { "isConstrained", &Private::isConstrained },
4341  { "isTransient", &Private::isTransient },
4342  { "isMaybeVoid", &Private::isMaybeVoid },
4343  { "isMaybeDefault", &Private::isMaybeDefault },
4344  { "isMaybeAmbiguous", &Private::isMaybeAmbiguous },
4345  { "isPublished", &Private::isPublished },
4346  { "isTemplateSpecialization",&Private::isTemplateSpecialization },
4347  { "isObjCMethod", &Private::isObjCMethod },
4348  { "isObjCProperty", &Private::isObjCProperty },
4349  { "isAnonymous", &Private::isAnonymous },
4350  { "hasParameters", &Private::hasParameters },
4351  { "declType", &Private::declType },
4352  { "declArgs", &Private::declArgs },
4353  { "anonymousType", &Private::anonymousType },
4354  { "anonymousMember", &Private::anonymousMember },
4355  { "hasDetails", &Private::hasDetails },
4356  { "exception", &Private::exception },
4357  { "bitfields", &Private::bitfields },
4358  { "initializer", &Private::initializer },
4359  { "initializerAsCode", &Private::initializerAsCode },
4360  { "hasOneLineInitializer", &Private::hasOneLineInitializer },
4361  { "hasMultiLineInitializer", &Private::hasMultiLineInitializer },
4362  { "templateArgs", &Private::templateArgs },
4363  { "templateAlias", &Private::templateAlias },
4364  { "propertyAttrs", &Private::propertyAttrs },
4365  { "eventAttrs", &Private::eventAttrs },
4366  { "category", &Private::category },
4367  { "categoryRelation", &Private::categoryRelation },
4368  { "class", &Private::getClass },
4369  { "file", &Private::getFile },
4370  { "namespace", &Private::getNamespace },
4371  { "definition", &Private::definition },
4372  { "parameters", &Private::parameters },
4373  { "hasConstQualifier", &Private::hasConstQualifier },
4374  { "hasVolatileQualifier",&Private::hasVolatileQualifier },
4375  { "hasRefQualifierLValue", &Private::hasRefQualifierLValue },
4376  { "hasRefQualifierRValue", &Private::hasRefQualifierRValue },
4377  { "trailingReturnType", &Private::trailingReturnType },
4378  { "extraTypeChars", &Private::extraTypeChars },
4379  { "templateDecls", &Private::templateDecls },
4380  { "labels", &Private::labels },
4381  { "enumBaseType", &Private::enumBaseType },
4382  { "enumValues", &Private::enumValues },
4383  { "paramDocs", &Private::paramDocs },
4384  { "reimplements", &Private::reimplements },
4385  { "implements", &Private::implements },
4386  { "reimplementedBy", &Private::reimplementedBy },
4387  { "implementedBy", &Private::implementedBy },
4388  { "examples", &Private::examples },
4389  { "typeConstraints", &Private::typeConstraints },
4390  { "functionQualifier", &Private::functionQualifier },
4391  { "sourceRefs", &Private::sourceRefs },
4392  { "sourceRefBys", &Private::sourceRefBys },
4393  { "hasSources", &Private::hasSources },
4394  { "sourceCode", &Private::sourceCode },
4395  { "hasCallGraph", &Private::hasCallGraph },
4396  { "callGraph", &Private::callGraph },
4397  { "hasCallerGraph", &Private::hasCallerGraph },
4398  { "callerGraph", &Private::callerGraph },
4399  { "hasReferencedByRelation", &Private::hasReferencedByRelation },
4400  { "referencedByRelation", &Private::referencedByRelation },
4401  { "hasReferencesRelation", &Private::hasReferencesRelation },
4402  { "referencesRelation", &Private::referencesRelation },
4403  { "fieldType", &Private::fieldType },
4404  { "type", &Private::type },
4405  { "detailsVisibleFor", &Private::detailsVisibleFor },
4406  { "nameWithContextFor", &Private::nameWithContextFor }
4407 };
4408 //%% }
4409 
4410 //PropertyMapper<MemberContext::Private> MemberContext::Private::s_inst;
4411 
4412 MemberContext::MemberContext(const MemberDef *md) : p(std::make_unique<Private>(md))
4413 {
4414 }
4415 
4417 {
4418 }
4419 
4421 {
4422  return p->get(n);
4423 }
4424 
4426 {
4427  return p->fields();
4428 }
4429 
4430 //------------------------------------------------------------------------
4431 
4432 class ConceptContext::Private : public DefinitionContext<ConceptContext::Private>
4433 {
4434  public:
4436  m_conceptDef(cd)
4437  {
4438  }
4439  virtual ~Private() {}
4440 
4441  // TemplateStructIntf methods
4442  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
4443  StringVector fields() const { return s_inst.fields(); }
4444 
4445  // Property getters
4447  TemplateVariant highlight() const { return TemplateVariant("concepts"); }
4450  TemplateVariant includeInfo() const { return m_cachable.includeInfo.get(this); }
4452  TemplateVariant initializer() const { return m_cachable.initializer.get(this); }
4454 
4455  private:
4457  {
4458  return m_conceptDef->includeInfo() ?
4460  TemplateVariant(false);
4461  }
4463  {
4464  TemplateVariantList list;
4466  {
4468  }
4469  return TemplateImmutableList::alloc(list);
4470  }
4472  {
4474  }
4476  {
4477  QCString scopeName;
4479  {
4480  scopeName = m_conceptDef->getOuterScope()->name();
4481  }
4482  return parseCode(m_conceptDef,
4483  scopeName,relPathAsString(),
4485  }
4486 
4488  struct Cachable : public DefinitionContext<ConceptContext::Private>::Cachable
4489  {
4494  };
4497 };
4498 
4499 //%% struct Concept(Symbol): class information
4500 //%% {
4503  { "title", &Private::title },
4504  { "highlight", &Private::highlight },
4505  { "subhighlight", &Private::subHighlight },
4506  { "hasDetails", &Private::hasDetails },
4507  { "includeInfo", &Private::includeInfo },
4508  { "templateDecls", &Private::templateDecls },
4509  { "initializer", &Private::initializer },
4510  { "initializerAsCode", &Private::initializerAsCode }
4511 };
4512 //%% }
4513 
4514 ConceptContext::ConceptContext(const ConceptDef *cd) : p(std::make_unique<Private>(cd))
4515 {
4516 }
4517 
4519 {
4520 }
4521 
4523 {
4524  return p->get(n);
4525 }
4526 
4528 {
4529  return p->fields();
4530 }
4531 
4532 //------------------------------------------------------------------------
4533 
4534 class ModuleContext::Private : public DefinitionContext<ModuleContext::Private>
4535 {
4536  public:
4538  {
4539  }
4540 
4541  // TemplateStructIntf methods
4542  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
4543  StringVector fields() const { return s_inst.fields(); }
4544 
4545  private:
4546  // Property getters
4548  TemplateVariant highlight() const { return TemplateVariant("modules"); }
4550  TemplateVariant compoundType() const { return TemplateVariant("module"); }
4552  TemplateVariant modules() const { return m_cachable.modules.get(this); }
4553  TemplateVariant examples() const { return m_cachable.examples.get(this); }
4554  TemplateVariant pages() const { return m_cachable.pages.get(this); }
4555  TemplateVariant dirs() const { return m_cachable.dirs.get(this); }
4556  TemplateVariant files() const { return m_cachable.files.get(this); }
4557  TemplateVariant classes() const { return m_cachable.classes.get(this); }
4558  TemplateVariant namespaces() const { return m_cachable.namespaces.get(this); }
4560  TemplateVariant macros() const { return m_cachable.macros.get(this); }
4561  TemplateVariant typedefs() const { return m_cachable.typedefs.get(this); }
4562  TemplateVariant enums() const { return m_cachable.enums.get(this); }
4563  TemplateVariant enumValues() const { return m_cachable.enums.get(this); }
4564  TemplateVariant functions() const { return m_cachable.functions.get(this); }
4565  TemplateVariant variables() const { return m_cachable.variables.get(this); }
4566  TemplateVariant signals() const { return m_cachable.signals.get(this); }
4567  TemplateVariant publicSlots() const { return m_cachable.publicSlots.get(this); }
4569  TemplateVariant privateSlots() const { return m_cachable.privateSlots.get(this); }
4570  TemplateVariant events() const { return m_cachable.events.get(this); }
4571  TemplateVariant properties() const { return m_cachable.properties.get(this); }
4572  TemplateVariant friends() const { return m_cachable.friends.get(this); }
4573  TemplateVariant memberGroups() const { return m_cachable.memberGroups.get(this); }
4589 
4591  {
4592  bool result=FALSE;
4593  static bool haveDot = Config_getBool(HAVE_DOT);
4594  static bool groupGraphs = Config_getBool(GROUP_GRAPHS);
4595  if (haveDot && groupGraphs)
4596  {
4598  result = !graph->isTrivial();
4599  }
4600  return result;
4601  }
4603  {
4604  TextStream t;
4605  static bool haveDot = Config_getBool(HAVE_DOT);
4606  static bool groupGraphs = Config_getBool(GROUP_GRAPHS);
4607  if (haveDot && groupGraphs)
4608  {
4610  switch (g_globals.outputFormat)
4611  {
4613  {
4614  graph->writeGraph(t,GOF_BITMAP,
4615  EOF_Html,
4618  relPathAsString(),
4619  TRUE,
4621  }
4622  break;
4624  {
4625  graph->writeGraph(t,GOF_EPS,
4626  EOF_LaTeX,
4629  relPathAsString(),
4630  TRUE,
4632  }
4633  break;
4634  // TODO: support other generators
4635  default:
4636  err("context.cpp: output format not yet supported\n");
4637  break;
4638  }
4640  }
4641  return TemplateVariant(t.str().c_str(),TRUE);
4642  }
4643 
4644  private:
4645 
4647  {
4648  TemplateVariantList list;
4649  list.reserve(m_groupDef->getSubGroups().size());
4650  for (const auto &gd : m_groupDef->getSubGroups())
4651  {
4652  if (gd->isVisible())
4653  {
4654  list.push_back(ModuleContext::alloc(gd));
4655  }
4656  }
4657  return TemplateImmutableList::alloc(list);
4658  }
4660  {
4661  TemplateVariantList list;
4662  list.reserve(m_groupDef->getDirs().size());
4663  for(const auto dd : m_groupDef->getDirs())
4664  {
4665  list.push_back(DirContext::alloc(dd));
4666  }
4667  return TemplateImmutableList::alloc(list);
4668  }
4670  {
4671  TemplateVariantList list;
4672  list.reserve(m_groupDef->getFiles().size());
4673  for (const auto &fd : m_groupDef->getFiles())
4674  {
4675  list.push_back(FileContext::alloc(fd));
4676  }
4677  return TemplateImmutableList::alloc(list);
4678  }
4680  {
4681  TemplateVariantList list;
4682  list.reserve(m_groupDef->getClasses().size());
4683  for (const auto &cd : m_groupDef->getClasses())
4684  {
4685  if (cd->visibleInParentsDeclList())
4686  {
4687  list.push_back(ClassContext::alloc(cd));
4688  }
4689  }
4690  return TemplateImmutableList::alloc(list);
4691  }
4693  {
4694  TemplateVariantList list;
4695  list.reserve(m_groupDef->getNamespaces().size());
4696  for (const auto &nd : m_groupDef->getNamespaces())
4697  {
4698  if (nd->isLinkable() && !nd->isConstantGroup())
4699  {
4700  list.push_back(NamespaceContext::alloc(nd));
4701  }
4702  }
4703  return TemplateImmutableList::alloc(list);
4704  }
4706  {
4707  TemplateVariantList list;
4708  list.reserve(m_groupDef->getNamespaces().size());
4709  for (const auto &nd : m_groupDef->getNamespaces())
4710  {
4711  if (nd->isLinkable() && nd->isConstantGroup())
4712  {
4713  list.push_back(NamespaceContext::alloc(nd));
4714  }
4715  }
4716  return TemplateImmutableList::alloc(list);
4717  }
4719  {
4720  TemplateVariantList list;
4721  list.reserve(m_groupDef->getExamples().size());
4722  for (const auto &ex : m_groupDef->getExamples())
4723  {
4724  list.push_back(PageContext::alloc(ex,FALSE,TRUE));
4725  }
4726  return TemplateImmutableList::alloc(list);
4727  }
4729  {
4730  TemplateVariantList list;
4731  list.reserve(m_groupDef->getPages().size());
4732  for (const auto &ex : m_groupDef->getPages())
4733  {
4734  list.push_back(PageContext::alloc(ex,FALSE,TRUE));
4735  }
4736  return TemplateImmutableList::alloc(list);
4737  }
4739  {
4740  const MemberList *ml = m_groupDef->getMemberList(type);
4742  : TemplateVariant(false);
4743  }
4745  {
4747  }
4749  {
4751  }
4753  {
4755  }
4757  {
4759  }
4761  {
4762  SrcLangExt lang = m_groupDef->getLanguage();
4766  }
4768  {
4769  static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
4772  }
4774  {
4776  }
4778  {
4780  }
4782  {
4784  }
4786  {
4788  }
4790  {
4792  }
4794  {
4796  }
4798  {
4800  }
4802  {
4804  }
4806  {
4808  }
4810  {
4812  }
4814  {
4816  }
4818  {
4819  SrcLangExt lang = m_groupDef->getLanguage();
4822  }
4824  {
4826  }
4828  {
4830  }
4832  {
4834  }
4836  {
4838  }
4840  {
4842  }
4844  {
4846  }
4848  {
4850  }
4852  {
4854  }
4856  {
4857  TemplateVariantList list;
4858  for (const auto &cd : m_groupDef->getClasses())
4859  {
4860  if (!cd->isAnonymous() &&
4861  cd->isLinkableInProject() &&
4862  cd->isEmbeddedInOuterScope() &&
4863  cd->partOfGroups().empty())
4864  {
4865  list.push_back(ClassContext::alloc(cd));
4866  }
4867  }
4868  return TemplateImmutableList::alloc(list);
4869  }
4871  {
4872  return !m_groupDef->getMemberGroups().empty() ?
4875  }
4877  {
4878  return std::make_shared<DotGroupCollaboration>(m_groupDef);
4879  }
4880 
4882  struct Cachable : public DefinitionContext<ModuleContext::Private>::Cachable
4883  {
4921  };
4924 };
4925 
4926 //%% struct Module(Symbol): group information
4927 //%% {
4930  { "title", &Private::title },
4931  { "highlight", &Private::highlight },
4932  { "subhighlight", &Private::subHighlight },
4933  { "hasGroupGraph", &Private::hasGroupGraph },
4934  { "groupGraph", &Private::groupGraph },
4935  { "hasDetails", &Private::hasDetails },
4936  { "modules", &Private::modules },
4937  { "dirs", &Private::dirs },
4938  { "files", &Private::files },
4939  { "namespaces", &Private::namespaces },
4940  { "classes", &Private::classes },
4941  { "constantgroups", &Private::constantgroups },
4942  { "examples", &Private::examples },
4943  { "macros", &Private::macros },
4944  { "typedefs", &Private::typedefs },
4945  { "enums", &Private::enums },
4946  { "enumvalues", &Private::enumValues },
4947  { "functions", &Private::functions },
4948  { "variables", &Private::variables },
4949  { "signals", &Private::signals },
4950  { "publicSlots", &Private::publicSlots },
4951  { "protectedSlots", &Private::protectedSlots },
4952  { "privateSlots", &Private::privateSlots },
4953  { "events", &Private::events },
4954  { "properties", &Private::properties },
4955  { "friends", &Private::friends },
4956  { "memberGroups", &Private::memberGroups },
4957  { "detailedMacros", &Private::detailedMacros },
4958  { "detailedTypedefs", &Private::detailedTypedefs },
4959  { "detailedEnums", &Private::detailedEnums },
4960  { "detailedEnumValues", &Private::detailedEnumValues },
4961  { "detailedFunctions", &Private::detailedFunctions },
4962  { "detailedVariables", &Private::detailedVariables },
4963  { "detailedSignals", &Private::detailedSignals },
4964  { "detailedPublicSlots", &Private::detailedPublicSlots },
4965  { "detailedProtectedSlots", &Private::detailedProtectedSlots },
4966  { "detailedPrivateSlots", &Private::detailedPrivateSlots },
4967  { "detailedEvents", &Private::detailedEvents },
4968  { "detailedProperties", &Private::detailedProperties },
4969  { "detailedFriends", &Private::detailedFriends },
4970  { "inlineClasses", &Private::inlineClasses },
4971  { "compoundType", &Private::compoundType }
4972 };
4973 //%% }
4974 
4975 ModuleContext::ModuleContext(const GroupDef *gd) : p(std::make_unique<Private>(gd))
4976 {
4977 }
4978 
4980 {
4981 }
4982 
4984 {
4985  return p->get(n);
4986 }
4987 
4989 {
4990  return p->fields();
4991 }
4992 
4993 //------------------------------------------------------------------------
4994 
4995 //%% list ClassList[Class] : list of classes
4997 {
4998  public:
4999  void addClasses(const ClassLinkedMap &classLinkedMap)
5000  {
5001  for (const auto &cd : classLinkedMap)
5002  {
5003  if (cd->getLanguage()==SrcLangExt_VHDL &&
5004  ((VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::PACKAGECLASS ||
5006  ) // no architecture
5007  {
5008  continue;
5009  }
5010  if (cd->isLinkableInProject() && cd->templateMaster()==0 &&
5011  !cd->isHidden() && !cd->isEmbeddedInOuterScope())
5012  {
5013  append(ClassContext::alloc(cd.get()));
5014  }
5015  }
5016  }
5017 };
5018 
5020 {
5021  p->addClasses(*Doxygen::classLinkedMap);
5022  p->addClasses(*Doxygen::hiddenClassLinkedMap);
5023 }
5024 
5026 {
5027 }
5028 
5029 // TemplateListIntf
5031 {
5032  return p->count();
5033 }
5034 
5036 {
5037  return p->at(index);
5038 }
5039 
5041 {
5042  return p->createIterator();
5043 }
5044 
5045 //------------------------------------------------------------------------
5046 
5048 {
5049  public:
5050  // TemplateStructIntf methods
5051  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
5052  StringVector fields() const { return s_inst.fields(); }
5053 
5054  private:
5055  // Property getters
5056  TemplateVariant list() const { return m_classes.get(this); }
5057  TemplateVariant fileName() const { return "classes"; }
5058  TemplateVariant relPath() const { return ""; }
5059  TemplateVariant highlight() const { return "classes"; }
5060  TemplateVariant subhighlight() const { return "classindex"; }
5062  {
5063  return Config_getBool(OPTIMIZE_FOR_FORTRAN) ? theTranslator->trDataTypes() :
5064  Config_getBool(OPTIMIZE_OUTPUT_VHDL) ? theTranslator->trDesignUnits() :
5066  }
5067  private:
5069  {
5071  list.reserve(Doxygen::classLinkedMap->size());
5073  {
5074  for (const auto &cd : *Doxygen::classLinkedMap)
5075  {
5076  if (cd->getLanguage()==SrcLangExt_VHDL &&
5077  ((VhdlDocGen::VhdlClasses)cd->protection()==VhdlDocGen::PACKAGECLASS ||
5079  ) // no architecture
5080  {
5081  continue;
5082  }
5083  if (cd->isLinkableInProject() && cd->templateMaster()==0)
5084  {
5085  list.push_back(ClassContext::alloc(cd.get()));
5086  }
5087  }
5088  }
5090  }
5091 
5094 };
5095 
5096 //%% struct ClassIndex
5097 //%% {
5099  { "list", &Private::list },
5100  { "fileName", &Private::fileName },
5101  { "relPath", &Private::relPath },
5102  { "highlight", &Private::highlight },
5103  { "subhighlight",&Private::subhighlight },
5104  { "title", &Private::title }
5105 };
5106 //%% }
5107 
5109 {
5110 }
5111 
5113 {
5114 }
5115 
5116 // TemplateStructIntf
5118 {
5119  return p->get(n);
5120 }
5121 
5123 {
5124  return p->fields();
5125 }
5126 
5127 //------------------------------------------------------------------------
5128 
5129 static int computeMaxDepth(const TemplateListIntfPtr list)
5130 {
5131  int maxDepth=0;
5132  if (list)
5133  {
5134  TemplateListIntf::ConstIteratorPtr it = list->createIterator();
5135  TemplateVariant v;
5136  for (it->toFirst();it->current(v);it->toNext())
5137  {
5138  const TemplateStructIntfPtr s = v.toStruct();
5139  TemplateVariant child = s->get("children");
5140  int d = computeMaxDepth(child.toList())+1;
5141  if (d>maxDepth) maxDepth=d;
5142  }
5143  }
5144  return maxDepth;
5145 }
5146 
5147 static int computeNumNodesAtLevel(const TemplateStructIntfPtr s,int level,int maxLevel)
5148 {
5149  int num=0;
5150  if (level<maxLevel)
5151  {
5152  num++;
5153  TemplateVariant child = s->get("children");
5154  if (child.toList())
5155  {
5156  TemplateListIntf::ConstIteratorPtr it = child.toList()->createIterator();
5157  TemplateVariant v;
5158  for (it->toFirst();it->current(v);it->toNext())
5159  {
5160  num+=computeNumNodesAtLevel(v.toStruct(),level+1,maxLevel);
5161  }
5162  }
5163  }
5164  return num;
5165 }
5166 
5167 static int computePreferredDepth(const TemplateListIntfPtr list,int maxDepth)
5168 {
5169  int preferredNumEntries = Config_getInt(HTML_INDEX_NUM_ENTRIES);
5170  int preferredDepth=1;
5171  if (preferredNumEntries>0)
5172  {
5173  int depth = maxDepth;
5174  for (int i=1;i<=depth;i++)
5175  {
5176  int num=0;
5177  TemplateListIntf::ConstIteratorPtr it = list->createIterator();
5178  TemplateVariant v;
5179  for (it->toFirst();it->current(v);it->toNext())
5180  {
5181  num+=computeNumNodesAtLevel(v.toStruct(),0,i);
5182  }
5183  if (num<=preferredNumEntries)
5184  {
5185  preferredDepth=i;
5186  }
5187  else
5188  {
5189  break;
5190  }
5191  }
5192  }
5193  return preferredDepth;
5194 }
5195 
5196 //------------------------------------------------------------------------
5197 
5199 {
5200  public:
5202  {
5204  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_classTree);
5205  ClassDefSet visitedClasses;
5206  ctx->addClassHierarchy(*Doxygen::classLinkedMap,visitedClasses);
5207  ctx->addClassHierarchy(*Doxygen::hiddenClassLinkedMap,visitedClasses);
5208  }
5209 
5210  // TemplateStructIntf methods
5211  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
5212  StringVector fields() const { return s_inst.fields(); }
5213 
5214  private:
5215  // Property getters
5217  TemplateVariant fileName() const { return "hierarchy"; }
5218  TemplateVariant relPath() const { return ""; }
5219  TemplateVariant highlight() const { return "classes"; }
5220  TemplateVariant subhighlight() const { return "classhierarchy"; }
5221  TemplateVariant diagrams() const { return m_diagrams.get(this); }
5222  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
5223  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
5225  {
5226  return Config_getBool(OPTIMIZE_OUTPUT_VHDL) ? theTranslator->trDesignUnitHierarchy() :
5228  }
5229  private:
5230  int createMaxDepth() const
5231  {
5232  return computeMaxDepth(m_classTree);
5233  }
5235  {
5236  return computePreferredDepth(m_classTree,m_maxDepth.get(this));
5237  }
5239  {
5241  DotGfxHierarchyTablePtr hierarchy = std::make_shared<DotGfxHierarchyTable>();
5242  diagrams.reserve(hierarchy->subGraphs().size());
5243  int id=0;
5244  for (auto n : hierarchy->subGraphs())
5245  {
5246  diagrams.push_back(InheritanceGraphContext::alloc(hierarchy,n,id++));
5247  }
5249  }
5250 
5256 };
5257 
5258 //%% struct ClassHierarchy: inheritance tree
5259 //%% {
5261  { "tree", &Private::tree },
5262  { "fileName", &Private::fileName },
5263  { "relPath", &Private::relPath },
5264  { "highlight", &Private::highlight },
5265  { "subhighlight", &Private::subhighlight },
5266  { "diagrams", &Private::diagrams },
5267  { "maxDepth", &Private::maxDepth },
5268  { "preferredDepth", &Private::preferredDepth },
5269  { "title", &Private::title },
5270 };
5271 //%% }
5272 
5274 {
5275 }
5276 
5278 {
5279 }
5280 
5282 {
5283  return p->get(name);
5284 }
5285 
5287 {
5288  return p->fields();
5289 }
5290 
5291 //------------------------------------------------------------------------
5292 
5294 {
5295  public:
5296  Private(const NestingNodeContext *parent,const NestingNodeContext *thisNode,
5297  ContextTreeType type,
5298  const Definition *d,int index,int level,
5299  bool addCls,bool addCps,bool inherit, bool hideSuper,
5300  ClassDefSet &visitedClasses)
5301  : m_parent(parent), m_type(type), m_def(d), m_level(level), m_index(index)
5302  {
5303  m_children = std::dynamic_pointer_cast<NestingContext>(NestingContext::alloc(thisNode,m_type,level+1));
5304  m_members = std::dynamic_pointer_cast<NestingContext>(NestingContext::alloc(thisNode,m_type,level+1));
5305  addNamespaces(addCls,addCps,visitedClasses);
5306  addClasses(inherit,hideSuper,visitedClasses);
5307  addDirFiles(visitedClasses);
5308  addPages(visitedClasses);
5309  addModules(visitedClasses);
5310  addMembers(visitedClasses);
5311  }
5312 
5313  // TemplateStructIntf methods
5314  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
5315  StringVector fields() const { return s_inst.fields(); }
5316 
5318  {
5319  QCString result;
5320  if (m_parent) result=m_parent->id();
5321  result+=QCString().setNum(m_index)+"_";
5322  return result;
5323  }
5324 
5325  private:
5326  // Property getters
5327  TemplateVariant isLeafNode() const { return m_children->count()==0; }
5328  TemplateVariant children() const { return std::static_pointer_cast<TemplateListIntf>(m_children); }
5329  TemplateVariant members() const { return std::static_pointer_cast<TemplateListIntf>(m_members); }
5330  TemplateVariant getClass() const { return m_class.get(this); }
5331  TemplateVariant getNamespace() const { return m_namespace.get(this); }
5332  TemplateVariant getDir() const { return m_dir.get(this); }
5333  TemplateVariant getFile() const { return m_file.get(this); }
5334  TemplateVariant getPage() const { return m_page.get(this); }
5335  TemplateVariant getModule() const { return m_module.get(this); }
5336  TemplateVariant getMember() const { return m_member.get(this); }
5337  TemplateVariant level() const { return m_level; }
5338  TemplateVariant brief() const { return m_brief.get(this); }
5340  TemplateVariant anchor() const { return m_def->anchor(); }
5345  {
5347  {
5348  return toMemberDef(m_def)->qualifiedName();
5349  }
5350  else
5351  {
5353  }
5354  }
5356  {
5358  !m_def->partOfGroups().empty();
5359  }
5361  {
5362  static bool createSubdirs = Config_getBool(CREATE_SUBDIRS);
5363  return createSubdirs ? QCString("../../") : QCString("");
5364  }
5365 
5366  //------------------------------------------------------------------
5367 
5368  void addClasses(bool inherit, bool hideSuper,ClassDefSet &visitedClasses)
5369  {
5370  const ClassDef *cd = toClassDef(m_def);
5371  if (cd)
5372  {
5373  if (inherit)
5374  {
5375  bool hasChildren = visitedClasses.find(cd)==visitedClasses.end() &&
5376  !hideSuper && classHasVisibleChildren(cd);
5377  if (hasChildren)
5378  {
5379  visitedClasses.insert(cd);
5380  if (cd->getLanguage()==SrcLangExt_VHDL)
5381  {
5382  m_children->addDerivedClasses(cd->baseClasses(),false,visitedClasses);
5383  }
5384  else
5385  {
5386  m_children->addDerivedClasses(cd->subClasses(),false,visitedClasses);
5387  }
5388  }
5389  }
5390  else
5391  {
5392  m_children->addClasses(cd->getClasses(),FALSE,visitedClasses);
5393  }
5394  }
5395  const GroupDef *gd = toGroupDef(m_def);
5396  if (gd)
5397  {
5398  m_children->addClasses(gd->getClasses(),FALSE,visitedClasses);
5399  }
5400  }
5401  void addConcepts(ClassDefSet &visitedClasses)
5402  {
5403  const GroupDef *gd = toGroupDef(m_def);
5404  if (gd)
5405  {
5406  m_children->addConcepts(gd->getConcepts(),FALSE,visitedClasses);
5407  }
5408  }
5409  void addNamespaces(bool addClasses,bool addConcepts,ClassDefSet &visitedClasses)
5410  {
5411  const NamespaceDef *nd = toNamespaceDef(m_def);
5412  if (nd)
5413  {
5414  if (!nd->getNamespaces().empty())
5415  {
5416  m_children->addNamespaces(nd->getNamespaces(),FALSE,addClasses,addConcepts,visitedClasses);
5417  }
5418  if (addClasses)
5419  {
5420  m_children->addClasses(nd->getClasses(),FALSE,visitedClasses);
5421  }
5422  if (addConcepts)
5423  {
5424  m_children->addConcepts(nd->getConcepts(),FALSE,visitedClasses);
5425  }
5426  }
5427  const GroupDef *gd = toGroupDef(m_def);
5428  if (gd)
5429  {
5430  m_children->addConcepts(gd->getConcepts(),false,visitedClasses);
5431  }
5432  }
5433  void addDirFiles(ClassDefSet &visitedClasses)
5434  {
5435  const DirDef *dd = toDirDef(m_def);
5436  if (dd)
5437  {
5438  m_children->addDirs(dd->subDirs(),visitedClasses);
5439  m_children->addFiles(dd->getFiles(),visitedClasses);
5440  }
5441  const GroupDef *gd = toGroupDef(m_def);
5442  if (gd)
5443  {
5444  m_children->addDirs(gd->getDirs(),visitedClasses);
5445  }
5446  }
5447  void addPages(ClassDefSet &visitedClasses)
5448  {
5449  const PageDef *pd = toPageDef(m_def);
5450  if (pd && !pd->getSubPages().empty())
5451  {
5452  m_children->addPages(pd->getSubPages(),FALSE,visitedClasses);
5453  }
5454  const GroupDef *gd = toGroupDef(m_def);
5455  if (gd)
5456  {
5457  m_children->addPages(gd->getPages(),FALSE,visitedClasses);
5458  }
5459  }
5460  void addModules(ClassDefSet &visitedClasses)
5461  {
5462  const GroupDef *gd = toGroupDef(m_def);
5463  if (gd && !gd->getSubGroups().empty())
5464  {
5465  m_children->addModules(gd->getSubGroups(),visitedClasses);
5466  }
5467  }
5468  void addMembers(ClassDefSet &visitedClasses)
5469  {
5470  if (m_type!=ContextTreeType::Module && m_def->partOfGroups().empty()) // show outside of group
5471  {
5473  {
5474  // add namespace members
5475  for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Namespace))
5476  {
5477  if (lde->kind()==LayoutDocEntry::MemberDef)
5478  {
5479  const LayoutDocEntryMemberDef *lmd = (const LayoutDocEntryMemberDef*)lde.get();
5480  const MemberList *ml = toNamespaceDef(m_def)->getMemberList(lmd->type);
5481  if (ml)
5482  {
5483  m_members->addMembers(*ml,visitedClasses);
5484  }
5485  }
5486  }
5487  }
5489  {
5490  // add class members
5491  for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Class))
5492  {
5493  if (lde->kind()==LayoutDocEntry::MemberDef)
5494  {
5495  const LayoutDocEntryMemberDef *lmd = (const LayoutDocEntryMemberDef*)lde.get();
5496  const MemberList *ml = toClassDef(m_def)->getMemberList(lmd->type);
5497  if (ml)
5498  {
5499  m_members->addMembers(*ml,visitedClasses);
5500  }
5501  }
5502  }
5503  }
5505  {
5506  // add class members
5507  for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::File))
5508  {
5509  if (lde->kind()==LayoutDocEntry::MemberDef)
5510  {
5511  const LayoutDocEntryMemberDef *lmd = (const LayoutDocEntryMemberDef*)lde.get();
5512  const MemberList *ml = toFileDef(m_def)->getMemberList(lmd->type);
5513  if (ml)
5514  {
5515  m_members->addMembers(*ml,visitedClasses);
5516  }
5517  }
5518  }
5519  }
5520  }
5521  else if (m_def->definitionType()==Definition::TypeGroup && m_type==ContextTreeType::Module) // show as part of group
5522  {
5523  // add class members
5524  for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Group))
5525  {
5526  if (lde->kind()==LayoutDocEntry::MemberDef)
5527  {
5528  const LayoutDocEntryMemberDef *lmd = (const LayoutDocEntryMemberDef*)lde.get();
5529  const MemberList *ml = toGroupDef(m_def)->getMemberList(lmd->type);
5530  if (ml)
5531  {
5532  m_members->addMembers(*ml,visitedClasses);
5533  }
5534  }
5535  }
5536  }
5538  {
5539  const MemberDef *md = toMemberDef(m_def);
5540  if (md->isEnumerate() && md->isStrong())
5541  {
5542  m_members->addMembers(md->enumFieldList(),visitedClasses);
5543  }
5544  }
5545  }
5546  private:
5548  {
5551  TemplateVariant(false);
5552  }
5554  {
5557  TemplateVariant(false);
5558  }
5560  {
5563  TemplateVariant(false);
5564  }
5566  {
5569  TemplateVariant(false);
5570  }
5572  {
5575  TemplateVariant(false);
5576  }
5578  {
5581  TemplateVariant(false);
5582  }
5584  {
5587  TemplateVariant(false);
5588  }
5590  {
5591  return m_def->hasBriefDescription() ?
5593  "",m_def->briefDescription(),TRUE)) :
5594  TemplateVariant("");
5595  }
5596 
5600  std::shared_ptr<NestingContext> m_children;
5601  std::shared_ptr<NestingContext> m_members;
5602  int m_level;
5603  int m_index;
5613 };
5614 
5615 //%% struct NestingNode: node is a nesting relation tree
5616 //%% {
5618  //%% bool is_leaf_node: true if this node does not have any children
5619  { "is_leaf_node",&Private::isLeafNode },
5620  //%% Nesting children: list of nested classes/namespaces
5621  { "children",&Private::children },
5622  //%% Nesting children: list of nested classes/namespaces
5623  { "members",&Private::members },
5624  //%% [optional] Class class: class info (if this node represents a class)
5625  { "class",&Private::getClass },
5626  //%% [optional] Namespace namespace: namespace info (if this node represents a namespace)
5627  { "namespace",&Private::getNamespace },
5628  //%% [optional] File file: file info (if this node represents a file)
5629  { "file",&Private::getFile },
5630  //%% [optional] Dir dir: directory info (if this node represents a directory)
5631  { "dir",&Private::getDir },
5632  //%% [optional] Page page: page info (if this node represents a page)
5633  { "page",&Private::getPage },
5634  //%% [optional] Module module: module info (if this node represents a module)
5635  { "module",&Private::getModule },
5636  //%% [optional] Member member: member info (if this node represents a member)
5637  { "member",&Private::getMember },
5638  //%% int id
5639  { "id",&Private::id },
5640  //%% string level
5641  { "level",&Private::level },
5642  //%% string name
5643  { "name",&Private::name },
5644  //%% string brief
5645  { "brief",&Private::brief },
5646  //%% bool isLinkable
5647  { "isLinkable",&Private::isLinkable },
5648  { "partOfGroup",&Private::partOfGroup },
5649  { "anchor",&Private::anchor },
5650  { "fileName",&Private::fileName },
5651  { "isReference",&Private::isReference },
5652  { "externalReference",&Private::externalReference }
5653 };
5654 //%% }
5655 
5656 
5658  ContextTreeType type,
5659  const Definition *d,int index,int level,
5660  bool addClass,bool addConcepts,
5661  bool inherit,bool hideSuper,
5662  ClassDefSet &visitedClasses)
5663  : p(std::make_unique<Private>(parent,this,type,d,index,level,addClass,addConcepts,inherit,hideSuper,visitedClasses))
5664 {
5665 }
5666 
5668 {
5669 }
5670 
5672 {
5673  return p->get(n);
5674 }
5675 
5677 {
5678  return p->fields();
5679 }
5680 
5682 {
5683  return p->id().toString();
5684 }
5685 
5686 //------------------------------------------------------------------------
5687 
5688 //%% list Nesting[NestingNode]: namespace and class nesting relations
5690 {
5691  public:
5692  Private(const NestingNodeContext *parent,ContextTreeType type,int level)
5693  : m_parent(parent), m_type(type), m_level(level) {}
5694 
5695  void addNamespace(const NamespaceDef *nd,bool rootOnly,bool addClasses,bool addConcepts,
5696  ClassDefSet &visitedClasses)
5697  {
5698  if (!nd->isAnonymous() &&
5699  (!rootOnly || nd->getOuterScope()==Doxygen::globalScope))
5700  {
5701  bool hasChildren = namespaceHasNestedNamespace(nd) ||
5705  bool isLinkable = nd->isLinkableInProject();
5706  if (isLinkable && hasChildren)
5707  {
5709  addClasses,addConcepts,FALSE,FALSE,visitedClasses));
5710  m_index++;
5711  }
5712  }
5713  }
5714  void addNamespaces(const NamespaceLinkedMap &nsLinkedMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses)
5715  {
5716  for (const auto &nd : nsLinkedMap)
5717  {
5718  addNamespace(nd.get(),rootOnly,addClasses,addConcepts,visitedClasses);
5719  }
5720  }
5721  void addNamespaces(const NamespaceLinkedRefMap &nsLinkedMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses)
5722  {
5723  for (const auto &nd : nsLinkedMap)
5724  {
5725  addNamespace(nd,rootOnly,addClasses,addConcepts,visitedClasses);
5726  }
5727  }
5728  void addClass(const ClassDef *cd,bool rootOnly,ClassDefSet &visitedClasses)
5729  {
5730  if (cd->getLanguage()==SrcLangExt_VHDL)
5731  {
5734  )// no architecture
5735  {
5736  return;
5737  }
5738  }
5739  if (!rootOnly ||
5740  cd->getOuterScope()==0 ||
5742  )
5743  {
5744  if (classVisibleInIndex(cd) && cd->templateMaster()==0)
5745  {
5747  TRUE,FALSE,FALSE,FALSE,visitedClasses));
5748  m_index++;
5749  }
5750  }
5751  }
5752  void addConcept(const ConceptDef *cd,bool rootOnly,ClassDefSet &visitedClasses)
5753  {
5754  if (!rootOnly || cd->getOuterScope()==0 || cd->getOuterScope()==Doxygen::globalScope)
5755  {
5756  if (cd->isLinkable())
5757  {
5759  FALSE,TRUE,FALSE,FALSE,visitedClasses));
5760  m_index++;
5761  }
5762  }
5763  }
5764  void addClasses(const ClassLinkedRefMap &clLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
5765  {
5766  for (const auto &cd : clLinkedMap)
5767  {
5768  addClass(cd,rootOnly,visitedClasses);
5769  }
5770  }
5771  void addClasses(const ClassLinkedMap &clLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
5772  {
5773  for (const auto &cd : clLinkedMap)
5774  {
5775  addClass(cd.get(),rootOnly,visitedClasses);
5776  }
5777  }
5778  void addConcepts(const ConceptLinkedRefMap &cpLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
5779  {
5780  for (const auto &cd : cpLinkedMap)
5781  {
5782  addConcept(cd,rootOnly,visitedClasses);
5783  }
5784  }
5785  void addConcepts(const ConceptLinkedMap &cpLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
5786  {
5787  for (const auto &cd : cpLinkedMap)
5788  {
5789  addConcept(cd.get(),rootOnly,visitedClasses);
5790  }
5791  }
5792  void addDirs(const DirLinkedMap &dirLinkedMap,ClassDefSet &visitedClasses)
5793  {
5794  for (const auto &dd : dirLinkedMap)
5795  {
5796  if (dd->getOuterScope()==Doxygen::globalScope)
5797  {
5799  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5800  m_index++;
5801  }
5802  }
5803  }
5804  void addDirs(const DirList &dirList,ClassDefSet &visitedClasses)
5805  {
5806  for(const auto dd : dirList)
5807  {
5809  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5810  m_index++;
5811  }
5812  }
5813  void addFiles(const FileNameLinkedMap &fnList,ClassDefSet &visitedClasses)
5814  {
5815  for (const FileNameLinkedMap::Ptr &fn : fnList)
5816  {
5817  for (const auto &fd : *fn)
5818  {
5819  if (fd->getDirDef()==0) // top level file
5820  {
5822  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5823  m_index++;
5824  }
5825  }
5826  }
5827  }
5828  void addFiles(const FileList &fList,ClassDefSet &visitedClasses)
5829  {
5830  for (const auto &fd : fList)
5831  {
5833  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5834  m_index++;
5835  }
5836  }
5837  void addPage(const PageDef *pd,bool rootOnly,ClassDefSet &visitedClasses)
5838  {
5839  if (!rootOnly ||
5840  pd->getOuterScope()==0 ||
5842  {
5844  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5845  m_index++;
5846  }
5847  }
5848  void addPages(const PageLinkedMap &pages,bool rootOnly,ClassDefSet &visitedClasses)
5849  {
5850  for (const auto &pd : pages)
5851  {
5852  addPage(pd.get(),rootOnly,visitedClasses);
5853  }
5854  }
5855  void addPages(const PageLinkedRefMap &pages,bool rootOnly,ClassDefSet &visitedClasses)
5856  {
5857  for (const auto &pd : pages)
5858  {
5859  addPage(pd,rootOnly,visitedClasses);
5860  }
5861  }
5862  void addModules(const GroupLinkedMap &groups,ClassDefSet &visitedClasses)
5863  {
5864  for (const auto &gd : groups)
5865  {
5866  bool externalGroups = Config_getBool(EXTERNAL_GROUPS);
5867  if (!gd->isASubGroup() && gd->isVisible() &&
5868  (!gd->isReference() || externalGroups)
5869  )
5870  {
5872  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5873  m_index++;
5874  }
5875  }
5876  }
5877  void addModules(const GroupList &groups,ClassDefSet &visitedClasses)
5878  {
5879  for (const auto &gd : groups)
5880  {
5881  if (gd->isVisible())
5882  {
5884  FALSE,FALSE,FALSE,FALSE,visitedClasses));
5885  m_index++;
5886  }
5887  }
5888  }
5889  void addDerivedClasses(const BaseClassList &bcl,bool hideSuper,ClassDefSet &visitedClasses)
5890  {
5891  for (const auto &bcd : bcl)
5892  {
5893  const ClassDef *cd=bcd.classDef;
5895  {
5896  continue;
5897  }
5898 
5899  bool b;
5900  if (cd->getLanguage()==SrcLangExt_VHDL)
5901  {
5902  b=hasVisibleRoot(cd->subClasses());
5903  }
5904  else
5905  {
5906  b=hasVisibleRoot(cd->baseClasses());
5907  }
5908 
5909  if (cd->isVisibleInHierarchy() && b)
5910  {
5912  TRUE,FALSE,TRUE,hideSuper,visitedClasses));
5913  m_index++;
5914  }
5915  }
5916  }
5917  void addClassHierarchy(const ClassLinkedMap &classLinkedMap,ClassDefSet &visitedClasses)
5918  {
5919  for (const auto &cd : classLinkedMap)
5920  {
5921  bool b;
5922  if (cd->getLanguage()==SrcLangExt_VHDL)
5923  {
5924  if ((VhdlDocGen::VhdlClasses)cd->protection()!=VhdlDocGen::ENTITYCLASS)
5925  {
5926  continue;
5927  }
5928  b=!hasVisibleRoot(cd->subClasses());
5929  }
5930  else
5931  {
5932  b=!hasVisibleRoot(cd->baseClasses());
5933  }
5934  if (b)
5935  {
5936  if (cd->isVisibleInHierarchy()) // should it be visible
5937  {
5938  // new root level class
5940  TRUE,FALSE,TRUE,FALSE,visitedClasses));
5941  m_index++;
5942  }
5943  }
5944  }
5945  }
5946  void addMembers(const MemberVector &mv,ClassDefSet &visitedClasses)
5947  {
5948  for (const auto &md : mv)
5949  {
5950  if (md->visibleInIndex())
5951  {
5953  TRUE,FALSE,TRUE,FALSE,visitedClasses));
5954  m_index++;
5955  }
5956  }
5957  }
5958 
5959  private:
5962  int m_level;
5963  int m_index = 0;
5964 };
5965 
5966 NestingContext::NestingContext(const NestingNodeContext *parent,ContextTreeType type,int level) : p(std::make_unique<Private>(parent,type,level))
5967 {
5968 }
5969 
5971 {
5972 }
5973 
5974 // TemplateListIntf
5976 {
5977  return p->count();
5978 }
5979 
5981 {
5982  return p->at(index);
5983 }
5984 
5986 {
5987  return p->createIterator();
5988 }
5989 
5990 void NestingContext::addClasses(const ClassLinkedRefMap &clLinkedRefMap,bool rootOnly,ClassDefSet &visitedClasses)
5991 {
5992  p->addClasses(clLinkedRefMap,rootOnly,visitedClasses);
5993 }
5994 
5995 void NestingContext::addClasses(const ClassLinkedMap &clLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
5996 {
5997  p->addClasses(clLinkedMap,rootOnly,visitedClasses);
5998 }
5999 
6000 void NestingContext::addConcepts(const ConceptLinkedRefMap &cpLinkedRefMap,bool rootOnly,ClassDefSet &visitedClasses)
6001 {
6002  p->addConcepts(cpLinkedRefMap,rootOnly,visitedClasses);
6003 }
6004 
6005 void NestingContext::addConcepts(const ConceptLinkedMap &cpLinkedMap,bool rootOnly,ClassDefSet &visitedClasses)
6006 {
6007  p->addConcepts(cpLinkedMap,rootOnly,visitedClasses);
6008 }
6009 
6010 void NestingContext::addNamespaces(const NamespaceLinkedMap &nsLinkedMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses)
6011 {
6012  p->addNamespaces(nsLinkedMap,rootOnly,addClasses,addConcepts,visitedClasses);
6013 }
6014 
6015 void NestingContext::addNamespaces(const NamespaceLinkedRefMap &nsLinkedRefMap,bool rootOnly,bool addClasses,bool addConcepts,ClassDefSet &visitedClasses)
6016 {
6017  p->addNamespaces(nsLinkedRefMap,rootOnly,addClasses,addConcepts,visitedClasses);
6018 }
6019 
6020 void NestingContext::addDirs(const DirLinkedMap &dirs,ClassDefSet &visitedClasses)
6021 {
6022  p->addDirs(dirs,visitedClasses);
6023 }
6024 
6025 void NestingContext::addDirs(const DirList &dirs,ClassDefSet &visitedClasses)
6026 {
6027  p->addDirs(dirs,visitedClasses);
6028 }
6029 
6030 void NestingContext::addFiles(const FileNameLinkedMap &files,ClassDefSet &visitedClasses)
6031 {
6032  p->addFiles(files,visitedClasses);
6033 }
6034 
6035 void NestingContext::addFiles(const FileList &files,ClassDefSet &visitedClasses)
6036 {
6037  p->addFiles(files,visitedClasses);
6038 }
6039 
6040 void NestingContext::addPages(const PageLinkedMap &pages,bool rootOnly,ClassDefSet &visitedClasses)
6041 {
6042  p->addPages(pages,rootOnly,visitedClasses);
6043 }
6044 
6045 void NestingContext::addPages(const PageLinkedRefMap &pages,bool rootOnly,ClassDefSet &visitedClasses)
6046 {
6047  p->addPages(pages,rootOnly,visitedClasses);
6048 }
6049 
6050 void NestingContext::addModules(const GroupLinkedMap &modules,ClassDefSet &visitedClasses)
6051 {
6052  p->addModules(modules,visitedClasses);
6053 }
6054 
6055 void NestingContext::addModules(const GroupList &modules,ClassDefSet &visitedClasses)
6056 {
6057  p->addModules(modules,visitedClasses);
6058 }
6059 
6060 void NestingContext::addClassHierarchy(const ClassLinkedMap &classLinkedMap,ClassDefSet &visitedClasses)
6061 {
6062  p->addClassHierarchy(classLinkedMap,visitedClasses);
6063 }
6064 
6065 void NestingContext::addDerivedClasses(const BaseClassList &bcl,bool hideSuper,ClassDefSet &visitedClasses)
6066 {
6067  p->addDerivedClasses(bcl,hideSuper,visitedClasses);
6068 }
6069 
6070 void NestingContext::addMembers(const MemberVector &mv,ClassDefSet &visitedClasses)
6071 {
6072  p->addMembers(mv,visitedClasses);
6073 }
6074 
6075 
6076 //------------------------------------------------------------------------
6077 
6079 {
6080  public:
6082  {
6084  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_classTree);
6085  ClassDefSet visitedClasses;
6086  ctx->addNamespaces(*Doxygen::namespaceLinkedMap,TRUE,TRUE,FALSE,visitedClasses);
6087  ctx->addClasses(*Doxygen::classLinkedMap,TRUE,visitedClasses);
6088  }
6089 
6090  // TemplateStructIntf methods
6091  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6092  StringVector fields() const { return s_inst.fields(); }
6093 
6094  private:
6095  // Property getters
6097  TemplateVariant fileName() const { return "annotated"; }
6098  TemplateVariant relPath() const { return ""; }
6099  TemplateVariant highlight() const { return "classes"; }
6100  TemplateVariant subhighlight() const { return "classlist"; }
6101  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6102  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6104  {
6105  return Config_getBool(OPTIMIZE_FOR_FORTRAN) ? theTranslator->trCompoundListFortran() :
6106  Config_getBool(OPTIMIZE_OUTPUT_VHDL) ? theTranslator->trDesignUnitList() :
6108  }
6109  private:
6110  int createMaxDepth() const
6111  {
6112  return computeMaxDepth(m_classTree);
6113  }
6115  {
6116  return computePreferredDepth(m_classTree,m_maxDepth.get(this));
6117  }
6122 };
6123 
6124 //%% struct ClassTree: Class nesting relations
6125 //%% {
6127  { "tree", &Private::tree },
6128  { "fileName", &Private::fileName },
6129  { "relPath", &Private::relPath },
6130  { "highlight", &Private::highlight },
6131  { "subhighlight", &Private::subhighlight },
6132  { "title", &Private::title },
6133  { "preferredDepth",&Private::preferredDepth },
6134  { "maxDepth", &Private::maxDepth }
6135 };
6136 //%% }
6137 
6138 
6140 {
6141 }
6142 
6144 {
6145 }
6146 
6148 {
6149  return p->get(name);
6150 }
6151 
6153 {
6154  return p->fields();
6155 }
6156 
6157 //------------------------------------------------------------------------
6158 
6159 //%% list ConceptList[Concept] : list of namespaces
6161 {
6162  public:
6163  void addConcepts(const ConceptLinkedMap &nsLinkedMap)
6164  {
6165  for (const auto &cd : nsLinkedMap)
6166  {
6167  if (cd->isLinkableInProject())
6168  {
6169  append(ConceptContext::alloc(cd.get()));
6170  }
6171  }
6172  }
6173 };
6174 
6176 {
6177  p->addConcepts(*Doxygen::conceptLinkedMap);
6178 }
6179 
6181 {
6182 }
6183 
6184 // TemplateListIntf
6186 {
6187  return p->count();
6188 }
6189 
6191 {
6192  return p->at(index);
6193 }
6194 
6196 {
6197  return p->createIterator();
6198 }
6199 
6200 //------------------------------------------------------------------------
6201 
6202 //%% list NamespaceList[Namespace] : list of namespaces
6204 {
6205  public:
6206  void addNamespaces(const NamespaceLinkedMap &nsLinkedMap)
6207  {
6208  for (const auto &nd : nsLinkedMap)
6209  {
6210  if (nd->isLinkableInProject())
6211  {
6212  append(NamespaceContext::alloc(nd.get()));
6213  }
6214  }
6215  }
6216 };
6217 
6219 {
6220  p->addNamespaces(*Doxygen::namespaceLinkedMap);
6221 }
6222 
6224 {
6225 }
6226 
6227 // TemplateListIntf
6229 {
6230  return p->count();
6231 }
6232 
6234 {
6235  return p->at(index);
6236 }
6237 
6239 {
6240  return p->createIterator();
6241 }
6242 
6243 //------------------------------------------------------------------------
6244 
6246 {
6247  public:
6249  {
6251  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_namespaceTree);
6252  ClassDefSet visitedClasses;
6253  ctx->addNamespaces(*Doxygen::namespaceLinkedMap,TRUE,FALSE,TRUE,visitedClasses);
6254  }
6255 
6256  // TemplateStructIntf methods
6257  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6258  StringVector fields() const { return s_inst.fields(); }
6259 
6260  private:
6261  // Property getters
6263  TemplateVariant fileName() const { return "namespaces"; }
6264  TemplateVariant relPath() const { return ""; }
6265  TemplateVariant highlight() const { return "namespaces"; }
6266  TemplateVariant subhighlight() const { return "namespacelist"; }
6267  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6268  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6270  {
6271  return Config_getBool(OPTIMIZE_OUTPUT_JAVA) ? theTranslator->trPackages() :
6272  Config_getBool(OPTIMIZE_OUTPUT_VHDL) ? theTranslator->trPackages() :
6273  Config_getBool(OPTIMIZE_FOR_FORTRAN) ? theTranslator->trModulesList() :
6274  Config_getBool(OPTIMIZE_OUTPUT_SLICE) ? theTranslator->trModulesList() :
6276  }
6277 
6278  private:
6279  int createMaxDepth() const
6280  {
6282  }
6284  {
6286  }
6291 };
6292 
6293 //%% struct NamespaceTree: tree of nested namespace
6294 //%% {
6296  { "tree", &Private::tree },
6297  { "fileName", &Private::fileName },
6298  { "relPath", &Private::relPath },
6299  { "highlight", &Private::highlight },
6300  { "subhighlight", &Private::subhighlight },
6301  { "title", &Private::title },
6302  { "preferredDepth",&Private::preferredDepth },
6303  { "maxDepth", &Private::maxDepth }
6304 };
6305 //%% }
6306 
6308 {
6309 }
6310 
6312 {
6313 }
6314 
6316 {
6317  return p->get(name);
6318 }
6319 
6321 {
6322  return p->fields();
6323 }
6324 
6325 
6326 //------------------------------------------------------------------------
6327 
6328 //%% list FileList[File] : list of files
6330 {
6331  public:
6332  void addFiles(const FileNameLinkedMap &fnMap)
6333  {
6334  // TODO: if FULL_PATH_NAMES is enabled, the ordering should be dir+file
6335  for (const auto &fn : fnMap)
6336  {
6337  for (const auto &fd : *fn)
6338  {
6339  bool doc = fd->isLinkableInProject();
6340  bool src = fd->generateSourceFile();
6341  bool nameOk = !fd->isDocumentationFile();
6342  if (nameOk && (doc || src) && !fd->isReference())
6343  {
6344  append(FileContext::alloc(fd.get()));
6345  }
6346  }
6347  }
6348  }
6349 };
6350 
6351 FileListContext::FileListContext() : p(std::make_unique<Private>())
6352 {
6354 }
6355 
6357 {
6358 }
6359 
6360 // TemplateListIntf
6362 {
6363  return p->count();
6364 }
6365 
6367 {
6368  return p->at(index);
6369 }
6370 
6372 {
6373  return p->createIterator();
6374 }
6375 
6376 //------------------------------------------------------------------------
6377 
6378 //%% list DirList[Dir] : list of files
6380 {
6381  public:
6383  {
6384  for (const auto &dir : *Doxygen::dirLinkedMap)
6385  {
6386  append(DirContext::alloc(dir.get()));
6387  }
6388  }
6389 };
6390 
6391 DirListContext::DirListContext() : p(std::make_unique<Private>())
6392 {
6393 }
6394 
6396 {
6397 }
6398 
6399 // TemplateListIntf
6401 {
6402  return p->count();
6403 }
6404 
6406 {
6407  return p->at(index);
6408 }
6409 
6411 {
6412  return p->createIterator();
6413 }
6414 
6415 
6416 //------------------------------------------------------------------------
6417 
6418 //%% list UsedFiles[File] : list of files
6420 {
6421  public:
6422  void addFile(const FileDef *fd)
6423  {
6425  }
6426 };
6427 
6428 UsedFilesContext::UsedFilesContext(const ClassDef *cd) : p(std::make_unique<Private>())
6429 {
6430  if (cd)
6431  {
6432  for (const auto &fd : cd->usedFiles())
6433  {
6434  p->addFile(fd);
6435  }
6436  }
6437 }
6438 
6440 {
6441 }
6442 
6443 // TemplateListIntf
6445 {
6446  return p->count();
6447 }
6448 
6450 {
6451  return p->at(index);
6452 }
6453 
6455 {
6456  return p->createIterator();
6457 }
6458 
6460 {
6461  p->addFile(fd);
6462 }
6463 
6464 //------------------------------------------------------------------------
6465 
6467 {
6468  public:
6470  {
6471  // Add dirs tree
6473  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_dirFileTree);
6474  ClassDefSet visitedClasses;
6475  ctx->addDirs(*Doxygen::dirLinkedMap,visitedClasses);
6477  {
6478  ctx->addFiles(*Doxygen::inputNameLinkedMap,visitedClasses);
6479  }
6480  }
6481 
6482  // TemplateStructIntf methods
6483  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6484  StringVector fields() const { return s_inst.fields(); }
6485 
6486  private:
6487  // Property getters
6489  TemplateVariant fileName() const { return "files"; }
6490  TemplateVariant relPath() const { return ""; }
6491  TemplateVariant highlight() const { return "files"; }
6492  TemplateVariant subhighlight() const { return "filelist"; }
6493  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6494  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6496 
6497  private:
6498  int createMaxDepth() const
6499  {
6501  }
6503  {
6505  }
6510 };
6511 
6512 //%% struct FileTree: tree of directories and files
6513 //%% {
6515  { "tree", &Private::tree },
6516  { "fileName", &Private::fileName },
6517  { "relPath", &Private::relPath },
6518  { "highlight", &Private::highlight },
6519  { "subhighlight", &Private::subhighlight },
6520  { "title", &Private::title },
6521  { "preferredDepth",&Private::preferredDepth },
6522  { "maxDepth", &Private::maxDepth }
6523 };
6524 //%% }
6525 
6526 //PropertyMapper<FileTreeContext::Private> FileTreeContext::Private::s_inst;
6527 
6528 FileTreeContext::FileTreeContext() : p(std::make_unique<Private>())
6529 {
6530 }
6531 
6533 {
6534 }
6535 
6537 {
6538  return p->get(name);
6539 }
6540 
6542 {
6543  return p->fields();
6544 }
6545 
6546 //------------------------------------------------------------------------
6547 
6549 {
6550  public:
6551  Private(const PageLinkedMap &pages)
6552  {
6554  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_pageTree);
6555  ClassDefSet visitedClasses;
6556  // Add pages
6557  ctx->addPages(pages,TRUE,visitedClasses);
6558  }
6559 
6560  // TemplateStructIntf methods
6561  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6562  StringVector fields() const { return s_inst.fields(); }
6563 
6564  private:
6565  // Property getters
6567  TemplateVariant fileName() const { return "pages"; }
6568  TemplateVariant relPath() const { return ""; }
6569  TemplateVariant highlight() const { return "pages"; }
6570  TemplateVariant subhighlight() const { return ""; }
6571  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6572  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6574 
6575  private:
6576  int createMaxDepth() const
6577  {
6578  return computeMaxDepth(m_pageTree);
6579  }
6581  {
6582  return computePreferredDepth(m_pageTree,m_maxDepth.get(this));
6583  }
6588 };
6589 
6590 //%% struct PageTree: tree of related pages
6591 //%% {
6593  { "tree", &Private::tree },
6594  { "fileName", &Private::fileName },
6595  { "relPath", &Private::relPath },
6596  { "highlight", &Private::highlight },
6597  { "subhighlight", &Private::subhighlight },
6598  { "title", &Private::title },
6599  { "preferredDepth",&Private::preferredDepth },
6600  { "maxDepth", &Private::maxDepth }
6601 };
6602 //%% }
6603 
6604 
6605 PageTreeContext::PageTreeContext(const PageLinkedMap &pages) : p(std::make_unique<Private>(pages))
6606 {
6607 }
6608 
6610 {
6611 }
6612 
6614 {
6615  return p->get(name);
6616 }
6617 
6619 {
6620  return p->fields();
6621 }
6622 
6623 //------------------------------------------------------------------------
6624 
6625 //%% list PageList[Page]: list of pages
6627 {
6628  public:
6629  void addPages(const PageLinkedMap &pages)
6630  {
6631  for (const auto &pd : pages)
6632  {
6633  if (!pd->getGroupDef() && !pd->isReference())
6634  {
6635  append(PageContext::alloc(pd.get(),FALSE,FALSE));
6636  }
6637  }
6638  }
6639 };
6640 
6641 PageListContext::PageListContext(const PageLinkedMap &pages) : p(std::make_unique<Private>())
6642 {
6643  p->addPages(pages);
6644 }
6645 
6647 {
6648 }
6649 
6650 // TemplateListIntf
6652 {
6653  return p->count();
6654 }
6655 
6657 {
6658  return p->at(index);
6659 }
6660 
6662 {
6663  return p->createIterator();
6664 }
6665 
6666 //------------------------------------------------------------------------
6667 
6668 //%% list ExampleList[Page]: list of pages
6670 {
6671  public:
6673  {
6674  for (const auto &pd : *Doxygen::exampleLinkedMap)
6675  {
6676  if (!pd->getGroupDef() && !pd->isReference())
6677  {
6678  append(PageContext::alloc(pd.get(),FALSE,TRUE));
6679  }
6680  }
6681  }
6682 };
6683 
6685 {
6686 }
6687 
6689 {
6690 }
6691 
6692 // TemplateListIntf
6694 {
6695  return p->count();
6696 }
6697 
6699 {
6700  return p->at(index);
6701 }
6702 
6704 {
6705  return p->createIterator();
6706 }
6707 
6708 //------------------------------------------------------------------------
6709 
6710 //%% list ModuleList[ModuleNode]: list of directories and/or files
6712 {
6713  public:
6714  void addModules()
6715  {
6716  for (const auto &gd : *Doxygen::groupLinkedMap)
6717  {
6718  if (!gd->isReference())
6719  {
6720  append(ModuleContext::alloc(gd.get()));
6721  }
6722  }
6723  }
6724 };
6725 
6727 {
6728  p->addModules();
6729 }
6730 
6732 {
6733 }
6734 
6735 // TemplateListIntf
6737 {
6738  return p->count();
6739 }
6740 
6742 {
6743  return p->at(index);
6744 }
6745 
6747 {
6748  return p->createIterator();
6749 }
6750 
6751 //------------------------------------------------------------------------
6752 
6754 {
6755  public:
6757  {
6759  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_conceptTree);
6760  ClassDefSet visitedClasses;
6761  // Add concepts
6762  ctx->addNamespaces(*Doxygen::namespaceLinkedMap,TRUE,FALSE,TRUE,visitedClasses);
6763  ctx->addConcepts(*Doxygen::conceptLinkedMap,TRUE,visitedClasses);
6764  }
6765 
6766  // TemplateStructIntf methods
6767  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6768  StringVector fields() const { return s_inst.fields(); }
6769 
6770  private:
6771  // Property getters
6773  TemplateVariant fileName() const { return "concepts"; }
6774  TemplateVariant relPath() const { return ""; }
6775  TemplateVariant highlight() const { return "concepts"; }
6776  TemplateVariant subhighlight() const { return ""; }
6777  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6778  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6779  TemplateVariant title() const { return theTranslator->trConcept(true,false); }
6780 
6781  private:
6782  int createMaxDepth() const
6783  {
6785  }
6787  {
6789  }
6794 };
6795 
6796 //%% struct ConceptTree: tree of modules
6797 //%% {
6799  { "tree", &Private::tree },
6800  { "fileName", &Private::fileName },
6801  { "relPath", &Private::relPath },
6802  { "highlight", &Private::highlight },
6803  { "subhighlight", &Private::subhighlight },
6804  { "title", &Private::title },
6805  { "preferredDepth",&Private::preferredDepth },
6806  { "maxDepth", &Private::maxDepth }
6807 };
6808 //%% }
6809 
6810 
6812 {
6813 }
6814 
6816 {
6817 }
6818 
6820 {
6821  return p->get(name);
6822 }
6823 
6825 {
6826  return p->fields();
6827 }
6828 
6829 //------------------------------------------------------------------------
6830 
6832 {
6833  public:
6835  {
6837  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_moduleTree);
6838  ClassDefSet visitedClasses;
6839  // Add modules
6840  ctx->addModules(*Doxygen::groupLinkedMap,visitedClasses);
6841  }
6842 
6843  // TemplateStructIntf methods
6844  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6845  StringVector fields() const { return s_inst.fields(); }
6846 
6847  private:
6848  // Property getters
6850  TemplateVariant fileName() const { return "modules"; }
6851  TemplateVariant relPath() const { return ""; }
6852  TemplateVariant highlight() const { return "modules"; }
6853  TemplateVariant subhighlight() const { return ""; }
6854  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6855  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6857  private:
6858  int createMaxDepth() const
6859  {
6860  return computeMaxDepth(m_moduleTree);
6861  }
6863  {
6864  return computePreferredDepth(m_moduleTree,m_maxDepth.get(this));
6865  }
6870 };
6871 
6872 //%% struct ModuleTree: tree of modules
6873 //%% {
6875  { "tree", &Private::tree },
6876  { "fileName", &Private::fileName },
6877  { "relPath", &Private::relPath },
6878  { "highlight", &Private::highlight },
6879  { "subhighlight", &Private::subhighlight },
6880  { "title", &Private::title },
6881  { "preferredDepth",&Private::preferredDepth },
6882  { "maxDepth", &Private::maxDepth }
6883 };
6884 //%% }
6885 
6886 //PropertyMapper<ModuleTreeContext::Private> ModuleTreeContext::Private::s_inst;
6887 
6889 {
6890 }
6891 
6893 {
6894 }
6895 
6897 {
6898  return p->get(name);
6899 }
6900 
6902 {
6903  return p->fields();
6904 }
6905 
6906 //------------------------------------------------------------------------
6907 
6909 {
6910  public:
6912  {
6914  auto ctx = std::dynamic_pointer_cast<NestingContext>(m_exampleTree);
6915  ClassDefSet visitedClasses;
6916  // Add pages
6917  ctx->addPages(*Doxygen::exampleLinkedMap,TRUE,visitedClasses);
6918  }
6919 
6920  // TemplateStructIntf methods
6921  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6922  StringVector fields() const { return s_inst.fields(); }
6923 
6924  private:
6925  // Property getters
6927  TemplateVariant fileName() const { return "examples"; }
6928  TemplateVariant relPath() const { return ""; }
6929  TemplateVariant highlight() const { return "examples"; }
6930  TemplateVariant subhighlight() const { return ""; }
6931  TemplateVariant maxDepth() const { return m_maxDepth.get(this); }
6932  TemplateVariant preferredDepth() const { return m_preferredDepth.get(this); }
6934 
6935  private:
6936  int createMaxDepth() const
6937  {
6939  }
6941  {
6943  }
6948 };
6949 
6950 //%% struct ExampleTree: tree of examples page
6951 //%% {
6953  { "tree", &Private::tree },
6954  { "fileName", &Private::fileName },
6955  { "relPath", &Private::relPath },
6956  { "highlight", &Private::highlight },
6957  { "subhighlight", &Private::subhighlight },
6958  { "title", &Private::title },
6959  { "preferredDepth",&Private::preferredDepth },
6960  { "maxDepth", &Private::maxDepth }
6961 };
6962 //%% }
6963 
6964 
6966 {
6967 }
6968 
6970 {
6971 }
6972 
6974 {
6975  return p->get(name);
6976 }
6977 
6979 {
6980  return p->fields();
6981 }
6982 
6983 
6984 //------------------------------------------------------------------------
6985 
6987 {
6988  public:
6989  Private(const Definition *def) : m_def(def) {}
6990 
6991  // TemplateStructIntf methods
6992  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
6993  StringVector fields() const { return s_inst.fields(); }
6994 
6995  private:
6996  // Property getters
6998  TemplateVariant anchor() const { return m_def->anchor(); }
7003  {
7006  if (type==Definition::TypeGroup)
7007  {
7008  text = (toGroupDef(m_def))->groupTitle();
7009  }
7010  else if (type==Definition::TypePage && ((toPageDef(m_def))->hasTitle()))
7011  {
7012  text = (toPageDef(m_def))->title();
7013  }
7014  else if (type==Definition::TypeClass)
7015  {
7016  if (text.right(2)=="-p")
7017  {
7018  text = text.left(text.length()-2);
7019  }
7020  }
7021  return text;
7022  }
7024  {
7025  static bool createSubdirs = Config_getBool(CREATE_SUBDIRS);
7026  return createSubdirs ? QCString("../../") : QCString("");
7027  }
7028  private:
7031 };
7032 
7033 //%% struct NavPathElem: list of examples page
7034 //%% {
7036  { "isLinkable", &Private::isLinkable },
7037  { "fileName", &Private::fileName },
7038  { "anchor", &Private::anchor },
7039  { "text", &Private::text },
7040  { "isReference", &Private::isReference },
7041  { "externalReference",&Private::externalReference }
7042 };
7043 //%% }
7044 
7045 
7046 NavPathElemContext::NavPathElemContext(const Definition *def) : p(std::make_unique<Private>(def))
7047 {
7048 }
7049 
7051 {
7052 }
7053 
7055 {
7056  return p->get(name);
7057 }
7058 
7060 {
7061  return p->fields();
7062 }
7063 
7064 //------------------------------------------------------------------------
7065 
7067 {
7068  public:
7069  // TemplateStructIntf methods
7070  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7071  StringVector fields() const { return s_inst.fields(); }
7072 
7073  private:
7074  // Property getters
7075  TemplateVariant all() const { return m_all.get(this); }
7076  TemplateVariant functions() const { return m_functions.get(this); }
7077  TemplateVariant variables() const { return m_variables.get(this); }
7078  TemplateVariant typedefs() const { return m_typedefs.get(this); }
7079  TemplateVariant enums() const { return m_enums.get(this); }
7080  TemplateVariant enumValues() const { return m_enumValues.get(this); }
7081  TemplateVariant macros() const { return m_macros.get(this); }
7082  TemplateVariant properties() const { return FALSE; }
7083  TemplateVariant events() const { return FALSE; }
7084  TemplateVariant related() const { return FALSE; }
7085  TemplateVariant fileName() const { return "globals"; }
7086  TemplateVariant relPath() const { return ""; }
7087  TemplateVariant highlight() const { return "files"; }
7088  TemplateVariant subhighlight() const { return "filemembers"; }
7090 
7091  private:
7092  using MemberFilter = bool (MemberDef::*)() const;
7094  {
7095  TemplateVariantList list;
7096  for (const auto &mn : *Doxygen::functionNameLinkedMap)
7097  {
7098  for (const auto &md : *mn)
7099  {
7100  const FileDef *fd=md->getFileDef();
7101  if (fd && fd->isLinkableInProject() &&
7102  !md->name().isEmpty() && !md->getNamespaceDef() && md->isLinkableInProject())
7103  {
7104  if (filter==0 || (md.get()->*filter)())
7105  {
7106  list.push_back(MemberContext::alloc(md.get()));
7107  }
7108  }
7109  }
7110  }
7111  return TemplateImmutableList::alloc(list);
7112  }
7120 
7129 };
7130 
7131 //%% struct GlobalsIndex: list of examples page
7132 //%% {
7134  { "all", &Private::all },
7135  { "functions", &Private::functions },
7136  { "variables", &Private::variables },
7137  { "typedefs", &Private::typedefs },
7138  { "enums", &Private::enums },
7139  { "enumValues", &Private::enumValues },
7140  { "macros", &Private::macros },
7141  { "properties", &Private::properties },
7142  { "events", &Private::events },
7143  { "related", &Private::related },
7144  { "fileName", &Private::fileName },
7145  { "relPath", &Private::relPath },
7146  { "highlight", &Private::highlight },
7147  { "subhighlight",&Private::subhighlight },
7148  { "title", &Private::title }
7149 };
7150 //%% }
7151 
7153 {
7154 }
7155 
7157 {
7158 }
7159 
7161 {
7162  return p->get(name);
7163 }
7164 
7166 {
7167  return p->fields();
7168 }
7169 
7170 
7171 //------------------------------------------------------------------------
7172 
7174 {
7175  public:
7176  // TemplateStructIntf methods
7177  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7178  StringVector fields() const { return s_inst.fields(); }
7179 
7180  private:
7181  // Property getters
7182  TemplateVariant all() const { return m_all.get(this); }
7183  TemplateVariant functions() const { return m_functions.get(this); }
7184  TemplateVariant variables() const { return m_variables.get(this); }
7185  TemplateVariant typedefs() const { return m_typedefs.get(this); }
7186  TemplateVariant enums() const { return m_enums.get(this); }
7187  TemplateVariant enumValues() const { return m_enumValues.get(this); }
7188  TemplateVariant macros() const { return FALSE; }
7189  TemplateVariant properties() const { return m_properties.get(this); }
7190  TemplateVariant events() const { return m_events.get(this); }
7191  TemplateVariant related() const { return m_related.get(this); }
7192  TemplateVariant fileName() const { return "functions"; }
7193  TemplateVariant relPath() const { return ""; }
7194  TemplateVariant highlight() const { return "classes"; }
7195  TemplateVariant subhighlight() const { return "classmembers"; }
7197 
7198  private:
7199  using MemberFilter = bool (MemberDef::*)() const;
7201  {
7202  TemplateVariantList list;
7203  for (const auto &mn : *Doxygen::memberNameLinkedMap)
7204  {
7205  for (const auto &md : *mn)
7206  {
7207  const ClassDef *cd = md->getClassDef();
7208  if (cd && cd->isLinkableInProject() && cd->templateMaster()==0 &&
7209  md->isLinkableInProject() && !md->name().isEmpty())
7210  {
7211  if (filter==0 || (md.get()->*filter)())
7212  {
7213  list.push_back(MemberContext::alloc(md.get()));
7214  }
7215  }
7216  }
7217  }
7218  return TemplateImmutableList::alloc(list);
7219  }
7229 
7240 };
7241 
7242 //%% struct ClassMembersIndex: list of examples page
7243 //%% {
7245  { "all", &Private::all },
7246  { "functions", &Private::functions },
7247  { "variables", &Private::variables },
7248  { "typedefs", &Private::typedefs },
7249  { "enums", &Private::enums },
7250  { "enumValues", &Private::enumValues },
7251  { "macros", &Private::macros },
7252  { "properties", &Private::properties },
7253  { "events", &Private::events },
7254  { "related", &Private::related },
7255  { "fileName", &Private::fileName },
7256  { "relPath", &Private::relPath },
7257  { "highlight", &Private::highlight },
7258  { "subhighlight",&Private::subhighlight },
7259  { "title", &Private::title }
7260 };
7261 //%% }
7262 
7263 
7265 {
7266 }
7267 
7269 {
7270 }
7271 
7273 {
7274  return p->get(name);
7275 }
7276 
7278 {
7279  return p->fields();
7280 }
7281 
7282 //------------------------------------------------------------------------
7283 
7285 {
7286  public:
7287  // TemplateStructIntf methods
7288  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7289  StringVector fields() const { return s_inst.fields(); }
7290 
7291  private:
7292  // Property getters
7293  TemplateVariant all() const { return m_all.get(this); }
7294  TemplateVariant functions() const { return m_functions.get(this); }
7295  TemplateVariant variables() const { return m_variables.get(this); }
7296  TemplateVariant typedefs() const { return m_typedefs.get(this); }
7297  TemplateVariant enums() const { return m_enums.get(this); }
7298  TemplateVariant enumValues() const { return m_enumValues.get(this); }
7299  TemplateVariant macros() const { return FALSE; }
7300  TemplateVariant properties() const { return FALSE; }
7301  TemplateVariant events() const { return FALSE; }
7302  TemplateVariant related() const { return FALSE; }
7303  TemplateVariant fileName() const { return "namespacemembers"; }
7304  TemplateVariant relPath() const { return ""; }
7305  TemplateVariant highlight() const { return "namespaces"; }
7306  TemplateVariant subhighlight() const { return "namespacemembers"; }
7308 
7309  private:
7310  using MemberFilter = bool (MemberDef::*)() const;
7312  {
7313  TemplateVariantList list;
7314  for (const auto &mn : *Doxygen::functionNameLinkedMap)
7315  {
7316  for (const auto &md : *mn)
7317  {
7318  const NamespaceDef *nd=md->getNamespaceDef();
7319  if (nd && nd->isLinkableInProject() &&
7320  !md->name().isEmpty() && md->isLinkableInProject())
7321  {
7322  if (filter==0 || (md.get()->*filter)())
7323  {
7324  list.push_back(MemberContext::alloc(md.get()));
7325  }
7326  }
7327  }
7328  }
7329  return TemplateImmutableList::alloc(list);
7330  }
7331 
7338 
7346 };
7347 
7348 //%% struct NamespaceMembersIndex: list of examples page
7349 //%% {
7351  { "all", &Private::all },
7352  { "functions", &Private::functions },
7353  { "variables", &Private::variables },
7354  { "typedefs", &Private::typedefs },
7355  { "enums", &Private::enums },
7356  { "enumValues", &Private::enumValues },
7357  { "macros", &Private::macros },
7358  { "properties", &Private::properties },
7359  { "events", &Private::events },
7360  { "related", &Private::related },
7361  { "fileName", &Private::fileName },
7362  { "relPath", &Private::relPath },
7363  { "highlight", &Private::highlight },
7364  { "subhighlight",&Private::subhighlight },
7365  { "title", &Private::title }
7366 };
7367 //%% }
7368 
7369 
7371 {
7372 }
7373 
7375 {
7376 }
7377 
7379 {
7380  return p->get(name);
7381 }
7382 
7384 {
7385  return p->fields();
7386 }
7387 
7388 //------------------------------------------------------------------------
7389 
7391 {
7392  public:
7394  : m_hierarchy(hierarchy), m_node(n), m_id(id) { }
7395 
7396  // TemplateStructIntf methods
7397  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7398  StringVector fields() const { return s_inst.fields(); }
7399 
7400  private:
7401  // Property getters
7402  TemplateVariant graph() const { return m_graph.get(this); }
7403 
7404  private:
7406  {
7407  TextStream t;
7408  static bool haveDot = Config_getBool(HAVE_DOT);
7409  static bool graphicalHierarchy = Config_getBool(GRAPHICAL_HIERARCHY);
7410  if (haveDot && graphicalHierarchy)
7411  {
7412  m_hierarchy->createGraph(m_node,t,
7413  /*GOF_BITMAP,
7414  EOF_Html,*/
7417  m_id);
7418  }
7419  return TemplateVariant(t.str().c_str(),TRUE);
7420  }
7424  int m_id;
7426 };
7427 
7428 //%% struct InheritanceGraph: a connected graph representing part of the overall inheritance tree
7429 //%% {
7431  { "graph",&Private::graph }
7432 };
7433 //%% }
7434 
7435 InheritanceGraphContext::InheritanceGraphContext(DotGfxHierarchyTablePtr hierarchy,DotNode *n,int id) : p(std::make_unique<Private>(hierarchy,n,id))
7436 {
7437 }
7438 
7440 {
7441 }
7442 
7444 {
7445  return p->get(name);
7446 }
7447 
7449 {
7450  return p->fields();
7451 }
7452 
7453 //------------------------------------------------------------------------
7454 
7456 {
7457  public:
7458  Private(const ClassDef *cd,const QCString &name)
7459  : m_classDef(cd), m_name(name) {}
7460 
7461  // TemplateStructIntf methods
7462  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7463  StringVector fields() const { return s_inst.fields(); }
7464 
7465  private:
7466  // Property getters
7467  TemplateVariant getClass() const { return m_classContext.get(this); }
7468  TemplateVariant name() const { return m_name; }
7469 
7470  private:
7472  {
7474  }
7479 };
7480 
7481 //%% struct InheritanceNode: a class in the inheritance list
7482 //%% {
7484  { "class",&Private::getClass },
7485  { "name", &Private::name }
7486 };
7487 //%% }
7488 
7489 InheritanceNodeContext::InheritanceNodeContext(const ClassDef *cd,const QCString &name) : p(std::make_unique<Private>(cd,name))
7490 {
7491 }
7492 
7494 {
7495 }
7496 
7498 {
7499  return p->get(name);
7500 }
7501 
7503 {
7504  return p->fields();
7505 }
7506 
7507 //------------------------------------------------------------------------
7508 
7509 //%% list InheritanceList[InheritanceNode] : list of inherited classes
7511 {
7512  public:
7513  void addClass(const ClassDef *cd,const QCString &name)
7514  {
7516  }
7517 };
7518 
7519 InheritanceListContext::InheritanceListContext(const BaseClassList &list, bool baseClasses) : p(std::make_unique<Private>())
7520 {
7521  for (const auto &bcd : list)
7522  {
7523  const ClassDef *cd=bcd.classDef;
7524  QCString name;
7525  if (baseClasses)
7526  {
7528  cd->displayName(),bcd.templSpecifiers);
7529  }
7530  else
7531  {
7532  name = cd->displayName();
7533  }
7534  //printf("InheritanceListContext: adding %s baseClass=%d\n",qPrint(name),baseClasses);
7535  p->addClass(cd,name);
7536  }
7537 }
7538 
7540 {
7541 }
7542 
7543 // TemplateListIntf
7545 {
7546  return p->count();
7547 }
7548 
7550 {
7551  return p->at(index);
7552 }
7553 
7555 {
7556  return p->createIterator();
7557 }
7558 
7559 //------------------------------------------------------------------------
7560 
7561 //%% list MemberList[Member] : list of inherited classes
7563 {
7564  public:
7565  void addMember(const MemberDef *md)
7566  {
7568  }
7569 };
7570 
7572 {
7573 }
7574 
7575 MemberListContext::MemberListContext(const MemberList *list) : p(std::make_unique<Private>())
7576 {
7577  if (list)
7578  {
7580  for (const auto &md : *list)
7581  {
7582  if ((md->isBriefSectionVisible() && !details) ||
7583  (md->hasDetailedDescription() && details)
7584  )
7585  {
7586  p->addMember(md);
7587  }
7588  }
7589  }
7590 }
7591 
7592 MemberListContext::MemberListContext(const MemberVector &ml) : p(std::make_unique<Private>())
7593 {
7594  for (const auto &md : ml)
7595  {
7596  p->addMember(md);
7597  }
7598 }
7599 
7601 {
7602 }
7603 
7604 // TemplateListIntf
7606 {
7607  return p->count();
7608 }
7609 
7611 {
7612  return p->at(index);
7613 }
7614 
7616 {
7617  return p->createIterator();
7618 }
7619 
7620 //------------------------------------------------------------------------
7621 
7623 {
7624  public:
7625  Private(const MemberInfo *mi) : m_memberInfo(mi) {}
7626 
7627  // TemplateStructIntf methods
7628  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7629  StringVector fields() const { return s_inst.fields(); }
7630 
7631  private:
7632  // Property getters
7634  {
7635  switch (m_memberInfo->prot())
7636  {
7637  case ::Public: return "public";
7638  case ::Protected: return "protected";
7639  case ::Private: return "private";
7640  case ::Package: return "package";
7641  }
7642  return "";
7643  }
7645  {
7646  switch (m_memberInfo->virt())
7647  {
7648  case ::Normal: return "normal";
7649  case ::Virtual: return "virtual";
7650  case ::Pure: return "pure";
7651  }
7652  return "";
7653  }
7655  {
7657  }
7659  {
7660  return m_member.get(this);
7661  }
7662 
7663  private:
7665  {
7666  return m_memberInfo->memberDef() ?
7668  TemplateVariant(false);
7669  }
7673 };
7674 
7675 //%% struct MemberInfo: member information
7676 //%% {
7678  //%% string protection
7679  { "protection", &Private::protection },
7680  //%% string virtualness
7681  { "virtualness", &Private::virtualness },
7682  //%% string ambiguityScope
7683  { "ambiguityScope",&Private::ambiguityScope },
7684  //%% Member member
7685  { "member", &Private::member }
7686 };
7687 //%% }
7688 
7689 MemberInfoContext::MemberInfoContext(const MemberInfo *mi) : p(std::make_unique<Private>(mi))
7690 {
7691 }
7692 
7694 {
7695 }
7696 
7698 {
7699  return p->get(name);
7700 }
7701 
7703 {
7704  return p->fields();
7705 }
7706 
7707 //------------------------------------------------------------------------
7708 
7709 //%% list AllMembersList[MemberList] : list of inherited classes
7711 {
7712  public:
7714  {
7715  static bool hideUndocMembers = Config_getBool(HIDE_UNDOC_MEMBERS);
7716  for (auto &mni : ml)
7717  {
7718  for (auto &mi : *mni)
7719  {
7720  const MemberDef *md=mi->memberDef();
7721  const ClassDef *cd=md->getClassDef();
7722  if (cd && !md->isAnonymous())
7723  {
7724  if ((cd->isLinkable() && md->isLinkable()) ||
7725  (!cd->isArtificial() && !hideUndocMembers &&
7726  (protectionLevelVisible(md->protection()) || md->isFriend())
7727  )
7728  )
7729  {
7730  append(MemberInfoContext::alloc(mi.get()));
7731  }
7732  }
7733  }
7734  }
7735  }
7736 };
7737 
7739 {
7740 }
7741 
7743 {
7744 }
7745 
7746 // TemplateListIntf
7748 {
7749  return p->count();
7750 }
7751 
7753 {
7754  return p->at(index);
7755 }
7756 
7758 {
7759  return p->createIterator();
7760 }
7761 
7762 //------------------------------------------------------------------------
7763 
7765 {
7766  public:
7767  Private(const Definition *def,const QCString &relPath,const MemberGroup *mg)
7768  : m_def(def), m_relPath(relPath), m_memberGroup(mg) {}
7769 
7770  // TemplateStructIntf methods
7771  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7772  StringVector fields() const { return s_inst.fields(); }
7773 
7774  private:
7775  // Property getters
7776  TemplateVariant members() const { return m_members.get(this); }
7778  TemplateVariant groupSubtitle() const { return ""; }
7780  TemplateVariant memberGroups() const { return m_memberGroups.get(this); }
7781  TemplateVariant docs() const { return m_docs.get(this); }
7782  TemplateVariant inherited() const { return FALSE; }
7783 
7784  private:
7786  {
7788  }
7790  {
7792  }
7794  {
7795  return !m_memberGroup->documentation().isEmpty() ?
7796  TemplateVariant(parseDoc(m_def,"[@name docs]",-1, // TODO store file & line
7797  m_relPath,
7799  TemplateVariant("");
7800  }
7808 };
7809 
7810 //%% struct MemberGroupInfo: member group information
7811 //%% {
7813  { "members", &Private::members },
7814  { "title", &Private::groupTitle },
7815  { "subtitle", &Private::groupSubtitle },
7816  { "anchor", &Private::groupAnchor },
7817  { "memberGroups", &Private::memberGroups },
7818  { "docs", &Private::docs },
7819  { "inherited", &Private::inherited }
7820 };
7821 //%% }
7822 
7824  const QCString &relPath,const MemberGroup *mg) : p(std::make_unique<Private>(def,relPath,mg))
7825 {
7826 }
7827 
7829 {
7830 }
7831 
7833 {
7834  return p->get(name);
7835 }
7836 
7838 {
7839  return p->fields();
7840 }
7841 
7842 //------------------------------------------------------------------------
7843 
7844 //%% list MemberGroupList[MemberGroupInfo] : list of member groups
7846 {
7847  public:
7848  void addMemberGroup(const Definition *def,const QCString &relPath,const MemberGroup *mg)
7849  {
7850  append(MemberGroupInfoContext::alloc(def,relPath,mg));
7851  }
7852 };
7853 
7855 {
7856 }
7857 
7858 MemberGroupListContext::MemberGroupListContext(const Definition *def,const QCString &relPath,const MemberGroupRefList &list) : p(std::make_unique<Private>())
7859 {
7860  for (const auto &mg : list)
7861  {
7862  p->addMemberGroup(def,relPath,mg);
7863  }
7864 }
7865 
7866 MemberGroupListContext::MemberGroupListContext(const Definition *def,const QCString &relPath,const MemberGroupList &list,bool subGrouping) : p(std::make_unique<Private>())
7867 {
7868  for (const auto &mg : list)
7869  {
7870  if (!mg->allMembersInSameSection() || !subGrouping)
7871  {
7872  p->addMemberGroup(def,relPath,mg.get());
7873  }
7874  }
7875 }
7876 
7878 {
7879 }
7880 
7881 // TemplateListIntf
7883 {
7884  return p->count();
7885 }
7886 
7888 {
7889  return p->at(index);
7890 }
7891 
7893 {
7894  return p->createIterator();
7895 }
7896 
7897 
7898 //------------------------------------------------------------------------
7899 
7901 {
7902  public:
7903  Private(const Definition *def,const QCString &relPath,const MemberList *ml,const QCString &title,const QCString &subtitle)
7904  : m_def(def), m_memberList(ml), m_relPath(relPath), m_title(title), m_subtitle(subtitle) {}
7905 
7906  // TemplateStructIntf methods
7907  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7908  StringVector fields() const { return s_inst.fields(); }
7909 
7910  private:
7911  // Property getters
7912  TemplateVariant members() const { return m_memberListCtx.get(this); }
7913  TemplateVariant title() const { return m_title; }
7916  TemplateVariant memberGroups() const { return m_memberGroups.get(this); }
7917  TemplateVariant inherited() const { return m_inherited.get(this); }
7918 
7919  private:
7920 
7922  {
7924  }
7926  {
7928  }
7930  {
7933  {
7935  auto ctx = std::dynamic_pointer_cast<InheritedMemberInfoListContext>(list);
7936  ctx->addMemberList(toClassDef(m_def),m_memberList->listType(),m_title,FALSE);
7937  return list;
7938  }
7939  else
7940  {
7941  return TemplateVariant(false);
7942  }
7943  }
7953 };
7954 
7955 //%% struct MemberListInfo: member list information
7956 //%% {
7958  { "members", &Private::members },
7959  { "title", &Private::title },
7960  { "subtitle", &Private::subtitle },
7961  { "anchor", &Private::anchor },
7962  { "memberGroups", &Private::memberGroups },
7963  { "inherited", &Private::inherited }
7964 };
7965 //%% }
7966 
7968  const Definition *def,const QCString &relPath,const MemberList *ml,
7969  const QCString &title,const QCString &subtitle) : p(std::make_unique<Private>(def,relPath,ml,title,subtitle))
7970 {
7971 }
7972 
7974 {
7975 }
7976 
7978 {
7979  return p->get(name);
7980 }
7981 
7983 {
7984  return p->fields();
7985 }
7986 
7987 //------------------------------------------------------------------------
7988 
7990 {
7991  public:
7992  Private(const ClassDef *cd,std::unique_ptr<MemberList> &&ml,const QCString &title)
7993  : m_class(cd), m_memberList(std::move(ml)), m_title(title) {}
7994 
7995  // TemplateStructIntf methods
7996  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
7997  StringVector fields() const { return s_inst.fields(); }
7998 
7999  private:
8000  // Property getters
8001  TemplateVariant getClass() const { return m_classCtx.get(this); }
8002  TemplateVariant title() const { return m_title; }
8003  TemplateVariant members() const { return m_memberListCtx.get(this); }
8004  TemplateVariant inheritedFrom() const { return m_inheritedFrom.get(this); }
8006  {
8007  return substitute(MemberList::listTypeAsString(m_memberList->listType()),"-","_")+"_"+
8009  }
8010 
8011  private:
8013  {
8014  return ClassContext::alloc(m_class);
8015  }
8017  {
8018  return MemberListContext::alloc(m_memberList.get());
8019  }
8021  {
8023  }
8024 
8026  std::unique_ptr<const MemberList> m_memberList;
8032 };
8033 
8034 //%% struct InheritedMemberInfo: inherited member information
8035 //%% {
8037  { "class", &Private::getClass },
8038  { "title", &Private::title },
8039  { "members", &Private::members },
8040  { "id", &Private::id },
8041  { "inheritedFrom", &Private::inheritedFrom }
8042 };
8043 //%% }
8044 
8045 InheritedMemberInfoContext::InheritedMemberInfoContext(const ClassDef *cd,std::unique_ptr<MemberList> &&ml,const QCString &title)
8046  : p(std::make_unique<Private>(cd,std::move(ml),title))
8047 {
8048 }
8049 
8051 {
8052 }
8053 
8055 {
8056  return p->get(name);
8057 }
8058 
8060 {
8061  return p->fields();
8062 }
8063 
8064 //------------------------------------------------------------------------
8065 
8066 //%% list InheritedMemberList[InheritedMemberInfo] : list of inherited classes
8068 {
8069  public:
8070  void addMemberList(const ClassDef *inheritedFrom,const MemberList &ml,MemberList *combinedList)
8071  {
8072  for (const auto &md : ml)
8073  {
8074  if (md->isBriefSectionVisible() && !md->isReimplementedBy(inheritedFrom))
8075  {
8076  combinedList->push_back(md);
8077  }
8078  }
8079  }
8080  void addMemberListIncludingGrouped(const ClassDef *inheritedFrom,const MemberList *ml,MemberList *combinedList)
8081  {
8082  if (ml)
8083  {
8084  addMemberList(inheritedFrom,*ml,combinedList);
8085  for (const auto *mg : ml->getMemberGroupList())
8086  {
8087  addMemberList(inheritedFrom,mg->members(),combinedList);
8088  }
8089  }
8090  }
8091  void addMemberGroupsOfClass(const ClassDef *inheritedFrom,
8092  const ClassDef *cd,MemberListType lt,MemberList *combinedList)
8093  {
8094  // TODO: why this there no addMemberGroupsOfNamespace, addMembersGroupsOfFile,
8095  // addMemberGroupsOfGroup?
8096  for (const auto &mg: cd->getMemberGroups())
8097  {
8098  if (!mg->members().empty() && (!mg->allMembersInSameSection() || !cd->subGrouping())) // group is in its own section
8099  {
8100  for (const auto &md : mg->members())
8101  {
8102  if (lt==md->getSectionList(mg->container())->listType() &&
8103  !md->isReimplementedBy(inheritedFrom) &&
8104  md->isBriefSectionVisible())
8105  {
8106  combinedList->push_back(md);
8107  }
8108  }
8109  }
8110  }
8111  }
8112  void addInheritedMembers(const ClassDef *inheritedFrom,const ClassDef *cd,MemberListType lt,
8113  MemberListType lt1,int lt2,const QCString &title,bool additionalList)
8114  {
8115  int count = cd->countMembersIncludingGrouped(lt1,inheritedFrom,additionalList);
8116  if (lt2!=-1) count += cd->countMembersIncludingGrouped((MemberListType)lt2,inheritedFrom,additionalList);
8117  if (count>0)
8118  {
8119  const MemberList *ml = cd->getMemberList(lt1);
8120  const MemberList *ml2 = lt2!=-1 ? cd->getMemberList((MemberListType)lt2) : 0;
8121  std::unique_ptr<MemberList> combinedList = std::make_unique<MemberList>(lt,MemberListContainer::Class);
8122  addMemberListIncludingGrouped(inheritedFrom,ml,combinedList.get());
8123  addMemberListIncludingGrouped(inheritedFrom,ml2,combinedList.get());
8124  addMemberGroupsOfClass(inheritedFrom,cd,lt,combinedList.get());
8125  if (lt2!=-1) addMemberGroupsOfClass(inheritedFrom,cd,(MemberListType)lt2,combinedList.get());
8126  append(InheritedMemberInfoContext::alloc(cd,std::move(combinedList),title));
8127  }
8128  }
8129  void findInheritedMembers(const ClassDef *inheritedFrom,const ClassDef *cd,MemberListType lt,
8130  int lt2, const QCString &title,bool additionalList,
8131  ClassDefSet &visitedClasses)
8132  {
8133  for (const auto &ibcd : cd->baseClasses())
8134  {
8135  ClassDef *icd=ibcd.classDef;
8136  if (icd->isLinkable())
8137  {
8138  int lt1,lt3;
8139  convertProtectionLevel(lt,ibcd.prot,&lt1,&lt3);
8140  if (lt2==-1 && lt3!=-1)
8141  {
8142  lt2=lt3;
8143  }
8144  if (visitedClasses.find(icd)==visitedClasses.end())
8145  {
8146  visitedClasses.insert(icd); // guard for multiple virtual inheritance
8147  if (lt1!=-1)
8148  {
8149  // add member info for members of cd with list type lt
8150  addInheritedMembers(inheritedFrom,icd,lt,(MemberListType)lt1,lt2,title,additionalList);
8151  // recurse down the inheritance tree
8152  findInheritedMembers(inheritedFrom,icd,(MemberListType)lt1,lt2,title,additionalList,visitedClasses);
8153  }
8154  }
8155  }
8156  }
8157  }
8158 };
8159 
8161 {
8162 }
8163 
8165  const ClassDef *cd,MemberListType lt,const QCString &title,bool additionalList)
8166 {
8167  ClassDefSet visited;
8168  bool memberInSection = cd->countMembersIncludingGrouped(lt,cd,FALSE)>0;
8169  bool show = (additionalList && !memberInSection) || // inherited member to show in the additional inherited members list
8170  (!additionalList && memberInSection); // inherited member to show in a member list of the class
8171  //printf("%s:%s show=%d\n",qPrint(cd->name()),qPrint(MemberList::listTypeAsString(lt)),show);
8172  if (show)
8173  {
8174  p->findInheritedMembers(cd,cd,lt,-1,title,additionalList,visited);
8175  }
8176 }
8177 
8179 {
8180 }
8181 
8182 // TemplateListIntf
8184 {
8185  return p->count();
8186 }
8187 
8189 {
8190  return p->at(index);
8191 }
8192 
8194 {
8195  return p->createIterator();
8196 }
8197 
8198 //------------------------------------------------------------------------
8199 
8201 {
8202  public:
8203  Private(const Argument &arg,const Definition *def,const QCString &relPath)
8204  : m_argument(arg), m_def(def), m_relPath(relPath) {}
8205 
8206  // TemplateStructIntf methods
8207  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
8208  StringVector fields() const { return s_inst.fields(); }
8209 
8210  private:
8211  // Property getters
8212  TemplateVariant type() const { return m_type.get(this); }
8214  TemplateVariant name() const { return m_argument.name; }
8215  TemplateVariant defVal() const { return m_defval.get(this); }
8217  TemplateVariant docs() const { return m_docs.get(this); }
8219  {
8220  QCString result = m_argument.attrib;
8221  uint l = result.length();
8222  if (l>2 && result.at(0)=='[' && result.at(l-1)==']')
8223  {
8224  result = result.mid(1,l-2);
8225  if (result!=",") result+=":"; // for normal keywords add colon
8226  }
8227  return result;
8228  }
8229 
8230  private:
8232  {
8234  }
8236  {
8238  }
8240  {
8241  return !m_argument.docs.isEmpty() ?
8243  TemplateVariant("");
8244  }
8252 };
8253 
8254 //%% struct Argument: parameter information
8255 //%% {
8257  { "type", &Private::type },
8258  { "name", &Private::name },
8259  { "defVal", &Private::defVal },
8260  { "docs", &Private::docs },
8261  { "attrib", &Private::attrib },
8262  { "array", &Private::array },
8263  { "namePart", &Private::namePart }
8264 };
8265 //%% }
8266 
8267 
8268 ArgumentContext::ArgumentContext(const Argument &al,const Definition *def,const QCString &relPath) : p(std::make_unique<Private>(al,def,relPath))
8269 {
8270 }
8271 
8273 {
8274 }
8275 
8277 {
8278  return p->get(name);
8279 }
8280 
8282 {
8283  return p->fields();
8284 }
8285 
8286 //------------------------------------------------------------------------
8287 
8288 //%% list ArgumentList[Argument] : list of inherited classes
8290 {
8291  public:
8292  void addArgument(const Argument &arg,const Definition *def,const QCString &relPath)
8293  {
8294  append(ArgumentContext::alloc(arg,def,relPath));
8295  }
8296 };
8297 
8299 {
8300 }
8301 
8303  const Definition *def,const QCString &relPath) : p(std::make_unique<Private>())
8304 {
8305  for (const Argument &arg : list)
8306  {
8307  p->addArgument(arg,def,relPath);
8308  }
8309 }
8310 
8312 {
8313 }
8314 
8315 // TemplateListIntf
8317 {
8318  return p->count();
8319 }
8320 
8322 {
8323  return p->at(index);
8324 }
8325 
8327 {
8328  return p->createIterator();
8329 }
8330 
8331 //------------------------------------------------------------------------
8332 
8333 // SymbolIndex
8334 // - name: string
8335 // - letter: string
8336 // - symbolGroups: SymbolGroupList
8337 // SymbolGroupList: list of SymbolGroups
8338 // SymbolGroup
8339 // - id
8340 // - name
8341 // - symbols: SymbolList
8342 // SymbolList: list of Symbols
8343 // Symbol
8344 // - obj
8345 // - scope
8346 // - relPath
8347 
8348 //------------------------------------------------------------------------
8349 
8351 {
8352  public:
8353  Private(const Definition *d,const Definition *prev, const Definition *next)
8354  : m_def(d), m_prevDef(prev), m_nextDef(next) {}
8355 
8356  // TemplateStructIntf methods
8357  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
8358  StringVector fields() const { return s_inst.fields(); }
8359 
8360  private:
8361  // Property getters
8363  TemplateVariant anchor() const { return m_def->anchor(); }
8364  TemplateVariant scope() const { return m_scope.get(this); }
8366 
8367  private:
8369  {
8370  const Definition *scope = m_def->getOuterScope();
8371  const Definition *next = m_nextDef;
8372  const Definition *prev = m_prevDef;
8373  const Definition *nextScope = next ? next->getOuterScope() : 0;
8374  const Definition *prevScope = prev ? prev->getOuterScope() : 0;
8375  const MemberDef *md = toMemberDef(m_def);
8376  bool isFunctionLike = md && (md->isFunction() || md->isSlot() || md->isSignal());
8377  bool overloadedFunction = ((prevScope!=0 && scope==prevScope) || (scope && scope==nextScope)) &&
8378  md && (md->isFunction() || md->isSlot());
8379 
8380  QCString name;
8381  if (prev==0 && next==0) // unique name
8382  {
8384  {
8385  name = scope->name();
8386  }
8387  else if (md)
8388  {
8389  const FileDef *fd = md->getBodyDef();
8390  if (fd==0) fd = md->getFileDef();
8391  if (fd)
8392  {
8393  name = fd->localName();
8394  }
8395  }
8396  }
8397  else
8398  {
8399  QCString prefix;
8400  if (md) prefix=md->localName();
8401  if (overloadedFunction) // overloaded member function
8402  {
8403  prefix+=md->argsString();
8404  // show argument list to disambiguate overloaded functions
8405  }
8406  else if (md && isFunctionLike) // unique member function
8407  {
8408  prefix+="()"; // only to show it is a function
8409  }
8410  bool found=FALSE;
8412  {
8413  name = m_def->displayName();
8414  found = TRUE;
8415  }
8417  {
8418  name = m_def->displayName();
8419  found = TRUE;
8420  }
8421  else if (scope==0 || scope==Doxygen::globalScope) // in global scope
8422  {
8423  if (md)
8424  {
8425  const FileDef *fd = md->getBodyDef();
8426  if (fd==0) fd = md->getFileDef();
8427  if (fd)
8428  {
8429  if (!prefix.isEmpty()) prefix+=": ";
8430  name = prefix + convertToXML(fd->localName());
8431  found = TRUE;
8432  }
8433  }
8434  }
8435  else if (md && (md->resolveAlias()->getClassDef() || md->resolveAlias()->getNamespaceDef()))
8436  // member in class or namespace scope
8437  {
8438  SrcLangExt lang = md->getLanguage();
8439  name = m_def->getOuterScope()->qualifiedName()
8440  + getLanguageSpecificSeparator(lang) + prefix;
8441  found = TRUE;
8442  }
8443  else if (scope) // some thing else? -> show scope
8444  {
8445  name = prefix + convertToXML(scope->name());
8446  found = TRUE;
8447  }
8448  if (!found) // fallback
8449  {
8450  name = prefix + "("+theTranslator->trGlobalNamespace()+")";
8451  }
8452  }
8453  return name;
8454  }
8460 };
8461 
8462 //%% struct Symbol: specific search item
8463 //%% {
8465  { "fileName",&Private::fileName },
8466  { "anchor", &Private::anchor },
8467  { "scope", &Private::scope },
8468  { "relPath", &Private::relPath }
8469 };
8470 //%% }
8471 
8472 SymbolContext::SymbolContext(const Definition *def,const Definition *prevDef,const Definition *nextDef) : p(std::make_unique<Private>(def,prevDef,nextDef))
8473 {
8474 }
8475 
8477 {
8478 }
8479 
8481 {
8482  return p->get(name);
8483 }
8484 
8486 {
8487  return p->fields();
8488 }
8489 
8490 //------------------------------------------------------------------------
8491 
8492 //%% list SymbolList[Symbol] : list of search symbols with the same name
8494 {
8495  public:
8496  Private(const SearchIndexList::const_iterator &start,
8497  const SearchIndexList::const_iterator &end)
8498  {
8499  const Definition *prev = 0;
8500  for (auto it = start; it!=end;)
8501  {
8502  const Definition *def = *it;
8503  ++it;
8504  const Definition *next = it!=end ? *it : 0;
8505  append(SymbolContext::alloc(def,prev,next));
8506  prev = def;
8507  }
8508  }
8509 };
8510 
8511 SymbolListContext::SymbolListContext(const SearchIndexList::const_iterator &start,
8512  const SearchIndexList::const_iterator &end) : p(std::make_unique<Private>(start,end))
8513 {
8514 }
8515 
8517 {
8518 }
8519 
8520 // TemplateListIntf
8522 {
8523  return p->count();
8524 }
8525 
8527 {
8528  return p->at(index);
8529 }
8530 
8532 {
8533  return p->createIterator();
8534 }
8535 
8536 //------------------------------------------------------------------------
8537 
8539 {
8540  public:
8541  Private(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
8542  : m_start(start), m_end(end) {}
8543 
8544  // TemplateStructIntf methods
8545  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
8546  StringVector fields() const { return s_inst.fields(); }
8547 
8548  private:
8549  // Property getters
8550  TemplateVariant id() const { return searchId(*m_start); }
8551  TemplateVariant name() const { return searchName(*m_start); }
8552  TemplateVariant symbolList() const { return m_symbolList.get(this); }
8553 
8554  private:
8555 
8557  {
8559  }
8560 
8561  SearchIndexList::const_iterator m_start;
8562  SearchIndexList::const_iterator m_end;
8565 };
8566 
8567 //%% struct SymbolGroup: search group of similar symbols
8568 //%% {
8570  { "id", &Private::id },
8571  { "name", &Private::name },
8572  { "symbols",&Private::symbolList }
8573 };
8574 //%% }
8575 
8576 SymbolGroupContext::SymbolGroupContext(const SearchIndexList::const_iterator &start,
8577  const SearchIndexList::const_iterator &end) : p(std::make_unique<Private>(start,end))
8578 {
8579 }
8580 
8582 {
8583 }
8584 
8586 {
8587  return p->get(name);
8588 }
8589 
8591 {
8592  return p->fields();
8593 }
8594 
8595 //------------------------------------------------------------------------
8596 
8597 //%% list SymbolGroupList[SymbolGroup] : list of search groups one per by name
8599 {
8600  public:
8602  {
8603  QCString lastName;
8604  auto it = sil.begin();
8605  auto it_begin = it;
8606  while (it!=sil.end())
8607  {
8608  QCString name = searchName(*it);
8609  if (name!=lastName)
8610  {
8611  if (it!=it_begin)
8612  {
8613  append(SymbolGroupContext::alloc(it_begin,it));
8614  }
8615  it_begin = it;
8616  lastName = name;
8617  }
8618  ++it;
8619  }
8620  if (it_begin!=sil.end())
8621  {
8622  append(SymbolGroupContext::alloc(it_begin,sil.end()));
8623  }
8624  }
8625 };
8626 
8628 {
8629 }
8630 
8632 {
8633 }
8634 
8635 // TemplateListIntf
8637 {
8638  return p->count();
8639 }
8640 
8642 {
8643  return p->at(index);
8644 }
8645 
8647 {
8648  return p->createIterator();
8649 }
8650 
8651 //------------------------------------------------------------------------
8652 
8654 {
8655  public:
8656  Private(const std::string &letter, const SearchIndexList &sl, const QCString &name)
8657  : m_letter(letter), m_searchList(sl), m_name(name) {}
8658  // TemplateStructIntf methods
8659  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
8660  StringVector fields() const { return s_inst.fields(); }
8661 
8662  private:
8663  // Property getters
8664  TemplateVariant name() const { return m_name; }
8665  TemplateVariant letter() const { return m_letter; }
8666  TemplateVariant symbolGroups() const { return m_symbolGroups.get(this); }
8667 
8668  private:
8669 
8671  {
8673  }
8679 };
8680 
8681 //%% struct SymbolIndex: search index
8682 //%% {
8684  { "name", &Private::name },
8685  { "letter", &Private::letter },
8686  { "symbolGroups",&Private::symbolGroups },
8687 };
8688 //%% }
8689 
8690 SymbolIndexContext::SymbolIndexContext(const std::string &letter,const SearchIndexList &sl,const QCString &name) : p(std::make_unique<Private>(letter,sl,name))
8691 {
8692 }
8693 
8695 {
8696 }
8697 
8699 {
8700  return p->get(name);
8701 }
8702 
8704 {
8705  return p->fields();
8706 }
8707 
8708 //------------------------------------------------------------------------
8709 
8710 //%% list SymbolIndices[SymbolIndex] : list of search indices one per by type
8712 {
8713  public:
8715  {
8716  // use info->symbolList to populate the list
8717  for (const auto &kv : info.symbolMap)
8718  {
8719  append(SymbolIndexContext::alloc(kv.first,kv.second,info.name));
8720  }
8721  }
8722 };
8723 
8724 SymbolIndicesContext::SymbolIndicesContext(const SearchIndexInfo &info) : p(std::make_unique<Private>(info))
8725 {
8726 }
8727 
8729 {
8730 }
8731 
8732 // TemplateListIntf
8734 {
8735  return p->count();
8736 }
8737 
8739 {
8740  return p->at(index);
8741 }
8742 
8744 {
8745  return p->createIterator();
8746 }
8747 
8748 //------------------------------------------------------------------------
8749 
8751 {
8752  public:
8753  Private(const SearchIndexInfo &info) : m_info(info) {}
8754 
8755  // TemplateStructIntf methods
8756  TemplateVariant get(const QCString &n) const { return s_inst.get(this,n); }
8757  StringVector fields() const { return s_inst.fields(); }
8758 
8759  private:
8760  // Property getters
8761  TemplateVariant name() const { return m_info.name; }
8762  TemplateVariant text() const { return m_info.getText(); }
8763  TemplateVariant symbolIndices() const { return m_symbolIndices.get(this); }
8764 
8765  private:
8767  {
8769  }
8770 
8774 };
8775 
8776 //%% struct SearchIndex: search index
8777 //%% {
8779  { "name", &Private::name },
8780  { "text", &Private::text },
8781  { "symbolIndices",&Private::symbolIndices }
8782 };
8783 //%% }
8784 
8785 SearchIndexContext::SearchIndexContext(const SearchIndexInfo &info) : p(std::make_unique<Private>(info))
8786 {
8787 }
8788 
8790 {
8791 }
8792 
8794 {
8795  return p->get(name);
8796 }
8797 
8799 {
8800  return p->fields();
8801 }
8802 
8803 
8804 //------------------------------------------------------------------------
8805 
8806 //%% list SearchIndices[SearchIndex] : list of search indices one per by type
8808 {
8809  public:
8811  {
8812  for (const auto &si : getSearchIndices())
8813  {
8815  }
8816  }
8817 };
8818 
8820 {
8821 }
8822 
8824 {
8825 }
8826 
8827 // TemplateListIntf
8829 {
8830  return p->count();
8831 }
8832 
8834 {
8835  return p->at(index);
8836 }
8837 
8839 {
8840  return p->createIterator();
8841 }
8842 
8843 
8844 //------------------------------------------------------------------------
8845 
8847 {
8848  public:
8849  std::unique_ptr<TemplateEscapeIntf> clone()
8850  {
8851  return std::make_unique<HtmlEscaper>(*this);
8852  }
8854  {
8855  return convertToHtml(s,TRUE);
8856  }
8857  void enableTabbing(bool) {}
8858 };
8859 
8860 //------------------------------------------------------------------------
8861 
8863 {
8864  public:
8866  std::unique_ptr<TemplateSpacelessIntf> clone()
8867  {
8868  return std::make_unique<LatexSpaceless>(*this);
8869  }
8870  void reset() { }
8872  {
8873  if (s.isEmpty()) return s;
8874  TextStream result;
8875  const char *p = s.data();
8876  char c;
8877  while ((c=*p++))
8878  {
8879  switch(c)
8880  {
8881  case '\t': case ' ': case '\n':
8882  break;
8883  default:
8884  result << c;
8885  break;
8886  }
8887  }
8888  return result.str();
8889  }
8890  private:
8891 };
8892 
8893 //------------------------------------------------------------------------
8894 
8896 {
8897  public:
8899  std::unique_ptr<TemplateSpacelessIntf> clone()
8900  {
8901  return std::make_unique<HtmlSpaceless>(*this);
8902  }
8903  void reset()
8904  {
8905  m_insideTag = FALSE;
8906  m_insideString = '\0';
8907  m_removeSpaces = TRUE;
8908  }
8910  {
8911  if (s.isEmpty()) return s;
8912  TextStream result;
8913  const char *p = s.data();
8914  char c;
8915  while ((c=*p++))
8916  {
8917  switch(c)
8918  {
8919  case '<': // start of a tag
8921  result << c;
8922  break;
8923  case '>': // end of a tag
8925  result << c;
8926  break;
8927  case '\\': // escaped character in a string
8928  result << c;
8929  if (m_insideString && *p) result << *p++;
8930  break;
8931  case '"': case '\'':
8932  if (m_insideTag)
8933  {
8934  if (m_insideString==c) // end of string
8935  {
8936  m_insideString='\0';
8937  }
8938  else if (m_insideString=='\0') // start of string
8939  {
8940  m_insideString=c;
8941  }
8942  }
8943  result << c;
8944  break;
8945  case ' ': case '\t': case '\n': // whitespace
8946  if (!m_insideTag) // outside tags strip consecutive whitespace
8947  {
8949  }
8950  else
8951  {
8952  result << ' ';
8953  }
8954  break;
8955  default:
8956  //if (m_removeSpaces) result+=' ';
8957  result << c;
8959  break;
8960  }
8961  }
8962  //printf("HtmlSpaceless::remove({%s})={%s} m_insideTag=%d m_insideString=%c (%d) removeSpaces=%d\n",qPrint(s),qPrint(result),
8963  // m_insideTag,m_insideString,m_insideString,m_removeSpaces);
8964  return result.str();
8965  }
8966  private:
8970 };
8971 
8972 //------------------------------------------------------------------------
8973 
8975 {
8976  public:
8977  std::unique_ptr<TemplateEscapeIntf> clone()
8978  {
8979  return std::make_unique<LatexEscaper>(*this);
8980  }
8983  {
8984  return convertToLaTeX(s,m_tabbing);
8985  }
8986  void enableTabbing(bool b) { m_tabbing=b; }
8987  private:
8989 };
8990 
8991 
8992 //------------------------------------------------------------------------
8993 
8995 {
8996  {
8997  auto e = std::make_unique<TemplateEngine>();
8998  auto ctx = e->createContext();
8999  if (ctx)
9000  {
9025 
9026  //%% Doxygen doxygen:
9027  ctx->set("doxygen",doxygen);
9028  //%% Translator tr:
9029  ctx->set("tr",tr);
9030  //%% Config config:
9031  ctx->set("config",config);
9032  //%% ClassList classList:
9033  ctx->set("classList",classList); // not used for standard HTML
9034  //%% ClassTree classTree:
9035  ctx->set("classTree",classTree);
9036  //%% ClassIndex classIndex:
9037  ctx->set("classIndex",classIndex);
9038  //%% ClassHierarchy classHierarchy:
9039  ctx->set("classHierarchy",classHierarchy);
9040  //%% ConceptList conceptList:
9041  ctx->set("conceptList",conceptList);
9042  //%% ConceptTree conceptTree:
9043  ctx->set("conceptTree",conceptTree);
9044  //%% NamespaceList namespaceList:
9045  ctx->set("namespaceList",namespaceList);
9046  //%% NamespaceTree namespaceTree:
9047  ctx->set("namespaceTree",namespaceTree);
9048  //%% FileList fileList:
9049  ctx->set("fileList",fileList);
9050  //%% FileTree fileTree:
9051  ctx->set("fileTree",fileTree);
9052  //%% PageList pageList
9053  ctx->set("pageList",pageList);
9054  //%% PageTree pageTree
9055  ctx->set("pageTree",pageTree);
9056  //%% ExampleTree exampleTree
9057  ctx->set("exampleTree",exampleTree);
9058  //%% ExampleList exampleList
9059  ctx->set("exampleList",exampleList);
9060  //%% ModuleTree moduleTree
9061  ctx->set("moduleTree",moduleTree);
9062  //%% ModuleList moduleList
9063  ctx->set("moduleList",moduleList);
9064  //%% DirList dirList
9065  ctx->set("dirList",dirList);
9066  //%% Page mainPage
9067  if (Doxygen::mainPage)
9068  {
9070  ctx->set("mainPage",mainPage);
9071  }
9072  else
9073  {
9074  // TODO: for LaTeX output index should be main... => solve in template
9075  Doxygen::mainPage.reset(createPageDef("[generated]",1,"index","",Config_getString(PROJECT_NAME)));
9076  Doxygen::mainPage->setFileName("index");
9078  ctx->set("mainPage",mainPage);
9079  }
9080  //%% GlobalsIndex globalsIndex:
9081  ctx->set("globalsIndex",globalsIndex);
9082  //%% ClassMembersIndex classMembersIndex:
9083  ctx->set("classMembersIndex",classMembersIndex);
9084  //%% NamespaceMembersIndex namespaceMembersIndex:
9085  ctx->set("namespaceMembersIndex",namespaceMembersIndex);
9086  //%% SearchIndices searchIndices
9087  ctx->set("searchIndices",searchIndices);
9088  //%% string space
9089  ctx->set("space"," ");
9090 
9091  //if (Config_getBool(GENERATE_HTML))
9092  { // render HTML output
9093  e->setTemplateDir("templates/html"); // TODO: make template part user configurable
9094  Template *tpl = e->loadByName("htmllayout.tpl",1);
9095  if (tpl)
9096  {
9098  g_globals.dynSectionId = 0;
9099  g_globals.outputDir = Config_getString(HTML_OUTPUT);
9100  Dir dir(g_globals.outputDir.str());
9101  createSubDirs(dir);
9102  ctx->setEscapeIntf(Config_getString(HTML_FILE_EXTENSION),std::make_unique<HtmlEscaper>());
9103  ctx->setSpacelessIntf(std::make_unique<HtmlSpaceless>());
9104  ctx->setOutputDirectory(g_globals.outputDir);
9105  TextStream ts;
9106  tpl->render(ts,ctx.get());
9107  }
9108  e->unload(tpl);
9109  }
9110 
9111  // TODO: clean index before each run...
9112 
9113  //if (Config_getBool(GENERATE_LATEX))
9114  if (0)
9115  { // render LaTeX output
9116  e->setTemplateDir("templates/latex"); // TODO: make template part user configurable
9117  Template *tpl = e->loadByName("latexlayout.tpl",1);
9118  if (tpl)
9119  {
9121  g_globals.dynSectionId = 0;
9122  g_globals.outputDir = Config_getString(LATEX_OUTPUT);
9123  Dir dir(g_globals.outputDir.str());
9124  createSubDirs(dir);
9125  ctx->setEscapeIntf(".tex",std::make_unique<LatexEscaper>());
9126  ctx->setSpacelessIntf(std::make_unique<LatexSpaceless>());
9127  ctx->setOutputDirectory(g_globals.outputDir);
9128  TextStream ts;
9129  tpl->render(ts,ctx.get());
9130  }
9131  e->unload(tpl);
9132  }
9133  }
9134  }
9135 }
9136 
9137 void generateTemplateFiles(const QCString &templateDir)
9138 {
9139  if (templateDir.isEmpty()) return;
9140  Dir thisDir;
9141  if (!thisDir.exists(templateDir.str()) && !thisDir.mkdir(templateDir.str()))
9142  {
9143  err("Failed to create output directory '%s'\n",qPrint(templateDir));
9144  return;
9145  }
9146  std::string outDir = templateDir.str()+"/html";
9147  if (!thisDir.exists(outDir) && !thisDir.mkdir(outDir))
9148  {
9149  err("Failed to create output directory '%s'\n",outDir.c_str());
9150  return;
9151  }
9152  ResourceMgr::instance().writeCategory("html",outDir.c_str());
9153 }
InheritedMemberInfoContext::Private::m_inheritedFrom
CachedItem< TemplateVariant, Private, &Private::createInheritedFrom > m_inheritedFrom
Definition: context.cpp:8030
ClassTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6098
ClassContext::Private::s_inst
static const PropertyMap< ClassContext::Private > s_inst
Definition: context.cpp:2393
LatexEscaper::m_tabbing
bool m_tabbing
Definition: context.cpp:8988
ModuleContext::Private::createMacros
TemplateVariant createMacros() const
Definition: context.cpp:4744
SymbolListContext::p
std::unique_ptr< Private > p
Definition: context.h:1264
SymbolIndicesContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8733
ClassContext::Private::Cachable::detailedEnums
CachedItem< TemplateVariant, Private, &Private::createDetailedEnums > detailedEnums
Definition: context.cpp:2372
TranslateContext::Private::classDocumentation
TemplateVariant classDocumentation() const
Definition: context.cpp:870
TemplateVariant::toStruct
TemplateStructIntfPtr toStruct()
Returns the pointer to struct referenced by this variant or 0 if this variant does not have struct ty...
Definition: template.cpp:441
Definition::getSourceFileBase
virtual QCString getSourceFileBase() const =0
MemberContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:4420
DoxygenContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:385
MemberContext::Private::~Private
virtual ~Private()
Definition: context.cpp:3583
DotGroupCollaborationPtr
std::shared_ptr< DotGroupCollaboration > DotGroupCollaborationPtr
Definition: dotgroupcollaboration.h:88
SymbolContext::Private::fields
StringVector fields() const
Definition: context.cpp:8358
Definition::getDefFileExtension
virtual QCString getDefFileExtension() const =0
ArgumentList::refQualifier
RefQualifierType refQualifier() const
Definition: arguments.h:109
Definition::hasBriefDescription
virtual bool hasBriefDescription() const =0
returns TRUE if this class has a brief description
ArgumentListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8326
StringVector
std::vector< std::string > StringVector
Definition: containers.h:32
ArgumentList::trailingReturnType
QCString trailingReturnType() const
Definition: arguments.h:107
PageTreeContext::Private
Definition: context.cpp:6548
ModuleContext::Private::inlineClasses
TemplateVariant inlineClasses() const
Definition: context.cpp:4587
ConceptContext::Private::createIncludeInfo
TemplateVariant createIncludeInfo() const
Definition: context.cpp:4456
FileDef::title
virtual QCString title() const =0
ConfigContext::Private::createFields
StringVector createFields() const
Definition: context.cpp:305
GlobalsIndexContext::Private::m_functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > m_functions
Definition: context.cpp:7122
NamespaceMembersIndexContext::Private::enumValues
TemplateVariant enumValues() const
Definition: context.cpp:7298
Config::init
void init()
PageContext::Private::~Private
virtual ~Private()
Definition: context.cpp:3278
FileContext::Private::Cachable::typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > typedefs
Definition: context.cpp:3033
NestingContext::addClassHierarchy
void addClassHierarchy(const ClassLinkedMap &clLinkedMap, ClassDefSet &visitedClasses)
Definition: context.cpp:6060
TranslateContext::Private::m_fortranOpt
bool m_fortranOpt
Definition: context.cpp:1010
GlobalsIndexContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:7078
MemberListInfoContext::Private::members
TemplateVariant members() const
Definition: context.cpp:7912
NamespaceContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:2726
DefinitionContext::createDetails
TemplateVariant createDetails() const
Definition: context.cpp:1483
NamespaceMembersIndexContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:7335
FileContext::Private::Cachable::detailedSequences
CachedItem< TemplateVariant, Private, &Private::createDetailedSequences > detailedSequences
Definition: context.cpp:3042
ClassContext::Private::Cachable::privateAttributes
CachedItem< TemplateVariant, Private, &Private::createPrivateAttributes > privateAttributes
Definition: context.cpp:2356
ClassMembersIndexContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:7189
Translator::trConstants
virtual QCString trConstants()=0
NestingNodeContext::Private::m_dir
CachedItem< TemplateVariant, Private, &Private::createDir > m_dir
Definition: context.cpp:5606
MemberContext::Private::Cachable::category
CachedItem< TemplateVariant, Private, &Private::createCategory > category
Definition: context.cpp:4248
ClassContext::Private::createInheritedByList
TemplateVariant createInheritedByList() const
Definition: context.cpp:1954
ArgumentListContext::Private::addArgument
void addArgument(const Argument &arg, const Definition *def, const QCString &relPath)
Definition: context.cpp:8292
ConceptContext::Private::Cachable::initializerAsCode
CachedItem< TemplateVariant, Private, &Private::createInitializerAsCode > initializerAsCode
Definition: context.cpp:4493
SrcLangExt_Unknown
@ SrcLangExt_Unknown
Definition: types.h:43
ModuleListContext::Private::addModules
void addModules()
Definition: context.cpp:6714
MemberContext::Private::createParamDocs
TemplateVariant createParamDocs() const
Definition: context.cpp:4033
SymbolContext::Private::m_prevDef
const Definition * m_prevDef
Definition: context.cpp:8456
NamespaceTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6279
TemplateImmutableStruct::alloc
static TemplateStructIntfPtr alloc(std::initializer_list< StructField > fields)
Creates an instance and returns a shared pointer to it
Definition: template.cpp:497
Translator::trRTFGeneralIndex
virtual QCString trRTFGeneralIndex()=0
ConceptTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6775
ConceptContext::Private::~Private
virtual ~Private()
Definition: context.cpp:4439
ClassIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:5052
NavPathElemContext::Private::isLinkable
TemplateVariant isLinkable() const
Definition: context.cpp:6997
ContextOutputFormat_Latex
@ ContextOutputFormat_Latex
Definition: context.cpp:79
ContextTreeType
ContextTreeType
Definition: context.h:481
ClassContext::Private::Cachable::typeConstraints
CachedItem< TemplateVariant, Private, &Private::createTypeConstraints > typeConstraints
Definition: context.cpp:2383
InheritedMemberInfoListContext::Private::addMemberListIncludingGrouped
void addMemberListIncludingGrouped(const ClassDef *inheritedFrom, const MemberList *ml, MemberList *combinedList)
Definition: context.cpp:8080
ModuleListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:776
ClassHierarchyContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:5220
ModuleContext::Private::detailedMacros
TemplateVariant detailedMacros() const
Definition: context.cpp:4574
MemberGroupListContext::Private::addMemberGroup
void addMemberGroup(const Definition *def, const QCString &relPath, const MemberGroup *mg)
Definition: context.cpp:7848
NavPathElemContext::Private::text
TemplateVariant text() const
Definition: context.cpp:7002
SearchIndicesContext::p
std::unique_ptr< Private > p
Definition: context.h:1390
ConceptTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6773
ClassContext::Private::protectedStaticAttributes
TemplateVariant protectedStaticAttributes() const
Definition: context.cpp:1751
Translator::trClassMethods
virtual QCString trClassMethods()=0
MemberListInfoContext::Private::Private
Private(const Definition *def, const QCString &relPath, const MemberList *ml, const QCString &title, const QCString &subtitle)
Definition: context.cpp:7903
ClassContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:2484
TranslateContext::Private::related
TemplateVariant related() const
Definition: context.cpp:943
NestingNodeContext::Private::getClass
TemplateVariant getClass() const
Definition: context.cpp:5330
MemberContext::Private::isSlot
TemplateVariant isSlot() const
Definition: context.cpp:3595
NestingContext::~NestingContext
virtual ~NestingContext()
Definition: context.cpp:5970
TranslateContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:1229
LinkedRefMap::empty
bool empty() const
Definition: linkedmap.h:374
NamespaceContext::Private::title
TemplateVariant title() const
Definition: context.cpp:2506
SymbolContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:8365
dotincldepgraph.h
NamespaceContext::Private::namespaces
TemplateVariant namespaces() const
Definition: context.cpp:2512
TranslateContext::Private::detailedDesc
TemplateVariant detailedDesc() const
Definition: context.cpp:750
MemberDef::isTypedef
virtual bool isTypedef() const =0
NavPathElemContext::Private::Private
Private(const Definition *def)
Definition: context.cpp:6989
FileContext::Private::createDetailedSequences
TemplateVariant createDetailedSequences() const
Definition: context.cpp:2977
Translator::trDetailedDescription
virtual QCString trDetailedDescription()=0
TemplateVariantList
std::vector< TemplateVariant > TemplateVariantList
Definition: template.h:261
ModuleContext::Private::Cachable::detailedTypedefs
CachedItem< TemplateVariant, Private, &Private::createDetailedTypedefs > detailedTypedefs
Definition: context.cpp:4907
MemberListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:7615
ModuleContext::alloc
static TemplateStructIntfPtr alloc(const GroupDef *gd)
Definition: context.h:341
ModuleTreeContext::Private::s_inst
static const PropertyMap< ModuleTreeContext::Private > s_inst
Definition: context.cpp:6869
MemberListType_typedefMembers
@ MemberListType_typedefMembers
Definition: types.h:137
DefinitionContext::anchor
TemplateVariant anchor() const
Definition: context.cpp:1412
Translator::trInstanceMethods
virtual QCString trInstanceMethods()=0
DotInclDepGraphPtr
std::shared_ptr< DotInclDepGraph > DotInclDepGraphPtr
Definition: dotincldepgraph.h:62
ModuleContext::Private::Cachable::namespaces
CachedItem< TemplateVariant, Private, &Private::createNamespaces > namespaces
Definition: context.cpp:4888
AllMembersListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:7752
MemberListType_decEnumValMembers
@ MemberListType_decEnumValMembers
Definition: types.h:155
NestingNodeContext::Private::createModule
TemplateVariant createModule() const
Definition: context.cpp:5577
NestingNodeContext::Private::createDir
TemplateVariant createDir() const
Definition: context.cpp:5559
FileContext::Private::sequences
TemplateVariant sequences() const
Definition: context.cpp:2766
ExampleListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6693
namespaceHasNestedConcept
bool namespaceHasNestedConcept(const NamespaceDef *nd)
Definition: namespacedef.cpp:1646
SymbolListContext::~SymbolListContext
virtual ~SymbolListContext()
Definition: context.cpp:8516
GroupDef::getConcepts
virtual const ConceptLinkedRefMap & getConcepts() const =0
ResourceMgr::instance
static ResourceMgr & instance()
Returns the one and only instance of this class
Definition: resourcemgr.cpp:32
ModuleTreeContext::ModuleTreeContext
ModuleTreeContext()
Definition: context.cpp:6888
PageContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:3382
ClassMembersIndexContext::Private::m_variables
CachedItem< TemplateVariant, Private, &Private::createVariables > m_variables
Definition: context.cpp:7232
MemberContext::Private::enumValues
TemplateVariant enumValues() const
Definition: context.cpp:3670
hasVisibleRoot
bool hasVisibleRoot(const BaseClassList &bcl)
Definition: classdef.cpp:4980
ClassContext::Private::m_classDef
const ClassDef * m_classDef
Definition: context.cpp:2331
ClassContext::Private::inheritanceDiagram
TemplateVariant inheritanceDiagram() const
Definition: context.cpp:1810
MemberListInfoContext::Private::m_relPath
QCString m_relPath
Definition: context.cpp:7946
TranslateContext::Private::compoundMembers
TemplateVariant compoundMembers() const
Definition: context.cpp:878
TextGeneratorLatex::writeLink
void writeLink(const QCString &ref, const QCString &f, const QCString &anchor, const QCString &text) const
Definition: context.cpp:3494
ModuleContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:4562
PageContext::Private::Private
Private(const PageDef *pd, bool isMainPage, bool isExample)
Definition: context.cpp:3273
DefinitionContext::sourceFileName
TemplateVariant sourceFileName() const
Definition: context.cpp:1413
ModuleContext::Private::detailedFriends
TemplateVariant detailedFriends() const
Definition: context.cpp:4586
MemberContext::Private::createImplements
TemplateVariant createImplements() const
Definition: context.cpp:4053
NamespaceContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:2520
NamespaceContext::Private::sequences
TemplateVariant sequences() const
Definition: context.cpp:2515
ClassContext::Private::getCollaborationGraph
DotClassGraphPtr getCollaborationGraph() const
Definition: context.cpp:1895
latexgen.h
ModuleContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:4551
ArgumentContext::Private::m_docs
CachedItem< TemplateVariant, Private, &Private::createDocs > m_docs
Definition: context.cpp:8250
ModuleContext::Private::createDetailedMacros
TemplateVariant createDetailedMacros() const
Definition: context.cpp:4801
ModuleContext::Private::createProperties
TemplateVariant createProperties() const
Definition: context.cpp:4793
ContextOutputFormat_Xml
@ ContextOutputFormat_Xml
Definition: context.cpp:83
Translator::trInheritsList
virtual QCString trInheritsList(int numEntries)=0
NestingContext::addPages
void addPages(const PageLinkedMap &pages, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:6040
NestingNodeContext::alloc
static TemplateStructIntfPtr alloc(const NestingNodeContext *parent, ContextTreeType type, const Definition *def, int index, int level, bool addClasses, bool addConcepts, bool inherit, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.h:496
ClassContext::Private::Cachable::packageStaticAttributes
CachedItem< TemplateVariant, Private, &Private::createPackageStaticAttributes > packageStaticAttributes
Definition: context.cpp:2363
Translator::trClassHierarchyDescription
virtual QCString trClassHierarchyDescription()=0
GlobalsIndexContext::Private::enumValues
TemplateVariant enumValues() const
Definition: context.cpp:7080
ClassContext::Private::isSimple
TemplateVariant isSimple() const
Definition: context.cpp:1789
InheritanceGraphContext::Private::fields
StringVector fields() const
Definition: context.cpp:7398
ClassContext::Private::createProtectedStaticMethods
TemplateVariant createProtectedStaticMethods() const
Definition: context.cpp:2050
toGroupDef
GroupDef * toGroupDef(Definition *d)
Definition: groupdef.cpp:1766
Translator::trCompoundMembers
virtual QCString trCompoundMembers()=0
SearchIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:8757
ModuleContext::Private::Cachable::groupGraph
CachedItem< DotGroupCollaborationPtr, Private, &Private::createGroupGraph > groupGraph
Definition: context.cpp:4920
Definition::docLine
virtual int docLine() const =0
FileContext::Private::Cachable::classes
CachedItem< TemplateVariant, Private, &Private::createClasses > classes
Definition: context.cpp:3029
MemberGroupListContext::p
std::unique_ptr< Private > p
Definition: context.h:1069
Translator::trSubprograms
virtual QCString trSubprograms()=0
DirContext::Private::Cachable::dirs
CachedItem< TemplateVariant, Private, &Private::createDirs > dirs
Definition: context.cpp:3223
TextGeneratorLatex::TextGeneratorLatex
TextGeneratorLatex(TextStream &ts)
Definition: context.cpp:3480
IncludeInfoContext::~IncludeInfoContext
virtual ~IncludeInfoContext()
Definition: context.cpp:1655
NavPathElemContext::Private::fields
StringVector fields() const
Definition: context.cpp:6993
MemberContext::Private::createCallerGraph
DotCallGraphPtr createCallerGraph() const
Definition: context.cpp:4147
NestingContext::Private::addDirs
void addDirs(const DirList &dirList, ClassDefSet &visitedClasses)
Definition: context.cpp:5804
IncludeInfoContext::Private::m_lang
SrcLangExt m_lang
Definition: context.cpp:1637
MemberContext::Private::fields
StringVector fields() const
Definition: context.cpp:3587
InheritanceListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:7554
ClassMembersIndexContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:7188
MemberListType_docDictionaryMembers
@ MemberListType_docDictionaryMembers
Definition: types.h:193
ModuleContext::Private::Cachable::detailedFunctions
CachedItem< TemplateVariant, Private, &Private::createDetailedFunctions > detailedFunctions
Definition: context.cpp:4910
Translator::trDirDepGraph
virtual QCString trDirDepGraph(const QCString &name)=0
Translator::trGeneratedBy
virtual QCString trGeneratedBy()=0
MemberContext::Private::createClassDef
TemplateVariant createClassDef() const
Definition: context.cpp:3964
ClassContext::Private::Cachable::classes
CachedItem< TemplateVariant, Private, &Private::createClasses > classes
Definition: context.cpp:2339
InheritanceNodeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7502
DotClassGraphPtr
std::shared_ptr< DotClassGraph > DotClassGraphPtr
Definition: dotclassgraph.h:66
ResourceMgr::writeCategory
bool writeCategory(const QCString &categoryName, const QCString &targetDir) const
Writes all resource belonging to a given category to a given target directory
Definition: resourcemgr.cpp:54
ConceptTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6774
SearchIndexContext::SearchIndexContext
SearchIndexContext(const SearchIndexInfo &info)
Definition: context.cpp:8785
SymbolIndexContext::SymbolIndexContext
SymbolIndexContext(const std::string &letter, const SearchIndexList &sl, const QCString &name)
Definition: context.cpp:8690
htmlhelp.h
MemberListType_priStaticMethods
@ MemberListType_priStaticMethods
Definition: types.h:114
FileContext::Private::namespaces
TemplateVariant namespaces() const
Definition: context.cpp:2762
ConceptDef
Definition: conceptdef.h:22
IncludeInfo::fileDef
const FileDef * fileDef
Definition: filedef.h:53
DirContext::Private::createFiles
TemplateVariant createFiles() const
Definition: context.cpp:3206
InheritedMemberInfoContext::Private::m_class
const ClassDef * m_class
Definition: context.cpp:8025
MemberDef::isConstrained
virtual bool isConstrained() const =0
NamespaceContext::Private::createDetailedEnums
TemplateVariant createDetailedEnums() const
Definition: context.cpp:2623
SearchIndicesContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8828
MemberListType_priStaticAttribs
@ MemberListType_priStaticAttribs
Definition: types.h:125
MemberInfoContext::Private::m_member
CachedItem< TemplateVariant, Private, &Private::createMember > m_member
Definition: context.cpp:7671
ContextGlobals::outputFormat
ContextOutputFormat outputFormat
Definition: context.cpp:78
ClassHierarchyContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:5230
TranslateContext::Private::fileDocumentation
TemplateVariant fileDocumentation() const
Definition: context.cpp:695
Normal
@ Normal
Definition: types.h:29
ClassContext::Private::Cachable::packageStaticMethods
CachedItem< TemplateVariant, Private, &Private::createPackageStaticMethods > packageStaticMethods
Definition: context.cpp:2361
ClassContext::Private::Cachable::packageAttributes
CachedItem< TemplateVariant, Private, &Private::createPackageAttributes > packageAttributes
Definition: context.cpp:2362
ClassContext::Private::packageMethods
TemplateVariant packageMethods() const
Definition: context.cpp:1760
FileListContext::Private::addFiles
void addFiles(const FileNameLinkedMap &fnMap)
Definition: context.cpp:6332
NamespaceTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6320
DefinitionContext::brief
TemplateVariant brief() const
Definition: context.cpp:1419
GenericNodeListContext::m_children
std::vector< TemplateVariant > m_children
Definition: context.cpp:229
MemberDef::hasReferencedByRelation
virtual bool hasReferencedByRelation() const =0
UsedFilesContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6449
MemberListType_signals
@ MemberListType_signals
Definition: types.h:131
ClassContext::Private::Cachable::examples
CachedItem< TemplateVariant, Private, &Private::createExamples > examples
Definition: context.cpp:2384
Doxygen::mainPage
static std::unique_ptr< PageDef > mainPage
Definition: doxygen.h:83
MemberInfo
Data associated with a MemberDef in an inheritance relation.
Definition: membername.h:66
NamespaceContext::Private::Cachable::namespaces
CachedItem< TemplateVariant, Private, &Private::createNamespaces > namespaces
Definition: context.cpp:2668
PageContext
Definition: context.h:297
TranslateContext::Private::classes
TemplateVariant classes() const
Definition: context.cpp:584
NamespaceTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6257
Config_getEnum
#define Config_getEnum(name)
Definition: config.h:35
DoxygenContext::Private::s_inst
static const PropertyMap< DoxygenContext::Private > s_inst
Definition: context.cpp:354
InheritanceNodeContext::Private::m_name
QCString m_name
Definition: context.cpp:7477
CachedItem::m_cache_flag
std::once_flag m_cache_flag
Definition: context.cpp:108
MemberDef::argsString
virtual QCString argsString() const =0
NamespaceListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6228
ModuleTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6856
NestingNodeContext::Private::m_members
std::shared_ptr< NestingContext > m_members
Definition: context.cpp:5601
NavPathElemContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7054
ContextTreeType::Example
@ Example
UsedFilesContext::Private::addFile
void addFile(const FileDef *fd)
Definition: context.cpp:6422
FileDef::generateSourceFile
virtual bool generateSourceFile() const =0
MemberContext::Private::Cachable::labels
CachedItem< TemplateVariant, Private, &Private::createLabels > labels
Definition: context.cpp:4266
Definition::TypeMember
@ TypeMember
Definition: definition.h:90
NestingNodeContext::Private::anchor
TemplateVariant anchor() const
Definition: context.cpp:5340
InheritedMemberInfoListContext::addMemberList
void addMemberList(const ClassDef *cd, MemberListType lt, const QCString &title, bool additionalList=TRUE)
Definition: context.cpp:8164
FileContext::Private::createMemberList
TemplateVariant createMemberList(MemberListType type, const QCString &title) const
Definition: context.cpp:2930
FileContext::Private::createConstantgroups
TemplateVariant createConstantgroups() const
Definition: context.cpp:2917
Translator::trDetailLevel
virtual QCString trDetailLevel()=0
NamespaceMembersIndexContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:7300
Portable::pathSeparator
QCString pathSeparator()
Definition: portable.cpp:347
MemberListType_functionMembers
@ MemberListType_functionMembers
Definition: types.h:140
MemberContext::Private::Cachable::reimplementedBy
CachedItem< TemplateVariant, Private, &Private::createReimplementedBy > reimplementedBy
Definition: context.cpp:4259
UsedFilesContext::UsedFilesContext
UsedFilesContext(const ClassDef *cd)
Definition: context.cpp:6428
NamespaceContext::Private::s_inst
static const PropertyMap< NamespaceContext::Private > s_inst
Definition: context.cpp:2686
Translator::trFileMembersDescription
virtual QCString trFileMembersDescription(bool extractAll)=0
ClassHierarchyContext::ClassHierarchyContext
ClassHierarchyContext()
Definition: context.cpp:5273
MemberContext::Private::referencesRelation
TemplateVariant referencesRelation() const
Definition: context.cpp:3835
ClassContext::Private::title
TemplateVariant title() const
Definition: context.cpp:1727
SearchIndexInfo::name
QCString name
Definition: searchindex.h:123
MemberListType
MemberListType
Definition: types.h:100
ExampleTreeContext::Private::s_inst
static const PropertyMap< ExampleTreeContext::Private > s_inst
Definition: context.cpp:6947
ClassContext::Private::createProtectedStaticAttributes
TemplateVariant createProtectedStaticAttributes() const
Definition: context.cpp:2058
MemberListType_docProSlotMembers
@ MemberListType_docProSlotMembers
Definition: types.h:172
LatexEscaper::clone
std::unique_ptr< TemplateEscapeIntf > clone()
Create a copy of the escape filter
Definition: context.cpp:8977
ModuleContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:4573
InheritanceNodeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7497
ClassHierarchyContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:5211
Translator::trNamespaceDocumentation
virtual QCString trNamespaceDocumentation()=0
Definition
The common base class of all entity definitions found in the sources.
Definition: definition.h:76
ClassHierarchyContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:464
Translator::trFunctionAndProc
virtual QCString trFunctionAndProc()=0
ModuleContext::Private::detailedEvents
TemplateVariant detailedEvents() const
Definition: context.cpp:4584
FileContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:2963
ContextOutputFormat_Unspecified
@ ContextOutputFormat_Unspecified
Definition: context.cpp:77
MemberListType_docEnumMembers
@ MemberListType_docEnumMembers
Definition: types.h:167
NamespaceListContext::Private::addNamespaces
void addNamespaces(const NamespaceLinkedMap &nsLinkedMap)
Definition: context.cpp:6206
ConfigContext::Private::get
TemplateVariant get(const QCString &name) const
Definition: context.cpp:244
NamespaceContext::Private::createDetailedDictionaries
TemplateVariant createDetailedDictionaries() const
Definition: context.cpp:2619
SearchIndicesContext::~SearchIndicesContext
virtual ~SearchIndicesContext()
Definition: context.cpp:8823
ClassContext::Private::createNumInheritanceNodes
int createNumInheritanceNodes() const
Definition: context.cpp:2326
MemberContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:3652
InheritanceGraphContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7448
ExampleListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6703
IncludeInfoContext::Private
Definition: context.cpp:1595
ClassDef::categoryOf
virtual ClassDef * categoryOf() const =0
Returns the class of which this is a category (Objective-C only)
NamespaceContext::Private::detailedDictionaries
TemplateVariant detailedDictionaries() const
Definition: context.cpp:2523
MemberContext::Private::isFriend
TemplateVariant isFriend() const
Definition: context.cpp:3599
MemberDef::isSignal
virtual bool isSignal() const =0
MemberContext::Private::createExamples
TemplateVariant createExamples() const
Definition: context.cpp:4113
ClassContext::Private::Cachable::inheritedByList
CachedItem< TemplateVariant, Private, &Private::createInheritedByList > inheritedByList
Definition: context.cpp:2336
MemberContext::Private::reimplementedBy
TemplateVariant reimplementedBy() const
Definition: context.cpp:3694
MemberContext::Private::Cachable::enumValues
CachedItem< TemplateVariant, Private, &Private::createEnumValues > enumValues
Definition: context.cpp:4245
GlobalsIndexContext::Private::createEnumValues
TemplateVariant createEnumValues() const
Definition: context.cpp:7118
NamespaceContext::Private::classes
TemplateVariant classes() const
Definition: context.cpp:2511
NestingContext::Private::addMembers
void addMembers(const MemberVector &mv, ClassDefSet &visitedClasses)
Definition: context.cpp:5946
MemberDef::isObjCProperty
virtual bool isObjCProperty() const =0
MemberContext::~MemberContext
virtual ~MemberContext()
Definition: context.cpp:4416
NamespaceTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6289
PageTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6573
ClassListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:5035
MemberGroupListContext::Private
Definition: context.cpp:7845
MemberDef::isDefault
virtual bool isDefault() const =0
InheritanceGraphContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7397
NestingContext::p
std::unique_ptr< Private > p
Definition: context.h:560
NamespaceTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6265
TranslateContext::Private::moduleIndex
TemplateVariant moduleIndex() const
Definition: context.cpp:626
NamespaceListContext::p
std::unique_ptr< Private > p
Definition: context.h:622
MemberListType_pacStaticAttribs
@ MemberListType_pacStaticAttribs
Definition: types.h:124
ClassTreeContext::Private::s_inst
static const PropertyMap< ClassTreeContext::Private > s_inst
Definition: context.cpp:6121
NestingNodeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:5676
DirContext::p
std::unique_ptr< Private > p
Definition: context.h:290
MemberDef::isStatic
virtual bool isStatic() const =0
NamespaceDef
An abstract interface of a namespace symbol.
Definition: namespacedef.h:54
MemberListType_services
@ MemberListType_services
Definition: types.h:187
PropertyMap::get
TemplateVariant get(const T *obj, const QCString &n) const
Definition: context.cpp:126
Dir
Class representing a directory in the file system
Definition: dir.h:68
MemberContext::Private::sourceCode
TemplateVariant sourceCode() const
Definition: context.cpp:3699
TranslateContext::Private::moduleDocumentation
TemplateVariant moduleDocumentation() const
Definition: context.cpp:691
LayoutDocEntry::MemberDef
@ MemberDef
Definition: layout.h:38
NamespaceContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:2508
Private
@ Private
Definition: types.h:26
NamespaceContext::Private::createConstantgroups
TemplateVariant createConstantgroups() const
Definition: context.cpp:2563
DoxygenContext::Private
Definition: context.cpp:335
Translator::trFileList
virtual QCString trFileList()=0
NamespaceContext::Private::compoundType
TemplateVariant compoundType() const
Definition: context.cpp:2509
NamespaceContext::Private::Cachable::typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > typedefs
Definition: context.cpp:2670
MemberListType_constructors
@ MemberListType_constructors
Definition: types.h:145
Definition::isLinkable
virtual bool isLinkable() const =0
GroupDef::getClasses
virtual const ClassLinkedRefMap & getClasses() const =0
MemberContext::Private::typeConstraints
TemplateVariant typeConstraints() const
Definition: context.cpp:3696
SymbolGroupContext::~SymbolGroupContext
virtual ~SymbolGroupContext()
Definition: context.cpp:8581
NestingNodeContext::Private::createBrief
TemplateVariant createBrief() const
Definition: context.cpp:5589
DefinitionContext::DefinitionContext
DefinitionContext(const Definition *d)
Definition: context.cpp:1370
ModuleListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6736
MemberContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:4425
Translator::trClassDocumentation
virtual QCString trClassDocumentation()=0
ClassDef::hasExamples
virtual bool hasExamples() const =0
FileContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:2771
DirList
A list of directories.
Definition: dirdef.h:181
ModuleContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:4767
ClassDef::getExamples
virtual const ExampleList & getExamples() const =0
Translator::trDictionaryDocumentation
virtual QCString trDictionaryDocumentation()=0
ContextTreeType::File
@ File
NestingContext::Private::addClassHierarchy
void addClassHierarchy(const ClassLinkedMap &classLinkedMap, ClassDefSet &visitedClasses)
Definition: context.cpp:5917
ClassListContext::Private
Definition: context.cpp:4996
MemberListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1004
InheritedMemberInfoContext::alloc
static TemplateStructIntfPtr alloc(const ClassDef *cd, std::unique_ptr< MemberList > &&ml, const QCString &title)
Definition: context.h:1123
MemberDef::isMaybeDefault
virtual bool isMaybeDefault() const =0
ClassContext::Private::inherits
TemplateVariant inherits() const
Definition: context.cpp:1736
pagedef.h
MemberContext::Private::anonymousType
TemplateVariant anonymousType() const
Definition: context.cpp:3668
DefinitionContext::relPath
virtual TemplateVariant relPath() const
Definition: context.cpp:1478
TranslateContext::Private::gotoGraphicalHierarchy
TemplateVariant gotoGraphicalHierarchy() const
Definition: context.cpp:721
IncludeInfoContext::Private::m_info
const IncludeInfo * m_info
Definition: context.cpp:1629
ClassContext::Private::createPublicMethods
TemplateVariant createPublicMethods() const
Definition: context.cpp:2006
MemberContext::Private::createAnonymousMember
TemplateVariant createAnonymousMember() const
Definition: context.cpp:4151
NamespaceContext::Private::createDictionaries
TemplateVariant createDictionaries() const
Definition: context.cpp:2590
DoxygenContext::DoxygenContext
DoxygenContext()
Definition: context.cpp:372
TextGeneratorHtml::m_ts
TextStream & m_ts
Definition: context.cpp:3471
SearchIndexContext::Private::symbolIndices
TemplateVariant symbolIndices() const
Definition: context.cpp:8763
MemberListInfoContext::Private::createMemberList
TemplateVariant createMemberList() const
Definition: context.cpp:7921
FileContext::Private::hasIncludeGraph
TemplateVariant hasIncludeGraph() const
Definition: context.cpp:2784
TranslateContext::Private::namespaceList
TemplateVariant namespaceList() const
Definition: context.cpp:661
MemberContext::Private::hasRefQualifierLValue
TemplateVariant hasRefQualifierLValue() const
Definition: context.cpp:3685
NamespaceContext::Private::detailedVariables
TemplateVariant detailedVariables() const
Definition: context.cpp:2526
MemberGroupInfoContext::Private::fields
StringVector fields() const
Definition: context.cpp:7772
SrcLangExt_XML
@ SrcLangExt_XML
Definition: types.h:55
Doxygen::hiddenClassLinkedMap
static ClassLinkedMap * hiddenClassLinkedMap
Definition: doxygen.h:79
QCString::length
uint length() const
Returns the length of the string, not counting the 0-terminator.
Definition: qcstring.h:147
NestingContext::Private::addClasses
void addClasses(const ClassLinkedRefMap &clLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5764
MemberContext::Private::getCallGraph
DotCallGraphPtr getCallGraph() const
Definition: context.cpp:3700
InheritanceGraphContext::p
std::unique_ptr< Private > p
Definition: context.h:413
SearchIndexInfo
Definition: searchindex.h:120
DirContext::alloc
static TemplateStructIntfPtr alloc(const DirDef *dd)
Definition: context.h:279
MemberDef::isMaybeVoid
virtual bool isMaybeVoid() const =0
SymbolGroupContext::Private
Definition: context.cpp:8538
GroupDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
MemberInfoContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7697
DirListContext::Private::Private
Private()
Definition: context.cpp:6382
MemberGroupInfoContext::Private::groupAnchor
TemplateVariant groupAnchor() const
Definition: context.cpp:7779
SymbolContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:8362
CachedItem
Wrapper for data that needs to be cached.
Definition: context.cpp:91
InheritanceNodeContext::Private::getClass
TemplateVariant getClass() const
Definition: context.cpp:7467
ArgumentContext::~ArgumentContext
virtual ~ArgumentContext()
Definition: context.cpp:8272
GlobalsIndexContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:7076
NamespaceMembersIndexContext::Private::s_inst
static const PropertyMap< NamespaceMembersIndexContext::Private > s_inst
Definition: context.cpp:7345
ClassContext::Private::publicAttributes
TemplateVariant publicAttributes() const
Definition: context.cpp:1744
NamespaceMembersIndexContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:7294
ClassContext::Private::detailedInterfaces
TemplateVariant detailedInterfaces() const
Definition: context.cpp:1771
MemberList::getMemberGroupList
const MemberGroupRefList & getMemberGroupList() const
Definition: memberlist.h:118
GroupDef::subGrouping
virtual bool subGrouping() const =0
ClassDiagram::writeImage
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition: diagram.cpp:1342
NestingNodeContext::Private::m_page
CachedItem< TemplateVariant, Private, &Private::createPage > m_page
Definition: context.cpp:5608
NestingNodeContext::id
QCString id() const
Definition: context.cpp:5681
NestingContext::Private::addPages
void addPages(const PageLinkedRefMap &pages, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5855
NestingNodeContext::Private::m_namespace
CachedItem< TemplateVariant, Private, &Private::createNamespace > m_namespace
Definition: context.cpp:5605
ExampleTreeContext::Private::m_exampleTree
TemplateListIntfPtr m_exampleTree
Definition: context.cpp:6944
ArgumentList
This class represents an function or template argument list.
Definition: arguments.h:59
PageTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6570
MemberDef::isAttribute
virtual bool isAttribute() const =0
FileContext::Private::Cachable::dictionaries
CachedItem< TemplateVariant, Private, &Private::createDictionaries > dictionaries
Definition: context.cpp:3035
ModuleContext::Private::Cachable::detailedFriends
CachedItem< TemplateVariant, Private, &Private::createDetailedFriends > detailedFriends
Definition: context.cpp:4918
LayoutDocManager::File
@ File
Definition: layout.h:203
Doxygen::conceptLinkedMap
static ConceptLinkedMap * conceptLinkedMap
Definition: doxygen.h:80
MemberListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:7605
ClassIndexContext::Private::s_inst
static const PropertyMap< ClassIndexContext::Private > s_inst
Definition: context.cpp:5093
ModuleContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:4870
ClassContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:2392
ClassContext::Private::createPrivateAttributes
TemplateVariant createPrivateAttributes() const
Definition: context.cpp:2082
MemberContext::Private::isNoExcept
TemplateVariant isNoExcept() const
Definition: context.cpp:3636
GenericNodeListContext::append
void append(const TemplateVariant &ctn)
Definition: context.cpp:220
ConceptTreeContext::Private::s_inst
static const PropertyMap< ConceptTreeContext::Private > s_inst
Definition: context.cpp:6793
ClassDef::compoundTypeString
virtual QCString compoundTypeString() const =0
Returns the type of compound as a string
NestingNodeContext::Private::createNamespace
TemplateVariant createNamespace() const
Definition: context.cpp:5553
GenericNodeListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.cpp:196
MemberListContext::MemberListContext
MemberListContext()
Definition: context.cpp:7571
DoxygenContext::Private::createMathJaxMacros
QCString createMathJaxMacros() const
Definition: context.cpp:351
MemberListInfoContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7977
SymbolContext::Private::m_scope
CachedItem< TemplateVariant, Private,&Private::createScope > m_scope
Definition: context.cpp:8458
Translator::trCallGraph
virtual QCString trCallGraph()=0
MemberDef::isInitonly
virtual bool isInitonly() const =0
ClassContext::Private::Cachable::innerClasses
CachedItem< TemplateVariant, Private, &Private::createInnerClasses > innerClasses
Definition: context.cpp:2340
MemberContext::Private::Cachable::implements
CachedItem< TemplateVariant, Private, &Private::createImplements > implements
Definition: context.cpp:4256
Translator::trSequences
virtual QCString trSequences()=0
PageContext::PageContext
PageContext(const PageDef *, bool isMainPage, bool isExample)
Definition: context.cpp:3374
MemberDef::getLabels
virtual StringVector getLabels(const Definition *container) const =0
DirDef
A model of a directory symbol.
Definition: dirdef.h:110
ClassDef::title
virtual QCString title() const =0
Translator::trStaticPublicMembers
virtual QCString trStaticPublicMembers()=0
SrcLangExt_PHP
@ SrcLangExt_PHP
Definition: types.h:48
ClassContext::Private::Cachable::events
CachedItem< TemplateVariant, Private, &Private::createEvents > events
Definition: context.cpp:2368
SrcLangExt_JS
@ SrcLangExt_JS
Definition: types.h:51
FileListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6366
MemberContext::Private::createTrailingReturnType
TemplateVariant createTrailingReturnType() const
Definition: context.cpp:3987
ExampleTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6930
ClassMembersIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:913
DefinitionContext::isReference
TemplateVariant isReference() const
Definition: context.cpp:1425
MemberListType_priAttribs
@ MemberListType_priAttribs
Definition: types.h:121
ConceptTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:811
Translator::trInheritedByList
virtual QCString trInheritedByList(int numEntries)=0
SymbolIndexContext::~SymbolIndexContext
virtual ~SymbolIndexContext()
Definition: context.cpp:8694
MemberGroup::anchor
QCString anchor() const
Definition: membergroup.cpp:258
MemberGroupInfoContext::Private::groupSubtitle
TemplateVariant groupSubtitle() const
Definition: context.cpp:7778
PageContext::Private::m_isExample
bool m_isExample
Definition: context.cpp:3359
NamespaceMembersIndexContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:7295
ClassContext::Private::protectedSlots
TemplateVariant protectedSlots() const
Definition: context.cpp:1752
ClassIndexContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:5059
FileContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:2764
HtmlEscaper::clone
std::unique_ptr< TemplateEscapeIntf > clone()
Create a copy of the escape filter
Definition: context.cpp:8849
Translator::trListOfAllMembers
virtual QCString trListOfAllMembers()=0
MemberContext::Private::paramDocs
TemplateVariant paramDocs() const
Definition: context.cpp:3690
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
MemberContext::Private::createParameters
TemplateVariant createParameters() const
Definition: context.cpp:3939
MemberInfoContext::Private::m_memberInfo
const MemberInfo * m_memberInfo
Definition: context.cpp:7670
MemberListType_allMembersList
@ MemberListType_allMembersList
Definition: types.h:147
ArgumentListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1206
FileContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:2999
DirContext::Private::Cachable::files
CachedItem< TemplateVariant, Private, &Private::createFiles > files
Definition: context.cpp:3224
NamespaceListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6233
classHasVisibleChildren
bool classHasVisibleChildren(const ClassDef *cd)
Definition: classdef.cpp:4991
MemberContext::Private::createSourceRefBys
TemplateVariant createSourceRefBys() const
Definition: context.cpp:4139
ClassContext::Private::Cachable::detailedVariables
CachedItem< TemplateVariant, Private, &Private::createDetailedVariables > detailedVariables
Definition: context.cpp:2378
index.h
SymbolGroupContext::SymbolGroupContext
SymbolGroupContext(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.cpp:8576
MemberListInfoContext::Private::m_def
const Definition * m_def
Definition: context.cpp:7944
ClassContext::Private::createPackageTypes
TemplateVariant createPackageTypes() const
Definition: context.cpp:2090
ExampleTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6931
ClassDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
returns TRUE if this class has a non-empty detailed description
TranslateContext::Private::includedByDependencyGraph
TemplateVariant includedByDependencyGraph() const
Definition: context.cpp:854
FileDef::getNamespaces
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
GlobalsIndexContext::Private::MemberFilter
bool(MemberDef::*)() const MemberFilter
Definition: context.cpp:7092
GlobalsIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7160
ArgumentContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8276
dotgfxhierarchytable.h
TranslateContext::Private::handleGeneratedAt
TemplateVariant handleGeneratedAt(const TemplateVariantList &args) const
Definition: context.cpp:410
ClassMembersIndexContext::Private::m_enums
CachedItem< TemplateVariant, Private, &Private::createEnums > m_enums
Definition: context.cpp:7234
MemberContext::Private::hasOneLineInitializer
TemplateVariant hasOneLineInitializer() const
Definition: context.cpp:3657
ClassContext::Private::unoIDLInterfaces
TemplateVariant unoIDLInterfaces() const
Definition: context.cpp:1739
Translator::trModules
virtual QCString trModules()=0
ModuleListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6741
Translator::trPackageAttribs
virtual QCString trPackageAttribs()=0
ClassContext::Private::collaborationDiagram
TemplateVariant collaborationDiagram() const
Definition: context.cpp:1904
ConceptTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6782
FileTreeContext::~FileTreeContext
virtual ~FileTreeContext()
Definition: context.cpp:6532
ClassContext::alloc
static TemplateStructIntfPtr alloc(const ClassDef *cd)
Definition: context.h:199
Doxygen::pageLinkedMap
static PageLinkedMap * pageLinkedMap
Definition: doxygen.h:82
IncludeInfoContext::Private::s_inst
static const PropertyMap< IncludeInfoContext::Private > s_inst
Definition: context.cpp:1638
TranslateContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:115
MemberContext::Private::isDefault
TemplateVariant isDefault() const
Definition: context.cpp:3634
ClassContext::Private::createFriends
TemplateVariant createFriends() const
Definition: context.cpp:2118
MemberContext::Private::hasReferencesRelation
TemplateVariant hasReferencesRelation() const
Definition: context.cpp:3704
MemberContext::Private::s_inst
static const PropertyMap< MemberContext::Private > s_inst
Definition: context.cpp:4278
InheritedMemberInfoContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8059
namespacedef.h
NestingNodeContext::Private::partOfGroup
TemplateVariant partOfGroup() const
Definition: context.cpp:5355
ClassHierarchyContext::Private::diagrams
TemplateVariant diagrams() const
Definition: context.cpp:5221
FileContext::Private::~Private
virtual ~Private()
Definition: context.cpp:2745
TranslateContext::Private::all
TemplateVariant all() const
Definition: context.cpp:910
NestingNodeContext::p
std::unique_ptr< Private > p
Definition: context.h:520
Translator::trPublicMembers
virtual QCString trPublicMembers()=0
SymbolIndexContext::Private::symbolGroups
TemplateVariant symbolGroups() const
Definition: context.cpp:8666
GroupDef::groupTitle
virtual QCString groupTitle() const =0
SymbolIndexContext::Private::createSymbolGroups
TemplateVariant createSymbolGroups() const
Definition: context.cpp:8670
Definition::TypePage
@ TypePage
Definition: definition.h:93
NestingContext::Private::Private
Private(const NestingNodeContext *parent, ContextTreeType type, int level)
Definition: context.cpp:5692
DoxygenContext::Private::mathJaxMacros
TemplateVariant mathJaxMacros() const
Definition: context.cpp:347
TranslateContext::Private::namespaceMembersDescription
TemplateVariant namespaceMembersDescription() const
Definition: context.cpp:712
Translator::trPrivateAttribs
virtual QCString trPrivateAttribs()=0
GlobalsIndexContext::Private
Definition: context.cpp:7066
DefinitionContext::m_def
const Definition * m_def
Definition: context.cpp:1563
MemberContext::Private::hasRefQualifierRValue
TemplateVariant hasRefQualifierRValue() const
Definition: context.cpp:3686
createPageDef
PageDef * createPageDef(const QCString &f, int l, const QCString &n, const QCString &d, const QCString &t)
Definition: pagedef.cpp:76
MemberDef::isNonAtomic
virtual bool isNonAtomic() const =0
ClassContext::Private
Definition: context.cpp:1712
namespaceHasNestedClass
bool namespaceHasNestedClass(const NamespaceDef *nd, bool filterClasses, ClassDef::CompoundType ct)
Definition: namespacedef.cpp:1666
Translator::trSequenceDocumentation
virtual QCString trSequenceDocumentation()=0
MemberListInfoContext::Private
Definition: context.cpp:7900
DefinitionContext::Cachable::navPath
CachedItem< TemplateListIntfPtr, DC, &DC::createNavigationPath > navPath
Definition: context.cpp:1557
DirContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:3263
MemberContext::Private::isPrivateSettable
TemplateVariant isPrivateSettable() const
Definition: context.cpp:3609
ClassContext::Private::createDetailedMethods
TemplateVariant createDetailedMethods() const
Definition: context.cpp:2146
NestingNodeContext::Private::m_level
int m_level
Definition: context.cpp:5602
MemberContext::Private::reimplements
TemplateVariant reimplements() const
Definition: context.cpp:3692
MemberGroupInfoContext::~MemberGroupInfoContext
virtual ~MemberGroupInfoContext()
Definition: context.cpp:7828
SymbolIndicesContext::Private::Private
Private(const SearchIndexInfo &info)
Definition: context.cpp:8714
Translator::trGlobalNamespace
virtual QCString trGlobalNamespace()=0
dotdirdeps.h
FileContext::Private::detailedMacros
TemplateVariant detailedMacros() const
Definition: context.cpp:2772
MemberListInfoContext::Private::m_memberList
const MemberList * m_memberList
Definition: context.cpp:7945
ModuleContext::Private::createDetailedProtectedSlots
TemplateVariant createDetailedProtectedSlots() const
Definition: context.cpp:4835
MemberContext::Private::getDefArgList
const ArgumentList & getDefArgList() const
Definition: context.cpp:3706
TranslateContext::Private::listOfAllMembers
TemplateVariant listOfAllMembers() const
Definition: context.cpp:774
SymbolIndicesContext::SymbolIndicesContext
SymbolIndicesContext(const SearchIndexInfo &info)
Definition: context.cpp:8724
MemberGroup::header
QCString header() const
Definition: membergroup.h:48
NestingContext::Private::addNamespace
void addNamespace(const NamespaceDef *nd, bool rootOnly, bool addClasses, bool addConcepts, ClassDefSet &visitedClasses)
Definition: context.cpp:5695
MemberContext::Private::isUNOProperty
TemplateVariant isUNOProperty() const
Definition: context.cpp:3638
ModuleTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6852
MemberContext::Private::isBound
TemplateVariant isBound() const
Definition: context.cpp:3640
ModuleContext::Private::Private
Private(const GroupDef *gd)
Definition: context.cpp:4537
SearchIndexContext::Private::Private
Private(const SearchIndexInfo &info)
Definition: context.cpp:8753
ClassIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:5117
MemberContext::Private::definition
TemplateVariant definition() const
Definition: context.cpp:3680
MemberDef::getClassDefOfAnonymousType
virtual ClassDef * getClassDefOfAnonymousType() const =0
ModuleContext::Private::Cachable::classes
CachedItem< TemplateVariant, Private, &Private::createClasses > classes
Definition: context.cpp:4887
ArgumentListContext::~ArgumentListContext
virtual ~ArgumentListContext()
Definition: context.cpp:8311
NamespaceDef::title
virtual QCString title() const =0
TranslateContext::Private::mainPage
TemplateVariant mainPage() const
Definition: context.cpp:580
PageTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6567
membername.h
MemberContext::Private::createFieldType
TemplateVariant createFieldType() const
Definition: context.cpp:4224
ClassContext::Private::Cachable::additionalInheritedMembers
CachedItem< TemplateVariant, Private, &Private::createAdditionalInheritedMembers > additionalInheritedMembers
Definition: context.cpp:2386
MemberGroupInfoContext::Private::s_inst
static const PropertyMap< MemberGroupInfoContext::Private > s_inst
Definition: context.cpp:7807
ModuleContext::Private::Cachable::memberGroups
CachedItem< TemplateVariant, Private, &Private::createMemberGroups > memberGroups
Definition: context.cpp:4905
ClassDef::Interface
@ Interface
Definition: classdef.h:110
NestingContext::Private::addPage
void addPage(const PageDef *pd, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5837
DefinitionContext::createNavigationPath
TemplateListIntfPtr createNavigationPath() const
Definition: context.cpp:1526
ClassContext::Private::detailedProperties
TemplateVariant detailedProperties() const
Definition: context.cpp:1776
ClassDef::subGrouping
virtual bool subGrouping() const =0
PageContext::Private::title
TemplateVariant title() const
Definition: context.cpp:3285
NestingContext::Private::addDerivedClasses
void addDerivedClasses(const BaseClassList &bcl, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.cpp:5889
NestingNodeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:5314
ClassTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6101
VhdlDocGen::PACKAGECLASS
@ PACKAGECLASS
Definition: vhdldocgen.h:77
MemberContext::Private::createDeclType
TemplateVariant createDeclType() const
Definition: context.cpp:4216
TextGeneratorFactory::create
TextGeneratorIntf * create(TextStream &ts, const QCString &relPath)
Definition: context.cpp:3543
Translator::trMemberFunctionDocumentation
virtual QCString trMemberFunctionDocumentation()=0
MemberContext::Private::labels
TemplateVariant labels() const
Definition: context.cpp:3689
NamespaceContext::Private::createDetailedTypedefs
TemplateVariant createDetailedTypedefs() const
Definition: context.cpp:2611
ConceptDef::includeInfo
virtual const IncludeInfo * includeInfo() const =0
MemberListType_pubTypes
@ MemberListType_pubTypes
Definition: types.h:126
SearchIndexContext::Private::m_info
const SearchIndexInfo & m_info
Definition: context.cpp:8771
SymbolIndexContext::Private::m_symbolGroups
CachedItem< TemplateVariant, Private,&Private::createSymbolGroups > m_symbolGroups
Definition: context.cpp:8677
toMemberDef
MemberDef * toMemberDef(Definition *d)
Definition: memberdef.cpp:6088
MemberDef::bitfieldString
virtual QCString bitfieldString() const =0
Translator::trConstantGroups
virtual QCString trConstantGroups()=0
PageTreeContext::PageTreeContext
PageTreeContext(const PageLinkedMap &pages)
Definition: context.cpp:6605
latexdocvisitor.h
SymbolContext::alloc
static TemplateStructIntfPtr alloc(const Definition *def, const Definition *prev, const Definition *next)
Definition: context.h:1230
MemberVector::push_back
void push_back(const MemberDef *md)
Definition: memberlist.h:42
PageDef::getSubPages
virtual const PageLinkedRefMap & getSubPages() const =0
GroupDef::getFiles
virtual const FileList & getFiles() const =0
MemberDef::hasMultiLineInitializer
virtual bool hasMultiLineInitializer() const =0
MemberContext::Private::createTemplateArgs
TemplateVariant createTemplateArgs() const
Definition: context.cpp:3899
NamespaceContext::Private::Cachable::constantgroups
CachedItem< TemplateVariant, Private, &Private::createConstantgroups > constantgroups
Definition: context.cpp:2669
Translator::trDefinedAtLineInSourceFile
virtual QCString trDefinedAtLineInSourceFile()=0
ClassContext::Private::createDetailedConstructors
TemplateVariant createDetailedConstructors() const
Definition: context.cpp:2142
GlobalsIndexContext::Private::m_typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > m_typedefs
Definition: context.cpp:7124
GroupDef::getMemberList
virtual MemberList * getMemberList(MemberListType lt) const =0
FileContext::Private::Cachable::macros
CachedItem< TemplateVariant, Private, &Private::createMacros > macros
Definition: context.cpp:3032
Template::render
virtual void render(TextStream &ts, TemplateContext *c)=0
Renders a template instance to a stream.
ModuleTreeContext::Private::Private
Private()
Definition: context.cpp:6834
ModuleContext::Private::createPrivateSlots
TemplateVariant createPrivateSlots() const
Definition: context.cpp:4785
Definition::getReferencedByMembers
virtual const MemberVector & getReferencedByMembers() const =0
MemberListContext::Private
Definition: context.cpp:7562
SrcLangExt
SrcLangExt
Language as given by extension
Definition: types.h:41
TranslateContext::Private::handleInheritsList
TemplateVariant handleInheritsList(const TemplateVariantList &args) const
Definition: context.cpp:458
DirListContext::~DirListContext
virtual ~DirListContext()
Definition: context.cpp:6395
MemberListInfoContext::Private::subtitle
TemplateVariant subtitle() const
Definition: context.cpp:7914
createLinkedText
TemplateVariant createLinkedText(const Definition *def, const QCString &relPath, const QCString &text)
Definition: context.cpp:3561
MemberListType_priSlots
@ MemberListType_priSlots
Definition: types.h:117
ClassContext::Private::protectedMethods
TemplateVariant protectedMethods() const
Definition: context.cpp:1748
computePreferredDepth
static int computePreferredDepth(const TemplateListIntfPtr list, int maxDepth)
Definition: context.cpp:5167
PageListContext::PageListContext
PageListContext(const PageLinkedMap &pages)
Definition: context.cpp:6641
PageLinkedRefMap
Definition: pagedef.h:78
ContextTreeType::Concept
@ Concept
ConceptListContext::Private::addConcepts
void addConcepts(const ConceptLinkedMap &nsLinkedMap)
Definition: context.cpp:6163
MemberListType_docSequenceMembers
@ MemberListType_docSequenceMembers
Definition: types.h:191
IncludeInfoListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:1695
NestingNodeContext
Definition: context.h:493
MemberDef::typeConstraints
virtual const ArgumentList & typeConstraints() const =0
NamespaceContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:2517
Translator::trProtectedTypes
virtual QCString trProtectedTypes()=0
ModuleContext::Private::enumValues
TemplateVariant enumValues() const
Definition: context.cpp:4563
FileTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6502
ModuleContext::Private::createDirs
TemplateVariant createDirs() const
Definition: context.cpp:4659
ModuleContext::Private::constantgroups
TemplateVariant constantgroups() const
Definition: context.cpp:4559
MemberDef::isPrototype
virtual bool isPrototype() const =0
TranslateContext::Private::theListOfAllMembers
TemplateVariant theListOfAllMembers() const
Definition: context.cpp:782
SearchIndicesContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8838
Doxygen::globalScope
static NamespaceDefMutable * globalScope
Definition: doxygen.h:102
NamespaceMembersIndexContext::NamespaceMembersIndexContext
NamespaceMembersIndexContext()
Definition: context.cpp:7370
ClassContext::Private::templateDecls
TemplateVariant templateDecls() const
Definition: context.cpp:1781
ModuleContext
Definition: context.h:338
GlobalsIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:882
MemberInfo::virt
Specifier virt() const
Definition: membername.h:77
MemberListContext::~MemberListContext
virtual ~MemberListContext()
Definition: context.cpp:7600
NamespaceTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6288
ClassContext::Private::createCategoryOf
TemplateVariant createCategoryOf() const
Definition: context.cpp:2320
NestingNodeContext::Private::createFile
TemplateVariant createFile() const
Definition: context.cpp:5565
NestingContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:5980
ClassMembersIndexContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:7194
ClassContext::Private::createProperties
TemplateVariant createProperties() const
Definition: context.cpp:2110
InheritanceGraphContext::Private::m_node
DotNode * m_node
Definition: context.cpp:7422
namespaceHasNestedNamespace
bool namespaceHasNestedNamespace(const NamespaceDef *nd)
Definition: namespacedef.cpp:1634
InheritedMemberInfoListContext::~InheritedMemberInfoListContext
virtual ~InheritedMemberInfoListContext()
Definition: context.cpp:8178
TranslateContext::Private::classList
TemplateVariant classList() const
Definition: context.cpp:598
ExampleListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:840
ModuleContext::Private::createDetailedProperties
TemplateVariant createDetailedProperties() const
Definition: context.cpp:4847
ClassMembersIndexContext::Private::enumValues
TemplateVariant enumValues() const
Definition: context.cpp:7187
SymbolIndexContext::alloc
static TemplateStructIntfPtr alloc(const std::string &letter, const SearchIndexList &sl, const QCString &name)
Definition: context.h:1316
ModuleContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:4760
SymbolGroupContext::Private::s_inst
static const PropertyMap< SymbolGroupContext::Private > s_inst
Definition: context.cpp:8564
SearchIndexContext::~SearchIndexContext
virtual ~SearchIndexContext()
Definition: context.cpp:8789
ClassIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:382
NestingContext::addFiles
void addFiles(const FileNameLinkedMap &, ClassDefSet &visitedClasses)
Definition: context.cpp:6030
MemberDef::isDelete
virtual bool isDelete() const =0
SymbolGroupListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8641
ClassIndexContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:5058
NestingContext::Private::m_parent
const NestingNodeContext * m_parent
Definition: context.cpp:5960
NestingNodeContext::Private::m_def
const Definition * m_def
Definition: context.cpp:5599
ConceptContext::Private::createTemplateDecls
TemplateVariant createTemplateDecls() const
Definition: context.cpp:4462
ClassContext::Private::createPackageStaticAttributes
TemplateVariant createPackageStaticAttributes() const
Definition: context.cpp:2106
FileContext::Private::Cachable::namespaces
CachedItem< TemplateVariant, Private, &Private::createNamespaces > namespaces
Definition: context.cpp:3030
Virtual
@ Virtual
Definition: types.h:29
InheritanceNodeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7462
QCString::str
std::string str() const
Definition: qcstring.h:442
RefQualifierRValue
@ RefQualifierRValue
Definition: arguments.h:50
Translator::trStaticPublicAttribs
virtual QCString trStaticPublicAttribs()=0
NamespaceMembersIndexContext::Private
Definition: context.cpp:7284
MemberDef::isInline
virtual bool isInline() const =0
NestingContext::addClasses
void addClasses(const ClassLinkedMap &clLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5995
LinkedMap< FileName, FileNameFn, FileNameFn, std::unordered_multimap< std::string, FileName *, FileNameFn, FileNameFn > >::Ptr
std::unique_ptr< FileName > Ptr
Definition: linkedmap.h:51
ModuleTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6844
MemberContext::Private::isReadable
TemplateVariant isReadable() const
Definition: context.cpp:3611
Translator::trPrivateTypes
virtual QCString trPrivateTypes()=0
FileContext::Private::title
TemplateVariant title() const
Definition: context.cpp:2752
Translator::trNamespaceMemberDescription
virtual QCString trNamespaceMemberDescription(bool extractAll)=0
MemberGroupInfoContext::Private::m_memberGroup
const MemberGroup * m_memberGroup
Definition: context.cpp:7803
ConceptTreeContext::Private::m_conceptTree
TemplateListIntfPtr m_conceptTree
Definition: context.cpp:6790
NestingNodeContext::Private::m_module
CachedItem< TemplateVariant, Private, &Private::createModule > m_module
Definition: context.cpp:5609
SymbolIndicesContext::p
std::unique_ptr< Private > p
Definition: context.h:1349
ModuleContext::Private::detailedFunctions
TemplateVariant detailedFunctions() const
Definition: context.cpp:4578
GlobalsIndexContext::Private::events
TemplateVariant events() const
Definition: context.cpp:7083
Template
Abstract interface for a template.
Definition: template.h:475
ClassContext::Private::Cachable::publicAttributes
CachedItem< TemplateVariant, Private, &Private::createPublicAttributes > publicAttributes
Definition: context.cpp:2344
ClassContext::Private::publicTypes
TemplateVariant publicTypes() const
Definition: context.cpp:1741
DoxygenContext::Private::version
TemplateVariant version() const
Definition: context.cpp:344
MemberContext::Private::isInitonly
TemplateVariant isInitonly() const
Definition: context.cpp:3619
ClassContext::Private::detailedEnums
TemplateVariant detailedEnums() const
Definition: context.cpp:1769
PageContext::Private::example
TemplateVariant example() const
Definition: context.cpp:3339
Translator::trRelatedPages
virtual QCString trRelatedPages()=0
ClassDef::isLinkableInProject
virtual bool isLinkableInProject() const =0
returns TRUE iff a link is possible to this item within this project.
NamespaceMembersIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7383
ConceptContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:4447
ModuleContext::Private::Cachable::functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > functions
Definition: context.cpp:4896
FileContext::Private::detailedTypedefs
TemplateVariant detailedTypedefs() const
Definition: context.cpp:2773
NavPathElemContext::Private::anchor
TemplateVariant anchor() const
Definition: context.cpp:6998
PageListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6661
Definition::TypeGroup
@ TypeGroup
Definition: definition.h:91
NamespaceListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6238
MemberContext::Private::isRequired
TemplateVariant isRequired() const
Definition: context.cpp:3621
BASE_PROPERTIES
#define BASE_PROPERTIES
Definition: context.cpp:1570
ClassMembersIndexContext::Private::createProperties
TemplateVariant createProperties() const
Definition: context.cpp:7226
TranslateContext::Private::extendsClass
TemplateVariant extendsClass() const
Definition: context.cpp:991
MemberListType_docDefineMembers
@ MemberListType_docDefineMembers
Definition: types.h:164
UsedFilesContext::~UsedFilesContext
virtual ~UsedFilesContext()
Definition: context.cpp:6439
ModuleContext::Private::events
TemplateVariant events() const
Definition: context.cpp:4570
NamespaceContext::Private::fields
StringVector fields() const
Definition: context.cpp:2502
ArgumentList::hasDocumentation
bool hasDocumentation() const
Definition: arguments.cpp:21
Public
@ Public
Definition: types.h:26
SymbolGroupContext::Private::id
TemplateVariant id() const
Definition: context.cpp:8550
NestingContext::Private::addNamespaces
void addNamespaces(const NamespaceLinkedMap &nsLinkedMap, bool rootOnly, bool addClasses, bool addConcepts, ClassDefSet &visitedClasses)
Definition: context.cpp:5714
ClassHierarchyContext::Private::createDiagrams
TemplateVariant createDiagrams() const
Definition: context.cpp:5238
NestingContext::addMembers
void addMembers(const MemberVector &mv, ClassDefSet &visitedClasses)
Definition: context.cpp:6070
NavPathElemContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6999
NestingContext::addNamespaces
void addNamespaces(const NamespaceLinkedMap &nsLinkedMap, bool rootOnly, bool addClasses, bool addConcepts, ClassDefSet &visitedClasses)
Definition: context.cpp:6010
DefinitionContext::Cachable::brief
CachedItem< TemplateVariant, DC, &DC::createBrief > brief
Definition: context.cpp:1555
MemberContext::Private::Cachable::sourceCode
CachedItem< TemplateVariant, Private, &Private::createSourceCode > sourceCode
Definition: context.cpp:4270
getSearchIndices
const std::array< SearchIndexInfo, NUM_SEARCH_INDICES > & getSearchIndices()
Definition: searchindex.cpp:1235
MemberContext::Private::Cachable::definition
CachedItem< TemplateVariant, Private, &Private::createDefinition > definition
Definition: context.cpp:4250
htmldocvisitor.h
MemberContext::Private::initializer
TemplateVariant initializer() const
Definition: context.cpp:3666
SrcLangExt_Lex
@ SrcLangExt_Lex
Definition: types.h:60
MemberContext::Private::createReimplementedBy
TemplateVariant createReimplementedBy() const
Definition: context.cpp:4098
ClassListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:5030
ConceptTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6767
PageTreeContext::alloc
static TemplateStructIntfPtr alloc(const PageLinkedMap &pages)
Definition: context.h:736
Package
@ Package
Definition: types.h:26
PageContext::p
std::unique_ptr< Private > p
Definition: context.h:311
ModuleTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6896
InheritedMemberInfoListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8188
MemberDef::isProtectedGettable
virtual bool isProtectedGettable() const =0
MemberContext::Private::functionQualifier
TemplateVariant functionQualifier() const
Definition: context.cpp:3712
ClassContext::Private::publicMethods
TemplateVariant publicMethods() const
Definition: context.cpp:1742
ExampleTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6929
Translator::trDocumentation
virtual QCString trDocumentation()=0
MemberContext::Private::detailsVisibleFor
TemplateVariant detailsVisibleFor() const
Definition: context.cpp:3860
DirListContext::Private
Definition: context.cpp:6379
Translator::trEnumerationValues
virtual QCString trEnumerationValues()=0
FileContext::Private::Cachable::detailedTypedefs
CachedItem< TemplateVariant, Private, &Private::createDetailedTypedefs > detailedTypedefs
Definition: context.cpp:3041
NamespaceTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:642
ModuleTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6867
MemberContext::Private::Cachable::namespaceDef
CachedItem< TemplateVariant, Private, &Private::createNamespaceDef > namespaceDef
Definition: context.cpp:4247
parseDoc
static TemplateVariant parseDoc(const Definition *def, const QCString &file, int line, const QCString &relPath, const QCString &docStr, bool isBrief)
Definition: context.cpp:1241
MemberGroupInfoContext::Private::members
TemplateVariant members() const
Definition: context.cpp:7776
SymbolContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:8357
PageTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6571
SymbolGroupContext::Private::name
TemplateVariant name() const
Definition: context.cpp:8551
MemberListType_decDictionaryMembers
@ MemberListType_decDictionaryMembers
Definition: types.h:192
Translator::trEvents
virtual QCString trEvents()=0
SearchIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:1369
PageListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6656
IncludeInfoContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:1664
InheritanceListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:7549
ExampleTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6940
Translator::trEnumerations
virtual QCString trEnumerations()=0
FileDef::getVersion
virtual QCString getVersion() const =0
MemberDef::isRetain
virtual bool isRetain() const =0
ModuleContext::Private::detailedVariables
TemplateVariant detailedVariables() const
Definition: context.cpp:4579
ExampleTreeContext::Private
Definition: context.cpp:6908
ClassContext::Private::createPrivateMethods
TemplateVariant createPrivateMethods() const
Definition: context.cpp:2074
ClassMembersIndexContext::Private::MemberFilter
bool(MemberDef::*)() const MemberFilter
Definition: context.cpp:7199
NestingNodeContext::Private::isLinkable
TemplateVariant isLinkable() const
Definition: context.cpp:5339
NamespaceContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:2685
ContextGlobals::outputDir
QCString outputDir
Definition: context.cpp:77
FileDef::isLinkableInProject
virtual bool isLinkableInProject() const =0
NestingNodeContext::Private::addDirFiles
void addDirFiles(ClassDefSet &visitedClasses)
Definition: context.cpp:5433
InheritedMemberInfoListContext::Private
Definition: context.cpp:8067
err
void err(const char *fmt,...)
Definition: message.cpp:203
IncludeInfoListContext::p
std::unique_ptr< Private > p
Definition: context.h:190
GlobalsIndexContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:7115
Definition::inbodyLine
virtual int inbodyLine() const =0
ClassMembersIndexContext::Private::createEnumValues
TemplateVariant createEnumValues() const
Definition: context.cpp:7225
SrcLangExt_Java
@ SrcLangExt_Java
Definition: types.h:45
PropertyMap::fields
StringVector fields() const
Definition: context.cpp:131
FileContext::Private::Cachable::sources
CachedItem< TemplateVariant, Private, &Private::createSources > sources
Definition: context.cpp:3028
ClassDef::isVisibleInHierarchy
virtual bool isVisibleInHierarchy() const =0
the class is visible in a class diagram, or class hierarchy
NamespaceContext::Private::detailedFunctions
TemplateVariant detailedFunctions() const
Definition: context.cpp:2525
InheritedMemberInfoListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8183
FileDef::subGrouping
virtual bool subGrouping() const =0
MemberListType_friends
@ MemberListType_friends
Definition: types.h:132
ModuleContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:4560
ClassIndexContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:5060
PageContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:3387
GroupDef::getSubGroups
virtual const GroupList & getSubGroups() const =0
ModuleContext::Private::Cachable::detailedPrivateSlots
CachedItem< TemplateVariant, Private, &Private::createDetailedPrivateSlots > detailedPrivateSlots
Definition: context.cpp:4915
ModuleContext::Private::detailedEnums
TemplateVariant detailedEnums() const
Definition: context.cpp:4576
TranslateContext::Private::inheritedFrom
TemplateVariant inheritedFrom() const
Definition: context.cpp:842
QCString::at
char & at(size_t i)
Returns a reference to the character at index i.
Definition: qcstring.h:477
NamespaceTreeContext::Private::m_namespaceTree
TemplateListIntfPtr m_namespaceTree
Definition: context.cpp:6287
NestingNodeContext::Private::m_type
ContextTreeType m_type
Definition: context.cpp:5598
ClassContext::Private::Cachable::packageTypes
CachedItem< TemplateVariant, Private, &Private::createPackageTypes > packageTypes
Definition: context.cpp:2359
NestingContext::Private::addClass
void addClass(const ClassDef *cd, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5728
TextStream
Text streaming class that buffers data.
Definition: textstream.h:33
ClassContext::Private::createDetailedTypedefs
TemplateVariant createDetailedTypedefs() const
Definition: context.cpp:2126
ArgumentContext::Private::namePart
TemplateVariant namePart() const
Definition: context.cpp:8218
Doxygen::dirLinkedMap
static DirLinkedMap * dirLinkedMap
Definition: doxygen.h:109
TranslateContext::Private::classIndex
TemplateVariant classIndex() const
Definition: context.cpp:606
ClassContext::Private::detailedEvents
TemplateVariant detailedEvents() const
Definition: context.cpp:1777
ClassListContext::p
std::unique_ptr< Private > p
Definition: context.h:373
NestingContext::addDerivedClasses
void addDerivedClasses(const BaseClassList &bcl, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.cpp:6065
NamespaceMembersIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:7289
MemberContext::Private::isDefine
TemplateVariant isDefine() const
Definition: context.cpp:3653
FileContext::Private::detailedVariables
TemplateVariant detailedVariables() const
Definition: context.cpp:2778
AllMembersListContext::p
std::unique_ptr< Private > p
Definition: context.h:1177
FileContext::Private::createDetailedVariables
TemplateVariant createDetailedVariables() const
Definition: context.cpp:2995
ClassIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:5051
MemberContext::Private::Cachable::fieldType
CachedItem< TemplateVariant, Private, &Private::createFieldType > fieldType
Definition: context.cpp:4273
ClassDef::protection
virtual Protection protection() const =0
Return the protection level (Public,Protected,Private) in which this compound was found.
Translator::trDirectories
virtual QCString trDirectories()=0
TranslateContext::Private::gotoTextualHierarchy
TemplateVariant gotoTextualHierarchy() const
Definition: context.cpp:725
InheritanceNodeContext::alloc
static TemplateStructIntfPtr alloc(const ClassDef *cd, const QCString &name)
Definition: context.h:963
Translator::trNoMatches
virtual QCString trNoMatches()=0
ClassIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:5122
ClassContext::Private::createPublicStaticAttributes
TemplateVariant createPublicStaticAttributes() const
Definition: context.cpp:2022
NamespaceMembersIndexContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:7334
TranslateContext::Private::handleReimplementedBy
TemplateVariant handleReimplementedBy(const TemplateVariantList &args) const
Definition: context.cpp:506
LayoutDocManager::Class
@ Class
Definition: layout.h:203
ClassIndexContext::~ClassIndexContext
virtual ~ClassIndexContext()
Definition: context.cpp:5112
MemberContext::Private::hasCallerGraph
TemplateVariant hasCallerGraph() const
Definition: context.cpp:3785
NamespaceContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:2639
Translator::trRelatedPagesDescription
virtual QCString trRelatedPagesDescription()=0
TranslateContext::Private::defineValue
TemplateVariant defineValue() const
Definition: context.cpp:790
MemberInfoContext::Private::virtualness
TemplateVariant virtualness() const
Definition: context.cpp:7644
LayoutDocEntryMemberDef::type
MemberListType type
Definition: layout.h:116
MemberListType_proAttribs
@ MemberListType_proAttribs
Definition: types.h:119
TranslateContext::Private::panelSyncOff
TemplateVariant panelSyncOff() const
Definition: context.cpp:983
TranslateContext::Private::referencesRelation
TemplateVariant referencesRelation() const
Definition: context.cpp:838
NamespaceContext::Private::createInlineClasses
TemplateVariant createInlineClasses() const
Definition: context.cpp:2647
DirContext::Private::compoundType
TemplateVariant compoundType() const
Definition: context.cpp:3135
ClassDef::typeConstraints
virtual const ArgumentList & typeConstraints() const =0
MemberListInfoContext::Private::inherited
TemplateVariant inherited() const
Definition: context.cpp:7917
Definition::briefLine
virtual int briefLine() const =0
MemberListInfoContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:7925
Translator::trPrivateSlots
virtual QCString trPrivateSlots()=0
MemberContext::Private::createLabels
TemplateVariant createLabels() const
Definition: context.cpp:4157
FileContext::Private::createClasses
TemplateVariant createClasses() const
Definition: context.cpp:2891
ConceptContext::Private
Definition: context.cpp:4432
ModuleContext::Private::Cachable::privateSlots
CachedItem< TemplateVariant, Private, &Private::createPrivateSlots > privateSlots
Definition: context.cpp:4901
GlobalsIndexContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:7088
DefinitionContext::partOfGroups
TemplateVariant partOfGroups() const
Definition: context.cpp:1424
TranslateContext::Private::enumName
TemplateVariant enumName() const
Definition: context.cpp:963
ClassDef::includeInfo
virtual const IncludeInfo * includeInfo() const =0
MemberListType_pubMethods
@ MemberListType_pubMethods
Definition: types.h:107
NamespaceDef::getMemberGroups
virtual const MemberGroupList & getMemberGroups() const =0
ClassContext::Private::createPrivateStaticMethods
TemplateVariant createPrivateStaticMethods() const
Definition: context.cpp:2078
PageTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6572
ModuleContext::Private::signals
TemplateVariant signals() const
Definition: context.cpp:4566
ClassMembersIndexContext::Private::related
TemplateVariant related() const
Definition: context.cpp:7191
ExampleTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6926
MemberInfoContext::p
std::unique_ptr< Private > p
Definition: context.h:1114
NamespaceContext::Private::Private
Private(const NamespaceDef *nd)
Definition: context.cpp:2494
ClassMembersIndexContext::Private::s_inst
static const PropertyMap< ClassMembersIndexContext::Private > s_inst
Definition: context.cpp:7239
NestingContext::Private::m_index
int m_index
Definition: context.cpp:5963
getClass
ClassDef * getClass(const QCString &n)
Definition: classdef.cpp:4974
TextStream::empty
bool empty() const
Returns true iff the buffer is empty
Definition: textstream.h:232
filename.h
ModuleContext::Private::privateSlots
TemplateVariant privateSlots() const
Definition: context.cpp:4569
ModuleContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:4542
PageListContext::alloc
static TemplateListIntfPtr alloc(const PageLinkedMap &pages)
Definition: context.h:713
PageTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6576
ArgumentList::volatileSpecifier
bool volatileSpecifier() const
Definition: arguments.h:105
ModuleContext::Private::pages
TemplateVariant pages() const
Definition: context.cpp:4554
ClassContext::Private::Cachable::privateSlots
CachedItem< TemplateVariant, Private, &Private::createPrivateSlots > privateSlots
Definition: context.cpp:2358
FileContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:2770
AllMembersListContext::~AllMembersListContext
virtual ~AllMembersListContext()
Definition: context.cpp:7742
MemberContext::Private::isRetain
TemplateVariant isRetain() const
Definition: context.cpp:3625
TranslateContext::Private::enumValue
TemplateVariant enumValue() const
Definition: context.cpp:967
MemberGroupInfoContext::Private::createDocs
TemplateVariant createDocs() const
Definition: context.cpp:7793
MemberDef::isProperty
virtual bool isProperty() const =0
ClassContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:2479
ClassContext::Private::Cachable::protectedStaticMethods
CachedItem< TemplateVariant, Private, &Private::createProtectedStaticMethods > protectedStaticMethods
Definition: context.cpp:2349
ModuleContext::Private::createFriends
TemplateVariant createFriends() const
Definition: context.cpp:4797
SearchIndicesContext::Private::Private
Private()
Definition: context.cpp:8810
ConceptTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6819
MemberInfoContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7628
FileContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:2754
MemberContext::Private::isSignal
TemplateVariant isSignal() const
Definition: context.cpp:3594
TranslateContext::Private::modules
TemplateVariant modules() const
Definition: context.cpp:622
InheritedMemberInfoListContext::Private::addMemberGroupsOfClass
void addMemberGroupsOfClass(const ClassDef *inheritedFrom, const ClassDef *cd, MemberListType lt, MemberList *combinedList)
Definition: context.cpp:8091
ClassDef::isSimple
virtual bool isSimple() const =0
MemberDef::isWeak
virtual bool isWeak() const =0
Translator::trConcept
virtual QCString trConcept(bool first_capital, bool singular)=0
InheritanceGraphContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7443
MemberContext::Private::createSourceRefs
TemplateVariant createSourceRefs() const
Definition: context.cpp:4135
Translator::trGotoGraphicalHierarchy
virtual QCString trGotoGraphicalHierarchy()=0
MemberGroupInfoContext::Private::m_def
const Definition * m_def
Definition: context.cpp:7801
MemberContext::Private::isRaisable
TemplateVariant isRaisable() const
Definition: context.cpp:3615
PageTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6561
ClassContext::Private::createAllMembersList
TemplateVariant createAllMembersList() const
Definition: context.cpp:2172
TranslateContext::Private::m_sliceOpt
bool m_sliceOpt
Definition: context.cpp:1012
ExampleTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6933
DirContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:3134
ClassMembersIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:902
ModuleContext::Private::Cachable::inlineClasses
CachedItem< TemplateVariant, Private, &Private::createInlineClasses > inlineClasses
Definition: context.cpp:4919
MemberContext::Private::isFunction
TemplateVariant isFunction() const
Definition: context.cpp:3597
MemberContext::Private::createPropertyAttrs
TemplateVariant createPropertyAttrs() const
Definition: context.cpp:3912
parseCode
static TemplateVariant parseCode(const Definition *d, const QCString &scopeName, const QCString &relPath, const QCString &code, int startLine=-1, int endLine=-1, bool showLineNumbers=FALSE)
Definition: context.cpp:1280
ClassDef::Class
@ Class
Definition: classdef.h:107
InheritedMemberInfoContext::InheritedMemberInfoContext
InheritedMemberInfoContext(const ClassDef *cd, std::unique_ptr< MemberList > &&ml, const QCString &title)
Definition: context.cpp:8045
Definition::docFile
virtual QCString docFile() const =0
InheritedMemberInfoContext::Private::inheritedFrom
TemplateVariant inheritedFrom() const
Definition: context.cpp:8004
Translator::trStaticPackageMembers
virtual QCString trStaticPackageMembers()=0
TranslateContext::Private::reimplementedBy
TemplateVariant reimplementedBy() const
Definition: context.cpp:814
FileContext::Private::sources
TemplateVariant sources() const
Definition: context.cpp:2759
TranslateContext::Private::reimplements
TemplateVariant reimplements() const
Definition: context.cpp:806
ClassContext::Private::publicSlots
TemplateVariant publicSlots() const
Definition: context.cpp:1746
TranslateContext::Private::classHierarchy
TemplateVariant classHierarchy() const
Definition: context.cpp:614
ConceptContext::Private::templateDecls
TemplateVariant templateDecls() const
Definition: context.cpp:4451
Translator::trFileDocumentation
virtual QCString trFileDocumentation()=0
ClassContext::Private::Cachable::inheritsList
CachedItem< TemplateVariant, Private, &Private::createInheritsList > inheritsList
Definition: context.cpp:2335
HtmlDocVisitor
Concrete visitor implementation for HTML output.
Definition: htmldocvisitor.h:29
FileContext::Private::detailedFunctions
TemplateVariant detailedFunctions() const
Definition: context.cpp:2777
MemberListInfoContext::Private::m_memberGroups
CachedItem< TemplateVariant, Private, &Private::createMemberGroups > m_memberGroups
Definition: context.cpp:7950
NamespaceContext::Private::Cachable::enums
CachedItem< TemplateVariant, Private, &Private::createEnums > enums
Definition: context.cpp:2673
ClassContext::Private::Cachable::unoIDLServices
CachedItem< TemplateVariant, Private, &Private::createUnoIDLServices > unoIDLServices
Definition: context.cpp:2364
protectionLevelVisible
bool protectionLevelVisible(Protection prot)
Definition: util.cpp:6585
ClassHierarchyContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:5218
ClassHierarchyContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:5223
FileTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6484
TranslateContext::Private::providedByCategory
TemplateVariant providedByCategory() const
Definition: context.cpp:987
NamespaceLinkedRefMap
Definition: namespacedef.h:45
ArgumentContext::Private::m_type
CachedItem< TemplateVariant, Private, &Private::createType > m_type
Definition: context.cpp:8248
MemberDef::hasExamples
virtual bool hasExamples() const =0
SearchIndexInfo::getText
std::function< QCString()> getText
Definition: searchindex.h:124
MemberContext::Private::isRelated
TemplateVariant isRelated() const
Definition: context.cpp:3655
NestingContext::Private::addConcepts
void addConcepts(const ConceptLinkedMap &cpLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5785
FileContext::Private::getIncludeGraph
DotInclDepGraphPtr getIncludeGraph() const
Definition: context.cpp:2781
NestingNodeContext::NestingNodeContext
NestingNodeContext(const NestingNodeContext *parent, ContextTreeType type, const Definition *, int index, int level, bool addClasses, bool addConcepts, bool inherit, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.cpp:5657
TemplateStructIntfPtr
std::shared_ptr< TemplateStructIntf > TemplateStructIntfPtr
Definition: template.h:33
Definition::getLanguage
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
ClassMembersIndexContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:7185
ArgumentListContext::ArgumentListContext
ArgumentListContext()
Definition: context.cpp:8298
InheritanceGraphContext::Private::s_inst
static const PropertyMap< InheritanceGraphContext::Private > s_inst
Definition: context.cpp:7425
ModuleContext::Private::createInlineClasses
TemplateVariant createInlineClasses() const
Definition: context.cpp:4855
FileNameLinkedMap
Ordered dictionary of FileName objects.
Definition: filename.h:72
SymbolGroupListContext::Private::Private
Private(const SearchIndexList &sil)
Definition: context.cpp:8601
ClassContext::Private::Cachable::detailedTypedefs
CachedItem< TemplateVariant, Private, &Private::createDetailedTypedefs > detailedTypedefs
Definition: context.cpp:2371
MemberContext::Private::isAssign
TemplateVariant isAssign() const
Definition: context.cpp:3624
DefinitionContext::createBrief
TemplateVariant createBrief() const
Definition: context.cpp:1488
Translator::trPackageTypes
virtual QCString trPackageTypes()=0
AllMembersListContext::Private
Definition: context.cpp:7710
MemberListContainer::Namespace
@ Namespace
ClassContext::Private::createPrivateStaticAttributes
TemplateVariant createPrivateStaticAttributes() const
Definition: context.cpp:2086
NamespaceMembersIndexContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:922
ClassContext::Private::protectedStaticMethods
TemplateVariant protectedStaticMethods() const
Definition: context.cpp:1749
IncludeInfoListContext::Private::Private
Private(const IncludeInfoList &list, SrcLangExt lang)
Definition: context.cpp:1677
TemplateListIntf::ConstIterator
Abstract interface for a iterator of a list.
Definition: template.h:272
Translator::trImplementedFromList
virtual QCString trImplementedFromList(int numEntries)=0
Translator::trFunctionDocumentation
virtual QCString trFunctionDocumentation()=0
FileContext::Private::Cachable::detailedEnums
CachedItem< TemplateVariant, Private, &Private::createDetailedEnums > detailedEnums
Definition: context.cpp:3044
DirContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:3136
GenericConstIterator
Template List iterator support
Definition: context.cpp:148
ClassContext::Private::createUsedFiles
TemplateVariant createUsedFiles() const
Definition: context.cpp:2316
NamespaceContext::Private::Cachable::dictionaries
CachedItem< TemplateVariant, Private, &Private::createDictionaries > dictionaries
Definition: context.cpp:2672
ConfigContext::Private::m_configData
CachedItem< ConfigData, Private, &Private::createConfigData > m_configData
Definition: context.cpp:311
GenericConstIterator::toNext
void toNext()
Moves iterator to the next element in the list
Definition: context.cpp:161
NamespaceMembersIndexContext::Private::createAll
TemplateVariant createAll() const
Definition: context.cpp:7332
MemberListType_interfaces
@ MemberListType_interfaces
Definition: types.h:184
FileTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6536
TranslateContext::Private::m_vhdlOpt
bool m_vhdlOpt
Definition: context.cpp:1011
ModuleTreeContext::Private::m_moduleTree
TemplateListIntfPtr m_moduleTree
Definition: context.cpp:6866
MemberDef::isObjCMethod
virtual bool isObjCMethod() const =0
SymbolContext::Private::anchor
TemplateVariant anchor() const
Definition: context.cpp:8363
GlobalsIndexContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:7087
NamespaceContext::NamespaceContext
NamespaceContext(const NamespaceDef *)
Definition: context.cpp:2718
HtmlSpaceless
Definition: context.cpp:8895
SymbolGroupContext::p
std::unique_ptr< Private > p
Definition: context.h:1286
InheritanceGraphContext::Private::graph
TemplateVariant graph() const
Definition: context.cpp:7402
ModuleContext::Private::createProtectedSlots
TemplateVariant createProtectedSlots() const
Definition: context.cpp:4781
convertToLaTeX
QCString convertToLaTeX(const QCString &s, bool insideTabbing, bool keepSpaces)
Definition: util.cpp:4161
NamespaceContext
Definition: context.h:237
DefinitionContext::~DefinitionContext
virtual ~DefinitionContext()
Definition: context.cpp:1407
Translator::trReimplementedInList
virtual QCString trReimplementedInList(int numEntries)=0
GlobalsIndexContext::GlobalsIndexContext
GlobalsIndexContext()
Definition: context.cpp:7152
DirLinkedMap
A linked map of directories
Definition: dirdef.h:176
ArgumentContext::Private::createDocs
TemplateVariant createDocs() const
Definition: context.cpp:8239
EOF_LaTeX
@ EOF_LaTeX
Definition: dotgraph.h:28
InheritedMemberInfoContext::Private::s_inst
static const PropertyMap< InheritedMemberInfoContext::Private > s_inst
Definition: context.cpp:8031
NestingNodeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:5341
TranslateContext::Private::exampleList
TemplateVariant exampleList() const
Definition: context.cpp:770
InheritanceNodeContext::Private::createClass
TemplateVariant createClass() const
Definition: context.cpp:7471
ClassHierarchyContext::Private::m_classTree
TemplateListIntfPtr m_classTree
Definition: context.cpp:5251
FileTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6541
InheritedMemberInfoContext::Private::m_classCtx
CachedItem< TemplateVariant, Private, &Private::createClass > m_classCtx
Definition: context.cpp:8028
NestingContext::Private
Definition: context.cpp:5689
ConceptContext::Private::includeInfo
TemplateVariant includeInfo() const
Definition: context.cpp:4450
ClassContext::Private::signals
TemplateVariant signals() const
Definition: context.cpp:1740
end
DirIterator end(const DirIterator &) noexcept
Definition: dir.cpp:128
NamespaceMembersIndexContext::Private::createMembersFiltered
TemplateVariant createMembersFiltered(MemberFilter filter) const
Definition: context.cpp:7311
UsedFilesContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6454
FileContext::Private::Cachable::detailedVariables
CachedItem< TemplateVariant, Private, &Private::createDetailedVariables > detailedVariables
Definition: context.cpp:3046
NamespaceMembersIndexContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:7336
GlobalsIndexContext::Private::m_variables
CachedItem< TemplateVariant, Private, &Private::createVariables > m_variables
Definition: context.cpp:7123
ClassContext::Private::publicStaticAttributes
TemplateVariant publicStaticAttributes() const
Definition: context.cpp:1745
HtmlGenerator::getMathJaxMacros
static QCString getMathJaxMacros()
Definition: htmlgen.cpp:3076
NamespaceMembersIndexContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:7299
TemplateListIntf::ConstIteratorPtr
std::unique_ptr< ConstIterator > ConstIteratorPtr
Definition: template.h:292
NestingNodeContext::Private::fields
StringVector fields() const
Definition: context.cpp:5315
toPageDef
PageDef * toPageDef(Definition *d)
Definition: pagedef.cpp:408
FileDef::getClasses
virtual const ClassLinkedRefMap & getClasses() const =0
ClassContext::Private::createSignals
TemplateVariant createSignals() const
Definition: context.cpp:2038
MemberDef::isLinkable
virtual bool isLinkable() const =0
ClassMembersIndexContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:7222
NavPathElemContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6992
TemplateListIntf
Abstract read-only interface for a context value of type list.
Definition: template.h:268
DefinitionContext::dynSectionId
TemplateVariant dynSectionId() const
Definition: context.cpp:1421
NavPathElemContext::Private::externalReference
TemplateVariant externalReference() const
Definition: context.cpp:7001
ClassTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6102
FileTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6498
MemberContext::Private::Cachable::examples
CachedItem< TemplateVariant, Private, &Private::createExamples > examples
Definition: context.cpp:4260
FileListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6361
DefinitionContext
Definition: context.cpp:1367
ClassDef::templateMaster
virtual const ClassDef * templateMaster() const =0
Returns the template master of which this class is an instance.
ConfigContext::~ConfigContext
virtual ~ConfigContext()
Definition: context.cpp:319
MemberListType_decSequenceMembers
@ MemberListType_decSequenceMembers
Definition: types.h:190
SymbolGroupListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8636
PageDef
A model of a page symbol.
Definition: pagedef.h:25
GroupDef
A model of a group of symbols.
Definition: groupdef.h:49
ConceptContext::Private::Cachable::initializer
CachedItem< TemplateVariant, Private, &Private::createInitializer > initializer
Definition: context.cpp:4492
MemberContext::Private::createReimplements
TemplateVariant createReimplements() const
Definition: context.cpp:4068
MemberInfoContext::Private::ambiguityScope
TemplateVariant ambiguityScope() const
Definition: context.cpp:7654
LayoutDocManager::Group
@ Group
Definition: layout.h:203
TranslateContext::Private::classListDescription
TemplateVariant classListDescription() const
Definition: context.cpp:602
Translator::trServices
virtual QCString trServices()=0
ModuleContext::Private::Cachable::detailedProperties
CachedItem< TemplateVariant, Private, &Private::createDetailedProperties > detailedProperties
Definition: context.cpp:4917
version
static void version(const bool extended)
Definition: doxygen.cpp:10515
MemberDef::isNew
virtual bool isNew() const =0
ClassMembersIndexContext::Private::all
TemplateVariant all() const
Definition: context.cpp:7182
Doxygen::inputNameLinkedMap
static FileNameLinkedMap * inputNameLinkedMap
Definition: doxygen.h:88
TextGeneratorLatex
Definition: context.cpp:3477
IncludeInfoContext::Private::isImport
TemplateVariant isImport() const
Definition: context.cpp:1616
DirContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:3129
MemberContext::Private::createFileDef
TemplateVariant createFileDef() const
Definition: context.cpp:3952
NamespaceTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6267
NamespaceContext::Private::detailedTypedefs
TemplateVariant detailedTypedefs() const
Definition: context.cpp:2521
ClassContext::Private::detailedRelated
TemplateVariant detailedRelated() const
Definition: context.cpp:1774
NestingNodeContext::Private::id
TemplateVariant id() const
Definition: context.cpp:5317
ClassContext::Private::inheritedBy
TemplateVariant inheritedBy() const
Definition: context.cpp:1737
ModuleContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:4565
MemberContext::Private::createTypeConstraints
TemplateVariant createTypeConstraints() const
Definition: context.cpp:4168
MemberListInfoContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7907
Argument::type
QCString type
Definition: arguments.h:50
MemberGroupInfoContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7837
SymbolContext::Private
Definition: context.cpp:8350
ModuleContext::Private::createEnumValues
TemplateVariant createEnumValues() const
Definition: context.cpp:4756
ContextGlobals::dynSectionId
int dynSectionId
Definition: context.cpp:76
NamespaceContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:2501
ConceptTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6778
ClassContext::Private::createCollaborationGraph
DotClassGraphPtr createCollaborationGraph() const
Definition: context.cpp:1962
MemberContext::Private::m_memberDef
const MemberDef * m_memberDef
Definition: context.cpp:4237
ArgumentContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:8207
ClassTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6099
MemberContext::Private::isAbstract
TemplateVariant isAbstract() const
Definition: context.cpp:3617
FileContext::Private
Definition: context.cpp:2738
ClassContext::Private::createExamples
TemplateVariant createExamples() const
Definition: context.cpp:2182
Translator::trGeneratedAt
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0
MemberListContext::p
std::unique_ptr< Private > p
Definition: context.h:1022
SymbolListContext::alloc
static TemplateListIntfPtr alloc(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.h:1250
ModuleContext::Private::Cachable::signals
CachedItem< TemplateVariant, Private, &Private::createSignals > signals
Definition: context.cpp:4898
NamespaceContext::p
std::unique_ptr< Private > p
Definition: context.h:251
FileContext::Private::Cachable::detailedDictionaries
CachedItem< TemplateVariant, Private, &Private::createDetailedDictionaries > detailedDictionaries
Definition: context.cpp:3043
NamespaceTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:631
NestingContext::Private::addFiles
void addFiles(const FileList &fList, ClassDefSet &visitedClasses)
Definition: context.cpp:5828
ClassIndexContext::Private::title
TemplateVariant title() const
Definition: context.cpp:5061
GlobalsIndexContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:7085
TranslateContext::TranslateContext
TranslateContext()
Definition: context.cpp:1221
ArgumentContext::Private::createType
TemplateVariant createType() const
Definition: context.cpp:8231
ClassContext::Private::classes
TemplateVariant classes() const
Definition: context.cpp:1778
LayoutDocManager::Namespace
@ Namespace
Definition: layout.h:203
DoxygenContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:339
ClassDef::countInheritanceNodes
virtual int countInheritanceNodes() const =0
ClassContext::Private::privateStaticMethods
TemplateVariant privateStaticMethods() const
Definition: context.cpp:1756
TemplateSpacelessIntf
Interface used to remove redundant spaces inside a spaceless block
Definition: template.h:399
classVisibleInIndex
bool classVisibleInIndex(const ClassDef *cd)
Definition: classdef.cpp:5016
TranslateContext::Private::sourceRefs
TemplateVariant sourceRefs() const
Definition: context.cpp:818
SearchIndexContext::Private::s_inst
static const PropertyMap< SearchIndexContext::Private > s_inst
Definition: context.cpp:8773
Translator::trConceptDefinition
virtual QCString trConceptDefinition()=0
ClassContext::Private::getClassGraph
DotClassGraphPtr getClassGraph() const
Definition: context.cpp:1733
ClassContext::Private::createClasses
TemplateVariant createClasses() const
Definition: context.cpp:1966
ConceptDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
NamespaceDef::isLinkableInProject
virtual bool isLinkableInProject() const =0
PageContext::Private::m_pageDef
const PageDef * m_pageDef
Definition: context.cpp:3352
ArgumentContext::Private::createDefval
TemplateVariant createDefval() const
Definition: context.cpp:8235
MemberContext::Private::createBitfields
TemplateVariant createBitfields() const
Definition: context.cpp:4232
TranslateContext::Private::namespaceIndex
TemplateVariant namespaceIndex() const
Definition: context.cpp:610
uint
unsigned uint
Definition: qcstring.h:40
SymbolGroupListContext::p
std::unique_ptr< Private > p
Definition: context.h:1307
Translator::trNamespaces
virtual QCString trNamespaces()=0
SymbolListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8526
MemberList::listTypeAsString
static QCString listTypeAsString(MemberListType type)
Definition: memberlist.cpp:882
ClassContext::Private::packageAttributes
TemplateVariant packageAttributes() const
Definition: context.cpp:1762
ClassDef::generatedFromFiles
virtual QCString generatedFromFiles() const =0
PageTreeContext::Private::m_pageTree
TemplateListIntfPtr m_pageTree
Definition: context.cpp:6584
TranslateContext::Private::fileMembers
TemplateVariant fileMembers() const
Definition: context.cpp:703
ClassMembersIndexContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:7224
TranslateContext::Private::handleSourceRefs
TemplateVariant handleSourceRefs(const TemplateVariantList &args) const
Definition: context.cpp:518
MemberDef::isRequired
virtual bool isRequired() const =0
NavPathElemContext::alloc
static TemplateStructIntfPtr alloc(const Definition *def)
Definition: context.h:942
SrcLangExt_ObjC
@ SrcLangExt_ObjC
Definition: types.h:49
TranslateContext::Private::examples
TemplateVariant examples() const
Definition: context.cpp:657
Definition::getBodyDef
virtual const FileDef * getBodyDef() const =0
IncludeInfoListContext::IncludeInfoListContext
IncludeInfoListContext(const IncludeInfoList &list, SrcLangExt lang)
Definition: context.cpp:1686
MemberDef::definitionTemplateParameterLists
virtual const ArgumentLists & definitionTemplateParameterLists() const =0
TranslateContext::Private::fileIndex
TemplateVariant fileIndex() const
Definition: context.cpp:649
PageTreeContext::Private::s_inst
static const PropertyMap< PageTreeContext::Private > s_inst
Definition: context.cpp:6587
ClassContext::Private::Cachable::packageMethods
CachedItem< TemplateVariant, Private, &Private::createPackageMethods > packageMethods
Definition: context.cpp:2360
TextGeneratorFactory::instance
static TextGeneratorFactory * instance()
Definition: context.cpp:3538
DirDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
FileContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:3108
ModuleContext::Private::Cachable::events
CachedItem< TemplateVariant, Private, &Private::createEvents > events
Definition: context.cpp:4902
MemberContext::Private::createInitializer
TemplateVariant createInitializer() const
Definition: context.cpp:4189
ConceptContext::Private::m_conceptDef
const ConceptDef * m_conceptDef
Definition: context.cpp:4487
FileContext::Private::m_fileDef
const FileDef * m_fileDef
Definition: context.cpp:3022
DefinitionContext::name
TemplateVariant name() const
Definition: context.cpp:1416
Definition::qualifiedName
virtual QCString qualifiedName() const =0
ModuleListContext::~ModuleListContext
virtual ~ModuleListContext()
Definition: context.cpp:6731
MemberInfoContext::Private::protection
TemplateVariant protection() const
Definition: context.cpp:7633
ClassMembersIndexContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:7184
NamespaceDef::subGrouping
virtual bool subGrouping() const =0
ModuleTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6854
ClassContext::Private::Cachable::publicSlots
CachedItem< TemplateVariant, Private, &Private::createPublicSlots > publicSlots
Definition: context.cpp:2346
NavPathElemContext::~NavPathElemContext
virtual ~NavPathElemContext()
Definition: context.cpp:7050
MemberListType_docFriendMembers
@ MemberListType_docFriendMembers
Definition: types.h:176
ModuleContext::Private::Cachable::detailedEnumValues
CachedItem< TemplateVariant, Private, &Private::createDetailedEnumValues > detailedEnumValues
Definition: context.cpp:4909
LayoutDocEntryMemberDef
Represents of a member definition list with configurable title.
Definition: layout.h:110
ModuleContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:4988
DoxygenContext::p
std::unique_ptr< Private > p
Definition: context.h:106
LatexSpaceless::reset
void reset()
Reset filter state
Definition: context.cpp:8870
TextGeneratorFactory::TextGeneratorFactory
TextGeneratorFactory()
Definition: context.cpp:3557
Translator::trSubprogramDocumentation
virtual QCString trSubprogramDocumentation()=0
dot.h
ModuleContext::Private::Cachable::examples
CachedItem< TemplateVariant, Private, &Private::createExamples > examples
Definition: context.cpp:4890
addHtmlExtensionIfMissing
QCString addHtmlExtensionIfMissing(const QCString &fName)
Definition: util.cpp:5275
ModuleListContext::Private
Definition: context.cpp:6711
MemberGroupInfoContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7771
GenericConstIterator::~GenericConstIterator
virtual ~GenericConstIterator()
Definition: context.cpp:152
ModuleListContext::p
std::unique_ptr< Private > p
Definition: context.h:791
MemberNameInfoLinkedMap
Definition: membername.h:126
DotNode
A node in a dot graph
Definition: dotnode.h:56
ModuleContext::Private::Cachable::dirs
CachedItem< TemplateVariant, Private, &Private::createDirs > dirs
Definition: context.cpp:4885
ConceptContext::Private::initializerAsCode
TemplateVariant initializerAsCode() const
Definition: context.cpp:4453
MemberContext::Private::getCallerGraph
DotCallGraphPtr getCallerGraph() const
Definition: context.cpp:3701
Translator::trEnumValue
virtual QCString trEnumValue()=0
ClassContext::Private::createDetailedEnums
TemplateVariant createDetailedEnums() const
Definition: context.cpp:2130
MemberDef
A model of a class/file/namespace member symbol.
Definition: memberdef.h:45
dateToString
QCString dateToString(bool includeTime)
Definition: util.cpp:1470
ExampleTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:862
MemberListInfoContext::Private::s_inst
static const PropertyMap< MemberListInfoContext::Private > s_inst
Definition: context.cpp:7952
NestingNodeContext::Private::getMember
TemplateVariant getMember() const
Definition: context.cpp:5336
NavPathElemContext::p
std::unique_ptr< Private > p
Definition: context.h:953
DirDef::shortName
virtual const QCString shortName() const =0
GroupDef::getDirs
virtual const DirList & getDirs() const =0
MemberContext::Private::Cachable::classDef
CachedItem< TemplateVariant, Private, &Private::createClassDef > classDef
Definition: context.cpp:4253
SymbolIndexContext::Private::letter
TemplateVariant letter() const
Definition: context.cpp:8665
MemberContext::Private::parameters
TemplateVariant parameters() const
Definition: context.cpp:3681
ModuleContext::Private::createDetailedTypedefs
TemplateVariant createDetailedTypedefs() const
Definition: context.cpp:4805
ModuleTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:820
PageContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:3281
MemberDef::hasCallerGraph
virtual bool hasCallerGraph() const =0
MemberListInfoContext::Private::m_subtitle
QCString m_subtitle
Definition: context.cpp:7948
PageContext::Private::createExample
TemplateVariant createExample() const
Definition: context.cpp:3344
MemberGroupInfoContext::Private::m_relPath
QCString m_relPath
Definition: context.cpp:7802
DirContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:3124
MemberGroupListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:7882
NamespaceDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
PageListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6651
TranslateContext::Private::fileListDescription
TemplateVariant fileListDescription() const
Definition: context.cpp:886
InheritanceListContext::~InheritanceListContext
virtual ~InheritanceListContext()
Definition: context.cpp:7539
ClassContext::Private::includeInfo
TemplateVariant includeInfo() const
Definition: context.cpp:1735
MemberContext::Private::Cachable::exception
CachedItem< TemplateVariant, Private, &Private::createException > exception
Definition: context.cpp:4274
TemplateVariant
Variant type which can hold one value of a fixed set of types.
Definition: template.h:98
IncludeInfoContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:1603
NestingContext::Private::addFiles
void addFiles(const FileNameLinkedMap &fnList, ClassDefSet &visitedClasses)
Definition: context.cpp:5813
MemberListType_pubSlots
@ MemberListType_pubSlots
Definition: types.h:115
ModuleContext::Private::Cachable
Definition: context.cpp:4882
FileContext::Private::detailedDictionaries
TemplateVariant detailedDictionaries() const
Definition: context.cpp:2775
NestingNodeContext::Private::createClass
TemplateVariant createClass() const
Definition: context.cpp:5547
PageTreeContext::~PageTreeContext
virtual ~PageTreeContext()
Definition: context.cpp:6609
FileContext::Private::Private
Private(const FileDef *fd)
Definition: context.cpp:2741
ConceptTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6779
Definition::TypeNamespace
@ TypeNamespace
Definition: definition.h:89
ClassDef
A abstract class representing of a compound symbol.
Definition: classdef.h:103
MemberListType_decVarMembers
@ MemberListType_decVarMembers
Definition: types.h:154
GenericNodeListContext::createIterator
TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:215
TranslateContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:405
ModuleTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6855
ClassTreeContext::Private::m_classTree
TemplateListIntfPtr m_classTree
Definition: context.cpp:6118
Definition::TypePackage
@ TypePackage
Definition: definition.h:92
TranslateContext::Private::gotoSourceCode
TemplateVariant gotoSourceCode() const
Definition: context.cpp:858
Translator::trPackageMembers
virtual QCString trPackageMembers()=0
classlist.h
ClassMembersIndexContext::Private::events
TemplateVariant events() const
Definition: context.cpp:7190
ClassContext::Private::createRelated
TemplateVariant createRelated() const
Definition: context.cpp:2122
ModuleContext::Private::Cachable::variables
CachedItem< TemplateVariant, Private, &Private::createVariables > variables
Definition: context.cpp:4897
ArgumentContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8281
ClassMembersIndexContext::Private::m_properties
CachedItem< TemplateVariant, Private, &Private::createProperties > m_properties
Definition: context.cpp:7236
Definition::externalReference
virtual QCString externalReference(const QCString &relPath) const =0
Argument::array
QCString array
Definition: arguments.h:53
ConfigContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:75
TranslateContext::Private::search
TemplateVariant search() const
Definition: context.cpp:576
Config_getInt
#define Config_getInt(name)
Definition: config.h:34
reg::isspace
static bool isspace(char c)
Definition: regex.cpp:33
PageTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6568
NamespaceTreeContext::Private::s_inst
static const PropertyMap< NamespaceTreeContext::Private > s_inst
Definition: context.cpp:6290
MemberDef::fromAnonymousMember
virtual MemberDef * fromAnonymousMember() const =0
TranslateContext::Private::langString
TemplateVariant langString() const
Definition: context.cpp:999
DotCallGraphPtr
std::shared_ptr< DotCallGraph > DotCallGraphPtr
Definition: dotcallgraph.h:56
MemberDef::isFriend
virtual bool isFriend() const =0
ModuleListContext::ModuleListContext
ModuleListContext()
Definition: context.cpp:6726
ModuleContext::Private::Cachable::enums
CachedItem< TemplateVariant, Private, &Private::createEnums > enums
Definition: context.cpp:4894
TextGeneratorHtml::m_relPath
QCString m_relPath
Definition: context.cpp:3472
ClassContext
Definition: context.h:196
RefQualifierLValue
@ RefQualifierLValue
Definition: arguments.h:49
ClassContext::Private::friends
TemplateVariant friends() const
Definition: context.cpp:1766
ArgumentContext::Private::m_argument
Argument m_argument
Definition: context.cpp:8245
ConceptTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6792
Doxygen::functionNameLinkedMap
static MemberNameLinkedMap * functionNameLinkedMap
Definition: doxygen.h:94
DefinitionContext::details
TemplateVariant details() const
Definition: context.cpp:1418
HtmlSpaceless::HtmlSpaceless
HtmlSpaceless()
Definition: context.cpp:8898
ExampleListContext::~ExampleListContext
virtual ~ExampleListContext()
Definition: context.cpp:6688
uchar
unsigned char uchar
Definition: qcstring.h:38
ConceptContext::Private::Cachable
Definition: context.cpp:4488
FileContext::Private::includeList
TemplateVariant includeList() const
Definition: context.cpp:2756
ExampleTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6946
ExampleTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6978
Translator::trExtendsClass
virtual QCString trExtendsClass()=0
DirContext::Private::title
TemplateVariant title() const
Definition: context.cpp:3128
MemberListType_proStaticMethods
@ MemberListType_proStaticMethods
Definition: types.h:112
MemberGroupInfoContext::Private::docs
TemplateVariant docs() const
Definition: context.cpp:7781
ModuleTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6868
PageContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:3324
details
Definition: variant.h:22
GlobalsIndexContext::Private::m_enumValues
CachedItem< TemplateVariant, Private, &Private::createEnumValues > m_enumValues
Definition: context.cpp:7126
Translator::trInheritedFrom
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0
InheritanceGraphContext::Private::m_graph
CachedItem< TemplateVariant, Private,&Private::createGraph > m_graph
Definition: context.cpp:7423
Translator::trVariables
virtual QCString trVariables()=0
SearchIndexContext::Private::name
TemplateVariant name() const
Definition: context.cpp:8761
ClassContext::Private::createPublicSlots
TemplateVariant createPublicSlots() const
Definition: context.cpp:2026
TranslateContext::Private::handleCollaborationDiagramFor
TemplateVariant handleCollaborationDiagramFor(const TemplateVariantList &args) const
Definition: context.cpp:434
MemberContext::MemberContext
MemberContext(const MemberDef *)
Definition: context.cpp:4412
ConceptListContext::~ConceptListContext
virtual ~ConceptListContext()
Definition: context.cpp:6180
ClassContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:1722
message.h
ClassContext::Private::createProtectedSlots
TemplateVariant createProtectedSlots() const
Definition: context.cpp:2062
SearchIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8793
MemberContext::Private::isEnumeration
TemplateVariant isEnumeration() const
Definition: context.cpp:3651
NestingNodeContext::Private::addPages
void addPages(ClassDefSet &visitedClasses)
Definition: context.cpp:5447
ConceptDef::initializer
virtual QCString initializer() const =0
MemberDef::excpString
virtual QCString excpString() const =0
MemberContext::Private::Cachable::reimplements
CachedItem< TemplateVariant, Private, &Private::createReimplements > reimplements
Definition: context.cpp:4257
TranslateContext::Private::handleDirDependencyGraphFor
TemplateVariant handleDirDependencyGraphFor(const TemplateVariantList &args) const
Definition: context.cpp:446
ClassTreeContext::Private::Private
Private()
Definition: context.cpp:6081
FileDef::name
virtual QCString name() const =0
FileContext::Private::createNamespaces
TemplateVariant createNamespaces() const
Definition: context.cpp:2904
MemberDef::isDefine
virtual bool isDefine() const =0
ConceptContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:4522
ClassDef::memberNameInfoLinkedMap
virtual const MemberNameInfoLinkedMap & memberNameInfoLinkedMap() const =0
Returns a dictionary of all members.
ClassContext::Private::Cachable::includeInfo
CachedItem< TemplateVariant, Private, &Private::createIncludeInfo > includeInfo
Definition: context.cpp:2334
MemberDef::virtualness
virtual Specifier virtualness(int count=0) const =0
TranslateContext::Private::Private
Private()
Definition: context.cpp:396
MemberList::listType
MemberListType listType() const
Definition: memberlist.h:86
GroupLinkedMap
Definition: groupdef.h:123
ClassMembersIndexContext::Private::createRelated
TemplateVariant createRelated() const
Definition: context.cpp:7228
MemberContext::Private::isAttribute
TemplateVariant isAttribute() const
Definition: context.cpp:3637
MemberDef::isRaisable
virtual bool isRaisable() const =0
ExampleListContext::ExampleListContext
ExampleListContext()
Definition: context.cpp:6684
NamespaceContext::Private::createDetailedVariables
TemplateVariant createDetailedVariables() const
Definition: context.cpp:2633
TranslateContext::Private::inheritedByList
TemplateVariant inheritedByList() const
Definition: context.cpp:758
NamespaceContext::Private::constantgroups
TemplateVariant constantgroups() const
Definition: context.cpp:2513
MemberDef::isVariable
virtual bool isVariable() const =0
Translator::trThisIsTheListOfAllMembers
virtual QCString trThisIsTheListOfAllMembers()=0
MemberDef::enumFieldList
virtual const MemberVector & enumFieldList() const =0
NamespaceMembersIndexContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:7296
MemberGroupRefList
Definition: membergroup.h:105
ClassMembersIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7277
Translator::trMemberEnumerationDocumentation
virtual QCString trMemberEnumerationDocumentation()=0
dotgroupcollaboration.h
GlobalsIndexContext::Private::createMembersFiltered
TemplateVariant createMembersFiltered(MemberFilter filter) const
Definition: context.cpp:7093
MemberContext::Private::isProtectedSettable
TemplateVariant isProtectedSettable() const
Definition: context.cpp:3610
Definition::getReferencesMembers
virtual const MemberVector & getReferencesMembers() const =0
ConfigContext::Private::createConfigData
ConfigData createConfigData() const
Definition: context.cpp:253
GenericConstIterator::GenericConstIterator
GenericConstIterator(const TemplateVariantList &list)
Definition: context.cpp:151
SearchIndexList
std::vector< const Definition * > SearchIndexList
Definition: searchindex.h:117
Doxygen::parserManager
static ParserManager * parserManager
Definition: doxygen.h:111
QCString::insert
QCString & insert(size_t index, const QCString &s)
Definition: qcstring.h:274
Definition::isAnonymous
virtual bool isAnonymous() const =0
ArgumentContext::Private::type
TemplateVariant type() const
Definition: context.cpp:8212
GenericConstIterator::current
bool current(TemplateVariant &v) const
Definition: context.cpp:169
DefinitionContext::fileName
TemplateVariant fileName() const
Definition: context.cpp:1411
ClassMembersIndexContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:7192
MemberContext::Private::propertyAttrs
TemplateVariant propertyAttrs() const
Definition: context.cpp:3673
Translator::trCode
virtual QCString trCode()=0
IncludeInfoListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:1700
ArgumentList::empty
bool empty() const
Definition: arguments.h:92
ClassContext::Private::createUnoIDLInterfaces
TemplateVariant createUnoIDLInterfaces() const
Definition: context.cpp:2034
ModuleContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:4548
SymbolListContext::SymbolListContext
SymbolListContext(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.cpp:8511
DirContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:3258
MemberListInfoContext::Private::anchor
TemplateVariant anchor() const
Definition: context.cpp:7915
ConceptDef::getTemplateParameterList
virtual ArgumentList getTemplateParameterList() const =0
Translator::trExamplesDescription
virtual QCString trExamplesDescription()=0
ModuleContext::Private::createMemberList
TemplateVariant createMemberList(MemberListType type, const QCString &title) const
Definition: context.cpp:4738
ModuleContext::Private::title
TemplateVariant title() const
Definition: context.cpp:4547
ModuleContext::Private::Cachable::protectedSlots
CachedItem< TemplateVariant, Private, &Private::createProtectedSlots > protectedSlots
Definition: context.cpp:4900
ModuleContext::Private::Cachable::constantgroups
CachedItem< TemplateVariant, Private, &Private::createConstantgroups > constantgroups
Definition: context.cpp:4889
IncludeInfo
Class representing the data associated with a #include statement.
Definition: filedef.h:48
GenericConstIterator::m_index
int m_index
Definition: context.cpp:184
Translator::trMore
virtual QCString trMore()=0
DirContext::Private::Cachable::dirDepsGraph
CachedItem< DotDirDepsPtr, Private, &Private::createDirDepsGraph > dirDepsGraph
Definition: context.cpp:3225
SymbolGroupContext::Private::m_end
SearchIndexList::const_iterator m_end
Definition: context.cpp:8562
ClassDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
NamespaceMembersIndexContext::Private::createEnumValues
TemplateVariant createEnumValues() const
Definition: context.cpp:7337
MemberContext::Private::isWritable
TemplateVariant isWritable() const
Definition: context.cpp:3612
FileTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6508
TranslateContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:935
ClassHierarchyContext::Private
Definition: context.cpp:5198
ConceptListContext::p
std::unique_ptr< Private > p
Definition: context.h:601
TranslateContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:947
MemberDef::isNotFriend
virtual bool isNotFriend() const =0
ClassContext::Private::additionalInheritedMembers
TemplateVariant additionalInheritedMembers() const
Definition: context.cpp:1788
NamespaceTreeContext::Private
Definition: context.cpp:6245
NavPathElemContext::Private::isReference
TemplateVariant isReference() const
Definition: context.cpp:7000
ClassContext::Private::hasInheritanceDiagram
TemplateVariant hasInheritanceDiagram() const
Definition: context.cpp:1792
SymbolGroupListContext::SymbolGroupListContext
SymbolGroupListContext(const SearchIndexList &sil)
Definition: context.cpp:8627
MemberContext::Private::isFunctionPtr
TemplateVariant isFunctionPtr() const
Definition: context.cpp:3598
NestingContext::Private::m_level
int m_level
Definition: context.cpp:5962
FileContext::Private::Cachable::sequences
CachedItem< TemplateVariant, Private, &Private::createSequences > sequences
Definition: context.cpp:3034
NestingContext::addDirs
void addDirs(const DirLinkedMap &, ClassDefSet &visitedClasses)
Definition: context.cpp:6020
TranslateContext::Private::files
TemplateVariant files() const
Definition: context.cpp:645
FileList
Definition: filedef.h:205
ClassMembersIndexContext::~ClassMembersIndexContext
virtual ~ClassMembersIndexContext()
Definition: context.cpp:7268
NamespaceMembersIndexContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:7304
FileContext::FileContext
FileContext(const FileDef *)
Definition: context.cpp:3095
NamespaceTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6268
ClassDef::baseClasses
virtual const BaseClassList & baseClasses() const =0
Returns the list of base classes from which this class directly inherits.
Definition::TypeFile
@ TypeFile
Definition: definition.h:88
SymbolIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:8660
NestingContext::Private::addDirs
void addDirs(const DirLinkedMap &dirLinkedMap, ClassDefSet &visitedClasses)
Definition: context.cpp:5792
NamespaceListContext::~NamespaceListContext
virtual ~NamespaceListContext()
Definition: context.cpp:6223
SymbolContext::Private::s_inst
static const PropertyMap< SymbolContext::Private > s_inst
Definition: context.cpp:8459
MemberContext::Private::isForeign
TemplateVariant isForeign() const
Definition: context.cpp:3600
SymbolIndexContext::Private::name
TemplateVariant name() const
Definition: context.cpp:8664
ModuleContext::Private::detailedProperties
TemplateVariant detailedProperties() const
Definition: context.cpp:4585
CachedItem::get
T & get(const TOwner *owner) const
Returns a reference to the cached data.
Definition: context.cpp:98
SymbolGroupListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8646
UsedFilesContext::Private
Definition: context.cpp:6419
TranslateContext::Private::callerGraph
TemplateVariant callerGraph() const
Definition: context.cpp:830
Translator::trReferences
virtual QCString trReferences()=0
MemberGroupInfoContext::Private::m_docs
CachedItem< TemplateVariant, Private,&Private::createDocs > m_docs
Definition: context.cpp:7804
MemberGroupInfoContext::Private::groupTitle
TemplateVariant groupTitle() const
Definition: context.cpp:7777
NamespaceContext::Private::Cachable::sequences
CachedItem< TemplateVariant, Private, &Private::createSequences > sequences
Definition: context.cpp:2671
NamespaceMembersIndexContext::Private::m_all
CachedItem< TemplateVariant, Private, &Private::createAll > m_all
Definition: context.cpp:7339
FileDef::getMemberList
virtual MemberList * getMemberList(MemberListType lt) const =0
FileTreeContext::FileTreeContext
FileTreeContext()
Definition: context.cpp:6528
ClassContext::Private::createMembers
TemplateVariant createMembers() const
Definition: context.cpp:2282
ConceptContext::p
std::unique_ptr< Private > p
Definition: context.h:231
MemberContext::Private::nameWithContextFor
TemplateVariant nameWithContextFor() const
Definition: context.cpp:3892
FileContext::Private::Cachable::enums
CachedItem< TemplateVariant, Private, &Private::createEnums > enums
Definition: context.cpp:3036
MemberInfo::prot
Protection prot() const
Definition: membername.h:76
ClassListContext::Private::addClasses
void addClasses(const ClassLinkedMap &classLinkedMap)
Definition: context.cpp:4999
NamespaceListContext::NamespaceListContext
NamespaceListContext()
Definition: context.cpp:6218
MemberContext::Private::Cachable::typeConstraints
CachedItem< TemplateVariant, Private, &Private::createTypeConstraints > typeConstraints
Definition: context.cpp:4267
MemberDef::isSlot
virtual bool isSlot() const =0
SearchIndexContext::Private::text
TemplateVariant text() const
Definition: context.cpp:8762
SymbolContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8485
NamespaceContext::Private::dictionaries
TemplateVariant dictionaries() const
Definition: context.cpp:2516
MemberContext::Private::isMaybeVoid
TemplateVariant isMaybeVoid() const
Definition: context.cpp:3643
Translator::trClassHierarchy
virtual QCString trClassHierarchy()=0
GroupDef::getMemberGroups
virtual const MemberGroupList & getMemberGroups() const =0
FileContext::Private::Cachable::detailedMacros
CachedItem< TemplateVariant, Private, &Private::createDetailedMacros > detailedMacros
Definition: context.cpp:3040
MemberContext::Private::isWeak
TemplateVariant isWeak() const
Definition: context.cpp:3626
FileContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:2940
ConfigContext::Private::m_fields
CachedItem< StringVector, Private, &Private::createFields > m_fields
Definition: context.cpp:310
ModuleContext::Private::createDetailedSignals
TemplateVariant createDetailedSignals() const
Definition: context.cpp:4827
DirContext::Private
Definition: context.cpp:3115
VhdlDocGen::ENTITYCLASS
@ ENTITYCLASS
Definition: vhdldocgen.h:74
TranslateContext::Private::m_javaOpt
bool m_javaOpt
Definition: context.cpp:1009
generateTemplateFiles
void generateTemplateFiles(const QCString &templateDir)
Definition: context.cpp:9137
GlobalsIndexContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:7079
MemberListInfoContext::Private::createInherited
TemplateVariant createInherited() const
Definition: context.cpp:7929
ExampleTreeContext::Private::Private
Private()
Definition: context.cpp:6911
NamespaceDef::getClasses
virtual ClassLinkedRefMap getClasses() const =0
arguments.h
GenericConstIterator::toFirst
void toFirst()
Moves iterator to the first element in the list
Definition: context.cpp:153
FileContext::Private::compoundType
TemplateVariant compoundType() const
Definition: context.cpp:2780
ModuleContext::Private::publicSlots
TemplateVariant publicSlots() const
Definition: context.cpp:4567
ModuleContext::Private::createClasses
TemplateVariant createClasses() const
Definition: context.cpp:4679
FileContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:2765
NamespaceMembersIndexContext::Private::m_enums
CachedItem< TemplateVariant, Private, &Private::createEnums > m_enums
Definition: context.cpp:7343
InheritedMemberInfoContext::Private::createInheritedFrom
TemplateVariant createInheritedFrom() const
Definition: context.cpp:8020
NamespaceDef::displayName
virtual QCString displayName(bool=TRUE) const =0
ConceptContext::Private::fields
StringVector fields() const
Definition: context.cpp:4443
searchName
QCString searchName(const Definition *d)
Definition: searchindex.cpp:546
ModuleContext::Private::Cachable::macros
CachedItem< TemplateVariant, Private, &Private::createMacros > macros
Definition: context.cpp:4892
ExampleListContext::Private::Private
Private()
Definition: context.cpp:6672
MemberContext::Private::isNonAtomic
TemplateVariant isNonAtomic() const
Definition: context.cpp:3622
DefinitionContext::isLinkable
TemplateVariant isLinkable() const
Definition: context.cpp:1414
DefinitionContext::m_cachable
Cachable m_cachable
Definition: context.cpp:1562
TranslateContext::Private::searching
TemplateVariant searching() const
Definition: context.cpp:955
TextGeneratorLatex::writeString
void writeString(const QCString &s, bool keepSpaces) const
Definition: context.cpp:3481
Translator::trFriends
virtual QCString trFriends()=0
IncludeInfoListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:1705
NestingNodeContext::Private::m_member
CachedItem< TemplateVariant, Private, &Private::createMember > m_member
Definition: context.cpp:5610
Translator::trPublicAttribs
virtual QCString trPublicAttribs()=0
NamespaceMembersIndexContext::Private::m_variables
CachedItem< TemplateVariant, Private, &Private::createVariables > m_variables
Definition: context.cpp:7341
theTranslator
Translator * theTranslator
Definition: language.cpp:156
MemberContext::Private::isSettable
TemplateVariant isSettable() const
Definition: context.cpp:3608
InheritanceNodeContext::Private::name
TemplateVariant name() const
Definition: context.cpp:7468
Definition::isReference
virtual bool isReference() const =0
MemberContext::Private::referencedByRelation
TemplateVariant referencedByRelation() const
Definition: context.cpp:3777
MemberContext
Definition: context.h:317
ClassContext::Private::createDetailedServices
TemplateVariant createDetailedServices() const
Definition: context.cpp:2134
ClassContext::Private::Cachable::templateDecls
CachedItem< TemplateVariant, Private, &Private::createTemplateDecls > templateDecls
Definition: context.cpp:2385
TranslateContext::Private::loading
TemplateVariant loading() const
Definition: context.cpp:951
DirContext::Private::createDirs
TemplateVariant createDirs() const
Definition: context.cpp:3196
Definition::displayName
virtual QCString displayName(bool includeScope=TRUE) const =0
resourcemgr.h
Definition::inbodyDocumentation
virtual QCString inbodyDocumentation() const =0
MemberContext::Private::Cachable::templateArgs
CachedItem< TemplateVariant, Private, &Private::createTemplateArgs > templateArgs
Definition: context.cpp:4240
MemberContext::Private::Cachable::anonymousType
CachedItem< TemplateVariant, Private, &Private::createAnonymousType > anonymousType
Definition: context.cpp:4254
FileTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6495
NestingContext::Private::m_type
ContextTreeType m_type
Definition: context.cpp:5961
FileDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
FileContext::Private::Cachable::functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > functions
Definition: context.cpp:3037
Definition::name
virtual QCString name() const =0
MemberGroupInfoContext::Private::m_memberGroups
CachedItem< TemplateVariant, Private,&Private::createMemberGroups > m_memberGroups
Definition: context.cpp:7806
toDirDef
DirDef * toDirDef(Definition *d)
Definition: dirdef.cpp:1122
FileContext::Private::createDetailedFunctions
TemplateVariant createDetailedFunctions() const
Definition: context.cpp:2989
SymbolIndicesContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8743
FileContext::Private::s_inst
static const PropertyMap< FileContext::Private > s_inst
Definition: context.cpp:3050
DefinitionContext::createPartOfGroups
TemplateListIntfPtr createPartOfGroups() const
Definition: context.cpp:1539
Doxygen::groupLinkedMap
static GroupLinkedMap * groupLinkedMap
Definition: doxygen.h:96
SrcLangExt_D
@ SrcLangExt_D
Definition: types.h:47
NestingNodeContext::Private::m_file
CachedItem< TemplateVariant, Private, &Private::createFile > m_file
Definition: context.cpp:5607
ClassDef::usedFiles
virtual const FileList & usedFiles() const =0
ModuleListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6746
FileTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6493
MemberListType_events
@ MemberListType_events
Definition: types.h:135
DefinitionContext::navigationPath
TemplateVariant navigationPath() const
Definition: context.cpp:1423
MemberContext::Private::initializerAsCode
TemplateVariant initializerAsCode() const
Definition: context.cpp:3667
NamespaceMembersIndexContext::Private::MemberFilter
bool(MemberDef::*)() const MemberFilter
Definition: context.cpp:7310
PageTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6586
TranslateContext::Private::definedAtLineInSourceFile
TemplateVariant definedAtLineInSourceFile() const
Definition: context.cpp:762
MemberInfoContext::Private::member
TemplateVariant member() const
Definition: context.cpp:7658
Translator::trFileListDescription
virtual QCString trFileListDescription(bool extractAll)=0
ClassDef::getClasses
virtual ClassLinkedRefMap getClasses() const =0
returns the classes nested into this class
SymbolListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8521
SrcLangExt_Cpp
@ SrcLangExt_Cpp
Definition: types.h:50
doxygen.h
ConceptContext::Private::Private
Private(const ConceptDef *cd)
Definition: context.cpp:4435
Translator::trVariableDocumentation
virtual QCString trVariableDocumentation()=0
TranslateContext::Private::namespaceMembers
TemplateVariant namespaceMembers() const
Definition: context.cpp:676
NamespaceMembersIndexContext::Private::m_functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > m_functions
Definition: context.cpp:7340
MemberInfo::ambiguityResolutionScope
QCString ambiguityResolutionScope() const
Definition: membername.h:80
ClassHierarchyContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:5252
InheritanceGraphContext::alloc
static TemplateStructIntfPtr alloc(DotGfxHierarchyTablePtr hierarchy, DotNode *n, int id)
Definition: context.h:402
ClassIndexContext::ClassIndexContext
ClassIndexContext()
Definition: context.cpp:5108
FileContext::Private::detailedSequences
TemplateVariant detailedSequences() const
Definition: context.cpp:2774
parserintf.h
ClassIndexContext::Private::m_classes
CachedItem< TemplateVariant, Private, &Private::createClasses > m_classes
Definition: context.cpp:5092
SymbolIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8698
MemberContext::Private::createInitializerAsCode
TemplateVariant createInitializerAsCode() const
Definition: context.cpp:4174
DirContext::DirContext
DirContext(const DirDef *)
Definition: context.cpp:3250
Definition::inbodyFile
virtual QCString inbodyFile() const =0
ClassContext::Private::addTemplateDecls
void addTemplateDecls(const Definition *d, TemplateVariantList &tl) const
Definition: context.cpp:2204
MemberContext::Private::trailingReturnType
TemplateVariant trailingReturnType() const
Definition: context.cpp:3687
MemberGroupInfoContext::Private::m_members
CachedItem< TemplateVariant, Private,&Private::createMembers > m_members
Definition: context.cpp:7805
ContextTreeType::Page
@ Page
ArgumentContext::Private::Private
Private(const Argument &arg, const Definition *def, const QCString &relPath)
Definition: context.cpp:8203
Argument
This class contains the information about the argument of a function or template
Definition: arguments.h:26
MemberContext::Private::eventAttrs
TemplateVariant eventAttrs() const
Definition: context.cpp:3674
TranslateContext::Private::collaborationDiagramFor
TemplateVariant collaborationDiagramFor() const
Definition: context.cpp:568
TranslateContext::Private::panelSyncOn
TemplateVariant panelSyncOn() const
Definition: context.cpp:979
DirContext
Definition: context.h:276
ArgumentListContext::p
std::unique_ptr< Private > p
Definition: context.h:1221
ModuleContext::Private::m_groupDef
const GroupDef * m_groupDef
Definition: context.cpp:4881
Definition::TypeConcept
@ TypeConcept
Definition: definition.h:95
GenericConstIterator::m_list
const TemplateVariantList & m_list
Definition: context.cpp:183
FileListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6371
TextGeneratorIntf
Abstract interface for a hyperlinked text fragment.
Definition: util.h:60
NestingContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:5985
FileContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:2952
ArgumentContext::Private::m_relPath
QCString m_relPath
Definition: context.cpp:8247
MemberListType_docSignalMembers
@ MemberListType_docSignalMembers
Definition: types.h:174
MemberDef::resolveAlias
virtual MemberDef * resolveAlias()=0
TranslateContext::Private::includeDependencyGraph
TemplateVariant includeDependencyGraph() const
Definition: context.cpp:850
NamespaceTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6315
NamespaceContext::Private::Cachable::functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > functions
Definition: context.cpp:2674
ClassContext::Private::innerClasses
TemplateVariant innerClasses() const
Definition: context.cpp:1779
NestingNodeContext::Private::createPage
TemplateVariant createPage() const
Definition: context.cpp:5571
MemberDef::getClassDef
virtual const ClassDef * getClassDef() const =0
InheritanceNodeContext::Private::s_inst
static const PropertyMap< InheritanceNodeContext::Private > s_inst
Definition: context.cpp:7478
MemberContext::Private::hasCallGraph
TemplateVariant hasCallGraph() const
Definition: context.cpp:3727
ClassContext::Private::Cachable::publicMethods
CachedItem< TemplateVariant, Private, &Private::createPublicMethods > publicMethods
Definition: context.cpp:2342
NamespaceTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6269
ModuleContext::Private::Cachable::modules
CachedItem< TemplateVariant, Private, &Private::createModules > modules
Definition: context.cpp:4884
ModuleContext::Private::detailedPublicSlots
TemplateVariant detailedPublicSlots() const
Definition: context.cpp:4581
IncludeInfoListContext::~IncludeInfoListContext
virtual ~IncludeInfoListContext()
Definition: context.cpp:1690
PropertyMap
Class representing a mapping of properties and the corresponding getter function.
Definition: context.cpp:118
Translator::trAdditionalInheritedMembers
virtual QCString trAdditionalInheritedMembers()=0
Translator::trConstructorDocumentation
virtual QCString trConstructorDocumentation()=0
MemberDef::isFinal
virtual bool isFinal() const =0
NamespaceListContext::Private
Definition: context.cpp:6203
language.h
extractDirection
QCString extractDirection(QCString &docs)
Strip the direction part from docs and return it as a string in canonical form The input docs string ...
Definition: util.cpp:6801
Translator::trEventDocumentation
virtual QCString trEventDocumentation()=0
TranslateContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:1234
MemberGroupListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:7892
GenericConstIterator::toLast
void toLast()
Moves iterator to the last element in the list
Definition: context.cpp:157
SrcLangExt_Python
@ SrcLangExt_Python
Definition: types.h:52
ModuleContext::Private::Cachable::detailedPublicSlots
CachedItem< TemplateVariant, Private, &Private::createDetailedPublicSlots > detailedPublicSlots
Definition: context.cpp:4913
MemberContext::Private::Cachable::fileDef
CachedItem< TemplateVariant, Private, &Private::createFileDef > fileDef
Definition: context.cpp:4246
Translator::trProvidedByCategory
virtual QCString trProvidedByCategory()=0
ArgumentListContext::Private
Definition: context.cpp:8289
SearchIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8798
ClassContext::Private::createProtectedMethods
TemplateVariant createProtectedMethods() const
Definition: context.cpp:2046
NamespaceContext::Private::inlineClasses
TemplateVariant inlineClasses() const
Definition: context.cpp:2527
ClassContext::Private::Cachable::usedFiles
CachedItem< TemplateVariant, Private, &Private::createUsedFiles > usedFiles
Definition: context.cpp:2388
LatexCodeGenerator
Definition: latexgen.h:28
MemberContext::Private::isReadonly
TemplateVariant isReadonly() const
Definition: context.cpp:3639
TranslateContext::Private::classMembers
TemplateVariant classMembers() const
Definition: context.cpp:618
PageTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6580
ClassTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6096
ConceptContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:4449
stripPath
QCString stripPath(const QCString &s)
Definition: util.cpp:5318
MemberGroupInfoContext::Private::createMembers
TemplateVariant createMembers() const
Definition: context.cpp:7785
MemberContext::Private::Cachable::sourceRefs
CachedItem< TemplateVariant, Private, &Private::createSourceRefs > sourceRefs
Definition: context.cpp:4261
MemberDef::getExamples
virtual const ExampleList & getExamples() const =0
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
MemberDef::isMutable
virtual bool isMutable() const =0
SymbolContext::SymbolContext
SymbolContext(const Definition *def, const Definition *prev, const Definition *next)
Definition: context.cpp:8472
ClassHierarchyContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:5219
MemberContext::Private::isCopy
TemplateVariant isCopy() const
Definition: context.cpp:3623
LatexDocVisitor
Concrete visitor implementation for LaTeX output.
Definition: latexdocvisitor.h:29
NestingContext::Private::addModules
void addModules(const GroupList &groups, ClassDefSet &visitedClasses)
Definition: context.cpp:5877
MemberListInfoContext::Private::m_memberListCtx
CachedItem< TemplateVariant, Private, &Private::createMemberList > m_memberListCtx
Definition: context.cpp:7949
PageContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:3357
ClassDef::getTemplateParameterLists
virtual ArgumentLists getTemplateParameterLists() const =0
Returns the template parameter lists that form the template declaration of this class.
VhdlDocGen::VhdlClasses
VhdlClasses
Definition: vhdldocgen.h:72
DirContext::Private::m_dirDef
const DirDef * m_dirDef
Definition: context.cpp:3220
ClassContext::Private::Cachable::members
CachedItem< TemplateVariant, Private, &Private::createMembers > members
Definition: context.cpp:2387
NestingNodeContext::Private::isReference
TemplateVariant isReference() const
Definition: context.cpp:5342
DefinitionContext::Cachable
Definition: context.cpp:1551
MemberContext::Private::declType
TemplateVariant declType() const
Definition: context.cpp:3662
ModuleContext::Private::Cachable::detailedMacros
CachedItem< TemplateVariant, Private, &Private::createDetailedMacros > detailedMacros
Definition: context.cpp:4906
TranslateContext::Private::modulesDescription
TemplateVariant modulesDescription() const
Definition: context.cpp:891
ClassDef::getMemberListFileName
virtual QCString getMemberListFileName() const =0
NestingNodeContext::Private::relPathAsString
QCString relPathAsString() const
Definition: context.cpp:5360
ArgumentContext::Private::defVal
TemplateVariant defVal() const
Definition: context.cpp:8215
TranslateContext::Private::handleWriteList
TemplateVariant handleWriteList(const TemplateVariantList &args) const
Definition: context.cpp:482
PageContext::Private::Cachable::example
CachedItem< TemplateVariant, Private, &Private::createExample > example
Definition: context.cpp:3355
MemberListType_docFuncMembers
@ MemberListType_docFuncMembers
Definition: types.h:168
ClassContext::Private::Cachable::detailedConstructors
CachedItem< TemplateVariant, Private, &Private::createDetailedConstructors > detailedConstructors
Definition: context.cpp:2375
PageTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6618
ClassIndexContext::Private::list
TemplateVariant list() const
Definition: context.cpp:5056
FileContext::Private::Cachable
Definition: context.cpp:3023
ClassContext::Private::createPublicAttributes
TemplateVariant createPublicAttributes() const
Definition: context.cpp:2018
ModuleContext::Private::Cachable::properties
CachedItem< TemplateVariant, Private, &Private::createProperties > properties
Definition: context.cpp:4903
ClassContext::Private::allMembersList
TemplateVariant allMembersList() const
Definition: context.cpp:1785
PageLinkedMap
Definition: pagedef.h:74
getLanguageSpecificSeparator
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Returns the scope separator to use given the programming language lang
Definition: util.cpp:6545
IncludeInfoContext::Private::file
TemplateVariant file() const
Definition: context.cpp:1620
MemberContext::Private::isFinal
TemplateVariant isFinal() const
Definition: context.cpp:3616
ModuleTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6862
SearchIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:8756
Translator::trMainPage
virtual QCString trMainPage()=0
ClassContext::Private::createMemberList
TemplateVariant createMemberList(MemberListType type, const QCString &title) const
Definition: context.cpp:1996
MemberListContainer
MemberListContainer
Definition: types.h:196
MemberDef::isFunction
virtual bool isFunction() const =0
InheritanceGraphContext::Private
Definition: context.cpp:7390
NamespaceTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6264
ClassContext::Private::createPackageAttributes
TemplateVariant createPackageAttributes() const
Definition: context.cpp:2102
NamespaceContext::Private::createMemberList
TemplateVariant createMemberList(MemberListType type, const QCString &title) const
Definition: context.cpp:2576
ClassContext::Private::Cachable::protectedAttributes
CachedItem< TemplateVariant, Private, &Private::createProtectedAttributes > protectedAttributes
Definition: context.cpp:2350
TranslateContext::Private::sourceRefBys
TemplateVariant sourceRefBys() const
Definition: context.cpp:822
FileContext::Private::Cachable::detailedFunctions
CachedItem< TemplateVariant, Private, &Private::createDetailedFunctions > detailedFunctions
Definition: context.cpp:3045
ClassHierarchyContext::p
std::unique_ptr< Private > p
Definition: context.h:475
NestingContext::addModules
void addModules(const GroupLinkedMap &modules, ClassDefSet &visitedClasses)
Definition: context.cpp:6050
MemberContext::Private::isPublished
TemplateVariant isPublished() const
Definition: context.cpp:3646
NamespaceTreeContext::Private::Private
Private()
Definition: context.cpp:6248
readCodeFragment
bool readCodeFragment(const QCString &fileName, int &startLine, int &endLine, QCString &result)
Reads a fragment from file fileName starting with line startLine and ending with line endLine.
Definition: definition.cpp:719
MemberContext::Private::exception
TemplateVariant exception() const
Definition: context.cpp:3664
ModuleContext::Private::createDetailedEnums
TemplateVariant createDetailedEnums() const
Definition: context.cpp:4809
NamespaceDef::getMemberList
virtual MemberList * getMemberList(MemberListType lt) const =0
TextGeneratorHtml::TextGeneratorHtml
TextGeneratorHtml(TextStream &ts, const QCString &relPath)
Definition: context.cpp:3397
MemberGroupListContext::MemberGroupListContext
MemberGroupListContext()
Definition: context.cpp:7854
MemberContext::Private::isPrivateGettable
TemplateVariant isPrivateGettable() const
Definition: context.cpp:3606
ConceptTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6824
MemberListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:7610
SymbolGroupContext::Private::symbolList
TemplateVariant symbolList() const
Definition: context.cpp:8552
ClassHierarchyContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:5253
FileContext::Private::Cachable::includeList
CachedItem< TemplateVariant, Private, &Private::createIncludeList > includeList
Definition: context.cpp:3025
fileToString
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition: util.cpp:1394
MemberGroup::documentation
const QCString & documentation() const
Definition: membergroup.h:68
DirListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6410
MemberContext::Private::sourceRefBys
TemplateVariant sourceRefBys() const
Definition: context.cpp:3698
ParserManager::getCodeParser
std::unique_ptr< CodeParserInterface > getCodeParser(const QCString &extension)
Gets the interface to the parser associated with a given extension.
Definition: parserintf.h:217
docparser.h
linkifyText
void linkifyText(const TextGeneratorIntf &out, const Definition *scope, const FileDef *fileScope, const Definition *self, const QCString &text, bool autoBreak, bool external, bool keepSpaces, int indentLevel)
Definition: util.cpp:886
FileContext::Private::Cachable::inlineClasses
CachedItem< TemplateVariant, Private, &Private::createInlineClasses > inlineClasses
Definition: context.cpp:3047
HtmlEscaper::escape
QCString escape(const QCString &s)
Returns the input after escaping certain characters
Definition: context.cpp:8853
GenericNodeListContext::GenericNodeListContext
GenericNodeListContext()
Definition: context.cpp:193
ClassMembersIndexContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:7193
Definition::briefDescription
virtual QCString briefDescription(bool abbreviate=FALSE) const =0
TRUE
#define TRUE
Definition: qcstring.h:36
Translator::trPrivateMembers
virtual QCString trPrivateMembers()=0
MemberContext::Private::isOptional
TemplateVariant isOptional() const
Definition: context.cpp:3620
ClassContext::Private::createEvents
TemplateVariant createEvents() const
Definition: context.cpp:2114
ConceptContext::Private::initializer
TemplateVariant initializer() const
Definition: context.cpp:4452
Definition::TypeDir
@ TypeDir
Definition: definition.h:94
Definition::getOutputFileBase
virtual QCString getOutputFileBase() const =0
NestingNodeContext::Private::Private
Private(const NestingNodeContext *parent, const NestingNodeContext *thisNode, ContextTreeType type, const Definition *d, int index, int level, bool addCls, bool addCps, bool inherit, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.cpp:5296
ConceptListContext::ConceptListContext
ConceptListContext()
Definition: context.cpp:6175
NamespaceContext::Private::Cachable::detailedTypedefs
CachedItem< TemplateVariant, Private, &Private::createDetailedTypedefs > detailedTypedefs
Definition: context.cpp:2677
SymbolGroupContext::Private::m_start
SearchIndexList::const_iterator m_start
Definition: context.cpp:8561
GroupDef::getNamespaces
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
FileContext::Private::dictionaries
TemplateVariant dictionaries() const
Definition: context.cpp:2767
Definition::getStartBodyLine
virtual int getStartBodyLine() const =0
DirContext::Private::createDirDepsGraph
DotDirDepsPtr createDirDepsGraph() const
Definition: context.cpp:3216
MemberVector
A vector of MemberDef object
Definition: memberlist.h:32
TranslateContext::Private::initialValue
TemplateVariant initialValue() const
Definition: context.cpp:794
Definition::getEndBodyLine
virtual int getEndBodyLine() const =0
ConceptContext
Definition: context.h:217
MemberDef::getNamespaceDef
virtual const NamespaceDef * getNamespaceDef() const =0
Translator::trSearching
virtual QCString trSearching()=0
NestingNodeContext::Private::m_brief
CachedItem< TemplateVariant, Private, &Private::createBrief > m_brief
Definition: context.cpp:5611
SearchIndexContext::Private
Definition: context.cpp:8750
MemberContext::Private::categoryRelation
TemplateVariant categoryRelation() const
Definition: context.cpp:3677
NamespaceMembersIndexContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:7333
ClassContext::Private::~Private
virtual ~Private()
Definition: context.cpp:1719
MemberContext::Private::Cachable::callerGraph
CachedItem< DotCallGraphPtr, Private, &Private::createCallerGraph > callerGraph
Definition: context.cpp:4264
DirDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
DoxygenContext::Private::mathJaxCodeFile
TemplateVariant mathJaxCodeFile() const
Definition: context.cpp:346
ClassMembersIndexContext::Private::title
TemplateVariant title() const
Definition: context.cpp:7196
DirListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:651
MemberListContext::Private::addMember
void addMember(const MemberDef *md)
Definition: context.cpp:7565
ClassMembersIndexContext::Private::m_functions
CachedItem< TemplateVariant, Private, &Private::createFunctions > m_functions
Definition: context.cpp:7231
MemberDef::isPublished
virtual bool isPublished() const =0
TranslateContext::Private::namespaceListDescription
TemplateVariant namespaceListDescription() const
Definition: context.cpp:896
MemberListType_variableMembers
@ MemberListType_variableMembers
Definition: types.h:142
Argument::attrib
QCString attrib
Definition: arguments.h:49
FileDef::fileVersion
virtual QCString fileVersion() const =0
ClassContext::Private::hasCollaborationDiagram
TemplateVariant hasCollaborationDiagram() const
Definition: context.cpp:1899
NamespaceContext::Private::createClasses
TemplateVariant createClasses() const
Definition: context.cpp:2530
LatexSpaceless
Definition: context.cpp:8862
ModuleContext::Private::Cachable::files
CachedItem< TemplateVariant, Private, &Private::createFiles > files
Definition: context.cpp:4886
SrcLangExt_Fortran
@ SrcLangExt_Fortran
Definition: types.h:53
DoxygenContext::Private::m_mathJaxCodeFile
CachedItem< QCString, Private, &Private::createMathJaxCodeFile > m_mathJaxCodeFile
Definition: context.cpp:352
filedef.h
ModuleContext::Private::files
TemplateVariant files() const
Definition: context.cpp:4556
IncludeInfoContext::Private::m_fileContext
CachedItem< TemplateVariant, Private, &Private::createFileContext > m_fileContext
Definition: context.cpp:1636
InheritedMemberInfoListContext::Private::addInheritedMembers
void addInheritedMembers(const ClassDef *inheritedFrom, const ClassDef *cd, MemberListType lt, MemberListType lt1, int lt2, const QCString &title, bool additionalList)
Definition: context.cpp:8112
MemberListType_pacAttribs
@ MemberListType_pacAttribs
Definition: types.h:120
ClassContext::Private::createIncludeInfo
TemplateVariant createIncludeInfo() const
Definition: context.cpp:1944
InheritedMemberInfoContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8054
TranslateContext::Private::implements
TemplateVariant implements() const
Definition: context.cpp:802
NamespaceTreeContext::~NamespaceTreeContext
virtual ~NamespaceTreeContext()
Definition: context.cpp:6311
SymbolGroupContext::alloc
static TemplateStructIntfPtr alloc(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.h:1273
InheritedMemberInfoContext::Private::title
TemplateVariant title() const
Definition: context.cpp:8002
ClassMembersIndexContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:7195
ClassIndexContext::Private::createClasses
TemplateVariant createClasses() const
Definition: context.cpp:5068
NamespaceContext::Private::Cachable::variables
CachedItem< TemplateVariant, Private, &Private::createVariables > variables
Definition: context.cpp:2675
ClassHierarchyContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:5217
MemberContext::Private::createDeclArgs
TemplateVariant createDeclArgs() const
Definition: context.cpp:4220
ModuleContext::p
std::unique_ptr< Private > p
Definition: context.h:352
MemberContext::Private::createCategory
TemplateVariant createCategory() const
Definition: context.cpp:3970
ArgumentList::constSpecifier
bool constSpecifier() const
Definition: arguments.h:104
computeMaxDepth
static int computeMaxDepth(const TemplateListIntfPtr list)
Definition: context.cpp:5129
ConceptTreeContext::ConceptTreeContext
ConceptTreeContext()
Definition: context.cpp:6811
DirListContext::p
std::unique_ptr< Private > p
Definition: context.h:663
MemberListInfoContext::Private::m_title
QCString m_title
Definition: context.cpp:7947
NestingContext::NestingContext
NestingContext(const NestingNodeContext *parent, ContextTreeType type, int level)
Definition: context.cpp:5966
ClassDef::Struct
@ Struct
Definition: classdef.h:108
GlobalsIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:893
MemberContext::Private::getFile
TemplateVariant getFile() const
Definition: context.cpp:3678
MemberDef::reimplements
virtual const MemberDef * reimplements() const =0
MemberContext::Private::isObjCMethod
TemplateVariant isObjCMethod() const
Definition: context.cpp:3591
ClassContext::Private::Cachable::classGraph
CachedItem< DotClassGraphPtr, Private, &Private::createClassGraph > classGraph
Definition: context.cpp:2337
MemberInfoContext::Private::Private
Private(const MemberInfo *mi)
Definition: context.cpp:7625
ModuleContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:4571
MemberDef::isTypeAlias
virtual bool isTypeAlias() const =0
DefinitionContext::Cachable::partOfGroups
CachedItem< TemplateListIntfPtr, DC, &DC::createPartOfGroups > partOfGroups
Definition: context.cpp:1558
MemberDef::protection
virtual Protection protection() const =0
ClassContext::Private::usedFiles
TemplateVariant usedFiles() const
Definition: context.cpp:1732
NamespaceMembersIndexContext::Private::related
TemplateVariant related() const
Definition: context.cpp:7302
TranslateContext::Private::conceptDefinition
TemplateVariant conceptDefinition() const
Definition: context.cpp:594
Translator::trModulesMembers
virtual QCString trModulesMembers()=0
ClassContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:1787
TextStream::str
std::string str() const
Return the contents of the buffer as a std::string object
Definition: textstream.h:208
ModuleContext::Private::createPublicSlots
TemplateVariant createPublicSlots() const
Definition: context.cpp:4777
HtmlEscaper
Definition: context.cpp:8846
Translator::trStaticPrivateAttribs
virtual QCString trStaticPrivateAttribs()=0
MemberContext::Private::Cachable::initializerAsCode
CachedItem< TemplateVariant, Private, &Private::createInitializerAsCode > initializerAsCode
Definition: context.cpp:4269
toClassDef
ClassDef * toClassDef(Definition *d)
Definition: classdef.cpp:4907
ConceptListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:589
ClassContext::Private::createTypeConstraints
TemplateVariant createTypeConstraints() const
Definition: context.cpp:2176
Translator::trModulesListDescription
virtual QCString trModulesListDescription(bool extractAll)=0
Definition::partOfGroups
virtual const GroupList & partOfGroups() const =0
NamespaceContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:2598
Translator::trTypeConstraints
virtual QCString trTypeConstraints()=0
ContextTreeType::ClassInheritance
@ ClassInheritance
NamespaceContext::Private::Cachable::detailedEnums
CachedItem< TemplateVariant, Private, &Private::createDetailedEnums > detailedEnums
Definition: context.cpp:2680
ClassContext::Private::detailedTypedefs
TemplateVariant detailedTypedefs() const
Definition: context.cpp:1768
TranslateContext::Private::index
TemplateVariant index() const
Definition: context.cpp:975
countVisibleMembers
int countVisibleMembers(const NamespaceDef *nd)
Definition: index.cpp:1591
ClassHierarchyContext::~ClassHierarchyContext
virtual ~ClassHierarchyContext()
Definition: context.cpp:5277
TranslateContext::Private::classHierarchyDescription
TemplateVariant classHierarchyDescription() const
Definition: context.cpp:717
ConceptContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:4442
ClassContext::Private::createProtectedAttributes
TemplateVariant createProtectedAttributes() const
Definition: context.cpp:2054
ConfigContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:328
Translator::trIncludingInheritedMembers
virtual QCString trIncludingInheritedMembers()=0
ConceptContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:4527
ClassTreeContext::Private
Definition: context.cpp:6078
ClassContext::Private::examples
TemplateVariant examples() const
Definition: context.cpp:1783
ClassContext::Private::createPublicTypes
TemplateVariant createPublicTypes() const
Definition: context.cpp:2002
searchId
QCString searchId(const Definition *d)
Definition: searchindex.cpp:553
PropertyMap::PropertyMap
PropertyMap(std::initializer_list< typename Map::value_type > init)
Definition: context.cpp:123
ArgumentContext::Private::m_def
const Definition * m_def
Definition: context.cpp:8246
MemberContext::Private::isEvent
TemplateVariant isEvent() const
Definition: context.cpp:3601
MemberContext::Private::Cachable::bitfields
CachedItem< TemplateVariant, Private, &Private::createBitfields > bitfields
Definition: context.cpp:4275
ClassContext::Private::Cachable::publicTypes
CachedItem< TemplateVariant, Private, &Private::createPublicTypes > publicTypes
Definition: context.cpp:2341
ClassContext::Private::Cachable::protectedStaticAttributes
CachedItem< TemplateVariant, Private, &Private::createProtectedStaticAttributes > protectedStaticAttributes
Definition: context.cpp:2351
TranslateContext::Private::concepts
TemplateVariant concepts() const
Definition: context.cpp:590
GlobalsIndexContext::Private::macros
TemplateVariant macros() const
Definition: context.cpp:7081
FileTreeContext::Private
Definition: context.cpp:6466
Definition::DefType
DefType
Definition: definition.h:85
Translator::trSearch
virtual QCString trSearch()=0
NamespaceDef::getNamespaces
virtual NamespaceLinkedRefMap getNamespaces() const =0
ModuleContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:4752
MemberContext::Private
Definition: context.cpp:3577
MemberInfoContext::alloc
static TemplateStructIntfPtr alloc(const MemberInfo *mi)
Definition: context.h:1103
NavPathElemContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7059
NamespaceListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:610
InheritedMemberInfoListContext::Private::addMemberList
void addMemberList(const ClassDef *inheritedFrom, const MemberList &ml, MemberList *combinedList)
Definition: context.cpp:8070
MemberListInfoContext::Private::m_inherited
CachedItem< TemplateVariant, Private, &Private::createInherited > m_inherited
Definition: context.cpp:7951
GlobalsIndexContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:7117
MemberListType_enumMembers
@ MemberListType_enumMembers
Definition: types.h:138
NamespaceTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6266
insertTemplateSpecifierInScope
QCString insertTemplateSpecifierInScope(const QCString &scope, const QCString &templ)
Definition: util.cpp:3782
Translator::trTypedefs
virtual QCString trTypedefs()=0
ClassContext::Private::events
TemplateVariant events() const
Definition: context.cpp:1765
HtmlEscaper::enableTabbing
void enableTabbing(bool)
Setting tabbing mode on or off (for LaTeX)
Definition: context.cpp:8857
MemberGroupListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:7887
TranslateContext::Private::incInheritedMembers
TemplateVariant incInheritedMembers() const
Definition: context.cpp:786
NamespaceMembersIndexContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:7305
HtmlCodeGenerator
Definition: htmlgen.h:21
ClassContext::Private::fields
StringVector fields() const
Definition: context.cpp:1723
InheritanceGraphContext::Private::Private
Private(DotGfxHierarchyTablePtr hierarchy, DotNode *n, int id)
Definition: context.cpp:7393
MemberListType_decEnumMembers
@ MemberListType_decEnumMembers
Definition: types.h:152
SrcLangExt_CSharp
@ SrcLangExt_CSharp
Definition: types.h:46
MemberContext::Private::isImplementation
TemplateVariant isImplementation() const
Definition: context.cpp:3593
FileContext::Private::hasSourceFile
TemplateVariant hasSourceFile() const
Definition: context.cpp:2758
NamespaceMembersIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7288
Translator::trReferencedBy
virtual QCString trReferencedBy()=0
SymbolIndexContext::Private::m_searchList
const SearchIndexList & m_searchList
Definition: context.cpp:8675
Translator::trDesignUnitList
virtual QCString trDesignUnitList()=0
FileContext::Private::createIncludedByGraph
DotInclDepGraphPtr createIncludedByGraph() const
Definition: context.cpp:2881
ModuleContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:4564
SymbolContext::Private::createScope
TemplateVariant createScope() const
Definition: context.cpp:8368
Translator::trDataTypes
virtual QCString trDataTypes()=0
SrcLangExt_SQL
@ SrcLangExt_SQL
Definition: types.h:58
FileContext::Private::fields
StringVector fields() const
Definition: context.cpp:2749
MemberListType_pacTypes
@ MemberListType_pacTypes
Definition: types.h:128
DefinitionContext::inbodyDocs
TemplateVariant inbodyDocs() const
Definition: context.cpp:1420
ConceptLinkedMap
Definition: conceptdef.h:63
ModuleTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6851
ClassContext::Private::createPublicStaticMethods
TemplateVariant createPublicStaticMethods() const
Definition: context.cpp:2012
Translator::trClassDiagram
virtual QCString trClassDiagram(const QCString &clName)=0
FileTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6491
ExampleListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6698
MemberGroupInfoContext::MemberGroupInfoContext
MemberGroupInfoContext(const Definition *def, const QCString &relPath, const MemberGroup *mg)
Definition: context.cpp:7823
NestingNodeContext::Private::getDir
TemplateVariant getDir() const
Definition: context.cpp:5332
MemberDef::isStrong
virtual bool isStrong() const =0
TranslateContext::Private::namespaces
TemplateVariant namespaces() const
Definition: context.cpp:630
DotGfxHierarchyTablePtr
std::shared_ptr< DotGfxHierarchyTable > DotGfxHierarchyTablePtr
Definition: dotgfxhierarchytable.h:59
Collaboration
@ Collaboration
Definition: dotgraph.h:29
MemberDef::isWritable
virtual bool isWritable() const =0
ClassTreeContext::ClassTreeContext
ClassTreeContext()
Definition: context.cpp:6139
FileContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:2768
InheritanceNodeContext::p
std::unique_ptr< Private > p
Definition: context.h:974
ModuleContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:4922
PageContext::Private::m_isMainPage
bool m_isMainPage
Definition: context.cpp:3358
FileTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6507
FileContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:2757
ModuleContext::~ModuleContext
virtual ~ModuleContext()
Definition: context.cpp:4979
NamespaceContext::Private::Cachable::memberGroups
CachedItem< TemplateVariant, Private, &Private::createMemberGroups > memberGroups
Definition: context.cpp:2676
InheritedMemberInfoContext::Private::members
TemplateVariant members() const
Definition: context.cpp:8003
GlobalsIndexContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:7077
ClassDiagram
Class representing a built-in class diagram.
Definition: diagram.h:29
Translator::trReimplementedFromList
virtual QCString trReimplementedFromList(int numEntries)=0
FileContext::Private::getIncludedByGraph
DotInclDepGraphPtr getIncludedByGraph() const
Definition: context.cpp:2782
ConceptTreeContext::~ConceptTreeContext
virtual ~ConceptTreeContext()
Definition: context.cpp:6815
CachedItem::m_item
T m_item
Definition: context.cpp:109
SymbolIndicesContext::~SymbolIndicesContext
virtual ~SymbolIndicesContext()
Definition: context.cpp:8728
SymbolIndexContext::Private::s_inst
static const PropertyMap< SymbolIndexContext::Private > s_inst
Definition: context.cpp:8678
UsedFilesContext::addFile
void addFile(const FileDef *fd)
Definition: context.cpp:6459
MemberListType_priTypes
@ MemberListType_priTypes
Definition: types.h:129
ConceptTreeContext::Private::Private
Private()
Definition: context.cpp:6756
ClassContext::Private::createUnoIDLServices
TemplateVariant createUnoIDLServices() const
Definition: context.cpp:2030
Definition::TypeClass
@ TypeClass
Definition: definition.h:87
IncludeInfoListContext::alloc
static TemplateListIntfPtr alloc(const IncludeInfoList &list, SrcLangExt lang)
Definition: context.h:178
Translator::trConceptListDescription
virtual QCString trConceptListDescription(bool extractAll)=0
ConceptTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6786
ClassContext::ClassContext
ClassContext(const ClassDef *)
Definition: context.cpp:2471
IncludeInfoContext::IncludeInfoContext
IncludeInfoContext(const IncludeInfo *, SrcLangExt lang)
Definition: context.cpp:1651
GlobalsIndexContext::Private::m_macros
CachedItem< TemplateVariant, Private, &Private::createMacros > m_macros
Definition: context.cpp:7127
Definition::definitionType
virtual DefType definitionType() const =0
NamespaceMembersIndexContext::Private::m_typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > m_typedefs
Definition: context.cpp:7342
ClassMembersIndexContext::Private::m_typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > m_typedefs
Definition: context.cpp:7233
Translator::trMemberTypedefDocumentation
virtual QCString trMemberTypedefDocumentation()=0
FileListContext::p
std::unique_ptr< Private > p
Definition: context.h:684
MemberContext::Private::Cachable::parameters
CachedItem< TemplateVariant, Private, &Private::createParameters > parameters
Definition: context.cpp:4244
MemberListType_pubStaticAttribs
@ MemberListType_pubStaticAttribs
Definition: types.h:122
ClassDef::subClasses
virtual const BaseClassList & subClasses() const =0
Returns the list of sub classes that directly derive from this class
NamespaceMembersIndexContext::Private::events
TemplateVariant events() const
Definition: context.cpp:7301
dotclassgraph.h
dirdef.h
Translator::trInterfaces
virtual QCString trInterfaces()=0
SymbolContext::Private::m_nextDef
const Definition * m_nextDef
Definition: context.cpp:8457
GlobalsIndexContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:7086
PageContext::Private::Cachable
Definition: context.cpp:3353
ConceptTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:800
NestingNodeContext::Private::name
TemplateVariant name() const
Definition: context.cpp:5344
SymbolContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8480
PageListContext::p
std::unique_ptr< Private > p
Definition: context.h:727
ClassTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6097
ConceptDef::title
virtual QCString title() const =0
NamespaceContext::Private::Cachable::detailedSequences
CachedItem< TemplateVariant, Private, &Private::createDetailedSequences > detailedSequences
Definition: context.cpp:2678
MemberContext::Private::isObjCProperty
TemplateVariant isObjCProperty() const
Definition: context.cpp:3592
NamespaceTreeContext::NamespaceTreeContext
NamespaceTreeContext()
Definition: context.cpp:6307
DoxygenContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:380
ClassMembersIndexContext::Private
Definition: context.cpp:7173
NavPathElemContext::Private::s_inst
static const PropertyMap< NavPathElemContext::Private > s_inst
Definition: context.cpp:7030
DirListContext::DirListContext
DirListContext()
Definition: context.cpp:6391
TranslateContext::Private::handleInheritedByList
TemplateVariant handleInheritedByList(const TemplateVariantList &args) const
Definition: context.cpp:470
ClassMembersIndexContext::Private::m_events
CachedItem< TemplateVariant, Private, &Private::createEvents > m_events
Definition: context.cpp:7237
MemberListType_decDefineMembers
@ MemberListType_decDefineMembers
Definition: types.h:149
TranslateContext::Private
Definition: context.cpp:392
MemberInfoContext::~MemberInfoContext
virtual ~MemberInfoContext()
Definition: context.cpp:7693
InheritanceGraphContext::Private::m_id
int m_id
Definition: context.cpp:7424
DirListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6405
InheritanceListContext::Private
Definition: context.cpp:7510
Definition::briefFile
virtual QCString briefFile() const =0
MemberDef::hasOneLineInitializer
virtual bool hasOneLineInitializer() const =0
NamespaceContext::Private::createSequences
TemplateVariant createSequences() const
Definition: context.cpp:2586
MemberInfoContext::MemberInfoContext
MemberInfoContext(const MemberInfo *mi)
Definition: context.cpp:7689
GroupList
Definition: groupdef.h:127
PageTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6585
ClassContext::Private::allMembersFileName
TemplateVariant allMembersFileName() const
Definition: context.cpp:1786
IncludeInfo::imported
bool imported
Definition: filedef.h:56
MemberContext::Private::Cachable::eventAttrs
CachedItem< TemplateVariant, Private, &Private::createEventAttrs > eventAttrs
Definition: context.cpp:4243
LatexSpaceless::LatexSpaceless
LatexSpaceless()
Definition: context.cpp:8865
ConceptContext::alloc
static TemplateStructIntfPtr alloc(const ConceptDef *cd)
Definition: context.h:220
MemberContext::Private::category
TemplateVariant category() const
Definition: context.cpp:3676
ClassContext::Private::numInheritanceNodes
int numInheritanceNodes() const
Definition: context.cpp:1734
FileContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:3049
FileContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:2748
MemberContext::Private::isGettable
TemplateVariant isGettable() const
Definition: context.cpp:3605
PageTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6562
IncludeInfoContext::Private::isLocal
TemplateVariant isLocal() const
Definition: context.cpp:1611
Translator::trInitialValue
virtual QCString trInitialValue()=0
TranslateContext::Private::gotoDocumentation
TemplateVariant gotoDocumentation() const
Definition: context.cpp:862
ClassContext::Private::privateTypes
TemplateVariant privateTypes() const
Definition: context.cpp:1753
TextGeneratorLatex::m_ts
TextStream & m_ts
Definition: context.cpp:3530
ModuleContext::Private::protectedSlots
TemplateVariant protectedSlots() const
Definition: context.cpp:4568
FileContext::Private::Cachable::memberGroups
CachedItem< TemplateVariant, Private, &Private::createMemberGroups > memberGroups
Definition: context.cpp:3039
NestingNodeContext::Private::children
TemplateVariant children() const
Definition: context.cpp:5328
NestingNodeContext::Private::addModules
void addModules(ClassDefSet &visitedClasses)
Definition: context.cpp:5460
ModuleContext::Private::createConstantgroups
TemplateVariant createConstantgroups() const
Definition: context.cpp:4705
externalLinkTarget
QCString externalLinkTarget(const bool parent)
Definition: util.cpp:6323
MemberDef::isForeign
virtual bool isForeign() const =0
ConfigContext::p
std::unique_ptr< Private > p
Definition: context.h:86
ClassContext::Private::createPrivateTypes
TemplateVariant createPrivateTypes() const
Definition: context.cpp:2066
ClassContext::Private::detailedConstructors
TemplateVariant detailedConstructors() const
Definition: context.cpp:1772
TranslateContext::Private::typeConstraints
TemplateVariant typeConstraints() const
Definition: context.cpp:766
ClassDef::compoundType
virtual CompoundType compoundType() const =0
Returns the type of compound this is, i.e.
MemberContext::Private::isTransient
TemplateVariant isTransient() const
Definition: context.cpp:3642
Translator::trConstantDocumentation
virtual QCString trConstantDocumentation()=0
InheritedMemberInfoContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7996
ClassDef::countMembersIncludingGrouped
virtual int countMembersIncludingGrouped(MemberListType lt, const ClassDef *inheritedFrom, bool additional) const =0
ClassContext::Private::privateAttributes
TemplateVariant privateAttributes() const
Definition: context.cpp:1757
ExampleListContext::p
std::unique_ptr< Private > p
Definition: context.h:852
QCString::setNum
QCString & setNum(short n)
Definition: qcstring.h:372
MemberContext::Private::isMaybeAmbiguous
TemplateVariant isMaybeAmbiguous() const
Definition: context.cpp:3645
FileContext::Private::createIncludeList
TemplateVariant createIncludeList() const
Definition: context.cpp:2871
ClassContext::Private::Cachable
Definition: context.cpp:2332
ClassContext::Private::packageStaticMethods
TemplateVariant packageStaticMethods() const
Definition: context.cpp:1761
Translator::trStaticPackageAttribs
virtual QCString trStaticPackageAttribs()=0
NamespaceContext::~NamespaceContext
virtual ~NamespaceContext()
Definition: context.cpp:2722
DirContext::Private::getDirDepsGraph
DotDirDepsPtr getDirDepsGraph() const
Definition: context.cpp:3137
Translator::trCompoundListDescription
virtual QCString trCompoundListDescription()=0
GlobalsIndexContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:7114
ExampleTreeContext::~ExampleTreeContext
virtual ~ExampleTreeContext()
Definition: context.cpp:6969
g_globals
struct ContextGlobals g_globals
ClassTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6152
ConceptTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6791
SymbolIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8703
MemberGroupInfoContext::Private
Definition: context.cpp:7764
GlobalsIndexContext::Private::createAll
TemplateVariant createAll() const
Definition: context.cpp:7113
NestingNodeContext::Private::addNamespaces
void addNamespaces(bool addClasses, bool addConcepts, ClassDefSet &visitedClasses)
Definition: context.cpp:5409
Definition::hasSources
virtual bool hasSources() const =0
ClassHierarchyContext::Private::m_diagrams
CachedItem< TemplateVariant, Private, &Private::createDiagrams > m_diagrams
Definition: context.cpp:5254
TranslateContext::Private::generatedBy
TemplateVariant generatedBy() const
Definition: context.cpp:556
FileTreeContext::Private::s_inst
static const PropertyMap< FileTreeContext::Private > s_inst
Definition: context.cpp:6509
ModuleContext::Private
Definition: context.cpp:4534
MemberListType_proMethods
@ MemberListType_proMethods
Definition: types.h:108
ClassContext::Private::compoundType
TemplateVariant compoundType() const
Definition: context.cpp:1780
NestingContext::Private::addClasses
void addClasses(const ClassLinkedMap &clLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5771
MemberContext::Private::getClass
TemplateVariant getClass() const
Definition: context.cpp:3675
NestingNodeContext::Private::m_parent
const NestingNodeContext * m_parent
Definition: context.cpp:5597
NestingNodeContext::Private::level
TemplateVariant level() const
Definition: context.cpp:5337
GroupDef::getPages
virtual const PageLinkedRefMap & getPages() const =0
FileContext::Private::createSources
TemplateVariant createSources() const
Definition: context.cpp:2885
LatexEscaper
Definition: context.cpp:8974
ModuleContext::Private::Cachable::detailedSignals
CachedItem< TemplateVariant, Private, &Private::createDetailedSignals > detailedSignals
Definition: context.cpp:4912
MemberDef::isAbstract
virtual bool isAbstract() const =0
ExampleTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:873
TranslateContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:931
SymbolGroupListContext::alloc
static TemplateListIntfPtr alloc(const SearchIndexList &sil)
Definition: context.h:1295
ModuleTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6850
ClassContext::Private::generatedFromFiles
TemplateVariant generatedFromFiles() const
Definition: context.cpp:1731
TranslateContext::Private::examplesDescription
TemplateVariant examplesDescription() const
Definition: context.cpp:995
HtmlHelp::getLanguageString
static QCString getLanguageString()
Definition: htmlhelp.cpp:480
MemberListType_decFuncMembers
@ MemberListType_decFuncMembers
Definition: types.h:153
MemberContext::Private::isSealed
TemplateVariant isSealed() const
Definition: context.cpp:3631
ClassListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:361
ClassContext::Private::createDetailedInterfaces
TemplateVariant createDetailedInterfaces() const
Definition: context.cpp:2138
MemberListType_proTypes
@ MemberListType_proTypes
Definition: types.h:127
UsedFilesContext::p
std::unique_ptr< Private > p
Definition: context.h:149
NamespaceContext::Private
Definition: context.cpp:2491
DefinitionContext::isLinkableInProject
TemplateVariant isLinkableInProject() const
Definition: context.cpp:1415
Definition::getReference
virtual QCString getReference() const =0
Translator::trProperties
virtual QCString trProperties()=0
FileContext::Private::createDictionaries
TemplateVariant createDictionaries() const
Definition: context.cpp:2948
MemberVector::size
size_t size() const
Definition: memberlist.h:48
MemberDef::isSettable
virtual bool isSettable() const =0
ContextOutputFormat_DocBook
@ ContextOutputFormat_DocBook
Definition: context.cpp:82
NamespaceContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:2510
NamespaceTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6258
TranslateContext::Private::more
TemplateVariant more() const
Definition: context.cpp:746
ClassContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:1764
MemberContext::Private::hasConstQualifier
TemplateVariant hasConstQualifier() const
Definition: context.cpp:3683
TextGeneratorLatex::writeBreak
void writeBreak(int indent) const
Definition: context.cpp:3486
ModuleContext::Private::createDetailedEnumValues
TemplateVariant createDetailedEnumValues() const
Definition: context.cpp:4813
MemberListContainer::File
@ File
MemberContext::Private::bitfields
TemplateVariant bitfields() const
Definition: context.cpp:3665
ExampleTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6932
MemberContext::Private::isStrong
TemplateVariant isStrong() const
Definition: context.cpp:3627
MemberListType_docPubSlotMembers
@ MemberListType_docPubSlotMembers
Definition: types.h:171
MemberContext::Private::isMaybeDefault
TemplateVariant isMaybeDefault() const
Definition: context.cpp:3644
MemberContext::alloc
static TemplateStructIntfPtr alloc(const MemberDef *md)
Definition: context.h:320
NamespaceContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:2582
ClassContext::Private::packageStaticAttributes
TemplateVariant packageStaticAttributes() const
Definition: context.cpp:1763
AllMembersListContext::alloc
static TemplateListIntfPtr alloc(const MemberNameInfoLinkedMap &ml)
Definition: context.h:1165
MemberDef::qualifiedName
virtual QCString qualifiedName() const =0
ClassTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6110
NamespaceContext::Private::m_namespaceDef
const NamespaceDef * m_namespaceDef
Definition: context.cpp:2664
MemberDef::reimplementedBy
virtual const MemberVector & reimplementedBy() const =0
FileListContext::~FileListContext
virtual ~FileListContext()
Definition: context.cpp:6356
InheritanceListContext::InheritanceListContext
InheritanceListContext(const BaseClassList &list, bool baseClasses)
Definition: context.cpp:7519
DirContext::Private::dirName
TemplateVariant dirName() const
Definition: context.cpp:3131
ClassContext::Private::createDetailedEvents
TemplateVariant createDetailedEvents() const
Definition: context.cpp:2162
DefinitionContext::externalReference
TemplateVariant externalReference() const
Definition: context.cpp:1426
ClassMembersIndexContext::Private::createMembersFiltered
TemplateVariant createMembersFiltered(MemberFilter filter) const
Definition: context.cpp:7200
MemberGroupListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1051
DirDef::shortTitle
virtual QCString shortTitle() const =0
ModuleContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:4561
NamespaceMembersIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:933
TranslateContext::Private::code
TemplateVariant code() const
Definition: context.cpp:1003
FileContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:2753
ClassTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:569
SymbolGroupContext::Private::createSymbolList
TemplateVariant createSymbolList() const
Definition: context.cpp:8556
Protected
@ Protected
Definition: types.h:26
FileContext::Private::createInlineClasses
TemplateVariant createInlineClasses() const
Definition: context.cpp:3005
NestingNodeContext::Private::m_class
CachedItem< TemplateVariant, Private, &Private::createClass > m_class
Definition: context.cpp:5604
TranslateContext::Private::implementedBy
TemplateVariant implementedBy() const
Definition: context.cpp:810
MemberContext::Private::declArgs
TemplateVariant declArgs() const
Definition: context.cpp:3663
TranslateContext::Private::handleInheritanceDiagramFor
TemplateVariant handleInheritanceDiagramFor(const TemplateVariantList &args) const
Definition: context.cpp:422
MemberContext::Private::createImplementedBy
TemplateVariant createImplementedBy() const
Definition: context.cpp:4083
Translator::trEnumerationTypeDocumentation
virtual QCString trEnumerationTypeDocumentation()=0
NamespaceContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:2507
ModuleContext::Private::Cachable::pages
CachedItem< TemplateVariant, Private, &Private::createPages > pages
Definition: context.cpp:4891
NestingNodeContext::Private::externalReference
TemplateVariant externalReference() const
Definition: context.cpp:5343
NestingNodeContext::Private::isLeafNode
TemplateVariant isLeafNode() const
Definition: context.cpp:5327
Translator::trGotoTextualHierarchy
virtual QCString trGotoTextualHierarchy()=0
QCString::mid
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
Definition: qcstring.h:224
TranslateContext::Private::constantgroups
TemplateVariant constantgroups() const
Definition: context.cpp:866
ClassContext::Private::packageTypes
TemplateVariant packageTypes() const
Definition: context.cpp:1759
PageContext::~PageContext
virtual ~PageContext()
Definition: context.cpp:3378
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
ModuleContext::Private::detailedSignals
TemplateVariant detailedSignals() const
Definition: context.cpp:4580
DirContext::Private::~Private
virtual ~Private()
Definition: context.cpp:3121
MemberListType_pacMethods
@ MemberListType_pacMethods
Definition: types.h:109
FileContext::Private::inlineClasses
TemplateVariant inlineClasses() const
Definition: context.cpp:2779
ModuleContext::Private::Cachable::friends
CachedItem< TemplateVariant, Private, &Private::createFriends > friends
Definition: context.cpp:4904
MemberListType_interfaceMembers
@ MemberListType_interfaceMembers
Definition: types.h:186
Argument::defval
QCString defval
Definition: arguments.h:54
MemberDef::isAddable
virtual bool isAddable() const =0
ContextOutputFormat_ManPage
@ ContextOutputFormat_ManPage
Definition: context.cpp:81
UsedFilesContext::alloc
static TemplateListIntfPtr alloc(const ClassDef *cd)
Definition: context.h:135
GOF_BITMAP
@ GOF_BITMAP
Definition: dotgraph.h:27
TemplateListIntfPtr
std::shared_ptr< TemplateListIntf > TemplateListIntfPtr
Definition: template.h:32
MemberContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:4277
MemberDef::getDeclType
virtual QCString getDeclType() const =0
FileListContext::FileListContext
FileListContext()
Definition: context.cpp:6351
DoxygenContext::Private::date
TemplateVariant date() const
Definition: context.cpp:345
MemberContext::Private::Cachable::declArgs
CachedItem< TemplateVariant, Private, &Private::createDeclArgs > declArgs
Definition: context.cpp:4271
NestingNodeContext::Private::s_inst
static const PropertyMap< NestingNodeContext::Private > s_inst
Definition: context.cpp:5612
IncludeInfoContext::Private::createFileContext
TemplateVariant createFileContext() const
Definition: context.cpp:1630
ConceptListContext::Private
Definition: context.cpp:6160
ClassContext::Private::Cachable::numInheritanceNodes
CachedItem< int, Private, &Private::createNumInheritanceNodes > numInheritanceNodes
Definition: context.cpp:2390
MemberDef::isTemplateSpecialization
virtual bool isTemplateSpecialization() const =0
GlobalsIndexContext::Private::all
TemplateVariant all() const
Definition: context.cpp:7075
MemberDef::fieldType
virtual QCString fieldType() const =0
MemberListType_proStaticAttribs
@ MemberListType_proStaticAttribs
Definition: types.h:123
MemberContext::Private::handleNameWithContextFor
TemplateVariant handleNameWithContextFor(const TemplateVariantList &args) const
Definition: context.cpp:3864
MemberContext::Private::isProperty
TemplateVariant isProperty() const
Definition: context.cpp:3648
DirContext::Private::s_inst
static const PropertyMap< DirContext::Private > s_inst
Definition: context.cpp:3228
TranslateContext::Private::noMatches
TemplateVariant noMatches() const
Definition: context.cpp:959
MemberListInfoContext::MemberListInfoContext
MemberListInfoContext(const Definition *def, const QCString &relPath, const MemberList *ml, const QCString &title, const QCString &subtitle=QCString())
Definition: context.cpp:7967
TranslateContext::Private::conceptListDescription
TemplateVariant conceptListDescription() const
Definition: context.cpp:901
SymbolIndicesContext::alloc
static TemplateListIntfPtr alloc(const SearchIndexInfo &info)
Definition: context.h:1337
MemberDef::templateArguments
virtual const ArgumentList & templateArguments() const =0
MemberListType_detailedLists
@ MemberListType_detailedLists
Definition: types.h:103
IncludeInfoList
Definition: filedef.h:59
MemberGroupInfoContext::Private::Private
Private(const Definition *def, const QCString &relPath, const MemberGroup *mg)
Definition: context.cpp:7767
MemberDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
MemberDef::isEnumStruct
virtual bool isEnumStruct() const =0
NamespaceContext::Private::Cachable::detailedFunctions
CachedItem< TemplateVariant, Private, &Private::createDetailedFunctions > detailedFunctions
Definition: context.cpp:2681
NestingNodeContext::Private::addClasses
void addClasses(bool inherit, bool hideSuper, ClassDefSet &visitedClasses)
Definition: context.cpp:5368
NamespaceDef::getConcepts
virtual ConceptLinkedRefMap getConcepts() const =0
FileContext::Private::Cachable::variables
CachedItem< TemplateVariant, Private, &Private::createVariables > variables
Definition: context.cpp:3038
InheritanceNodeContext::~InheritanceNodeContext
virtual ~InheritanceNodeContext()
Definition: context.cpp:7493
ClassContext::Private::Cachable::detailedRelated
CachedItem< TemplateVariant, Private, &Private::createDetailedRelated > detailedRelated
Definition: context.cpp:2377
SearchIndexContext::Private::m_symbolIndices
CachedItem< TemplateVariant, Private, &Private::createSymbolIndices > m_symbolIndices
Definition: context.cpp:8772
ClassContext::p
std::unique_ptr< Private > p
Definition: context.h:210
Translator::trModuleDocumentation
virtual QCString trModuleDocumentation()=0
FileTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6489
MemberListInfoContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:7916
MemberDef::isPrivateGettable
virtual bool isPrivateGettable() const =0
Translator::trEnumerationValueDocumentation
virtual QCString trEnumerationValueDocumentation()=0
TranslateContext::Private::handleImplementedBy
TemplateVariant handleImplementedBy(const TemplateVariantList &args) const
Definition: context.cpp:494
InheritanceNodeContext::Private::fields
StringVector fields() const
Definition: context.cpp:7463
FileContext::Private::classes
TemplateVariant classes() const
Definition: context.cpp:2761
dotcallgraph.h
ExampleTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6973
Translator::trCompoundMembersDescriptionFortran
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)=0
InheritanceNodeContext::Private
Definition: context.cpp:7455
IncludeInfoContext::p
std::unique_ptr< Private > p
Definition: context.h:169
Doxygen::memberNameLinkedMap
static MemberNameLinkedMap * memberNameLinkedMap
Definition: doxygen.h:93
ClassHierarchyContext::Private::title
TemplateVariant title() const
Definition: context.cpp:5224
ClassContext::Private::Cachable::protectedMethods
CachedItem< TemplateVariant, Private, &Private::createProtectedMethods > protectedMethods
Definition: context.cpp:2348
ModuleContext::Private::createEvents
TemplateVariant createEvents() const
Definition: context.cpp:4789
Definition::anchor
virtual QCString anchor() const =0
FileTreeContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:693
ClassTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6091
TranslateContext::p
std::unique_ptr< Private > p
Definition: context.h:126
ClassContext::Private::Cachable::privateMethods
CachedItem< TemplateVariant, Private, &Private::createPrivateMethods > privateMethods
Definition: context.cpp:2354
Translator::trModulesList
virtual QCString trModulesList()=0
HtmlSpaceless::m_insideTag
bool m_insideTag
Definition: context.cpp:8967
Translator::trDesignUnitHierarchy
virtual QCString trDesignUnitHierarchy()=0
HtmlSpaceless::reset
void reset()
Reset filter state
Definition: context.cpp:8903
DefinitionContext::compoundKind
TemplateVariant compoundKind() const
Definition: context.cpp:1453
TranslateContext::Private::generatedAt
TemplateVariant generatedAt() const
Definition: context.cpp:560
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
InheritanceNodeContext::InheritanceNodeContext
InheritanceNodeContext(const ClassDef *cd, const QCString &name)
Definition: context.cpp:7489
InheritedMemberInfoContext::Private::m_memberList
std::unique_ptr< const MemberList > m_memberList
Definition: context.cpp:8026
NestingNodeContext::~NestingNodeContext
virtual ~NestingNodeContext()
Definition: context.cpp:5667
ClassMembersIndexContext::Private::m_related
CachedItem< TemplateVariant, Private, &Private::createRelated > m_related
Definition: context.cpp:7238
ClassHierarchyContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:5234
ModuleContext::Private::createDetailedFunctions
TemplateVariant createDetailedFunctions() const
Definition: context.cpp:4817
MemberGroupInfoContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:7789
GroupDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
MemberDef::isRemovable
virtual bool isRemovable() const =0
PageTreeContext::Private::Private
Private(const PageLinkedMap &pages)
Definition: context.cpp:6551
SearchIndexInfo::symbolMap
SearchIndexMap symbolMap
Definition: searchindex.h:125
GenericNodeListContext
standard template list implementation
Definition: context.cpp:190
MemberContext::Private::Cachable::templateDecls
CachedItem< TemplateVariant, Private, &Private::createTemplateDecls > templateDecls
Definition: context.cpp:4252
ExampleTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6927
GlobalsIndexContext::Private::m_enums
CachedItem< TemplateVariant, Private, &Private::createEnums > m_enums
Definition: context.cpp:7125
FileListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:672
GenericNodeListContext::at
TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:206
NavPathElemContext::Private
Definition: context.cpp:6986
TextGeneratorFactory
Definition: context.cpp:3535
MemberContext::Private::isConstrained
TemplateVariant isConstrained() const
Definition: context.cpp:3641
ModuleContext::Private::createModules
TemplateVariant createModules() const
Definition: context.cpp:4646
MemberListType_related
@ MemberListType_related
Definition: types.h:130
TemplateImmutableList::alloc
static TemplateListIntfPtr alloc(std::initializer_list< TemplateVariant > elements)
Creates an instance and returns a shared pointer to it
Definition: template.cpp:543
MemberContext::Private::sourceRefs
TemplateVariant sourceRefs() const
Definition: context.cpp:3697
toNamespaceDef
NamespaceDef * toNamespaceDef(Definition *d)
Definition: namespacedef.cpp:1541
MemberDef::categoryRelation
virtual const MemberDef * categoryRelation() const =0
ArgumentContext::Private::array
TemplateVariant array() const
Definition: context.cpp:8216
InheritedMemberInfoContext::Private::m_memberListCtx
CachedItem< TemplateVariant, Private, &Private::createMemberList > m_memberListCtx
Definition: context.cpp:8029
ExampleTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6936
Translator::trTypedefDocumentation
virtual QCString trTypedefDocumentation()=0
Translator::trDefines
virtual QCString trDefines()=0
MemberContext::Private::isExternal
TemplateVariant isExternal() const
Definition: context.cpp:3632
ContextOutputFormat_Rtf
@ ContextOutputFormat_Rtf
Definition: context.cpp:80
ArgumentContext::alloc
static TemplateStructIntfPtr alloc(const Argument &arg, const Definition *def, const QCString &relPath)
Definition: context.h:1186
NestingContext::Private::addConcept
void addConcept(const ConceptDef *cd, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5752
DotDirDepsPtr
std::shared_ptr< DotDirDeps > DotDirDepsPtr
Definition: dotdirdeps.h:53
Translator::trSignals
virtual QCString trSignals()=0
Translator::trFile
virtual QCString trFile(bool first_capital, bool singular)=0
SymbolGroupListContext::~SymbolGroupListContext
virtual ~SymbolGroupListContext()
Definition: context.cpp:8631
Doxygen::htmlFileExtension
static QCString htmlFileExtension
Definition: doxygen.h:103
ClassContext::Private::createDetailedProperties
TemplateVariant createDetailedProperties() const
Definition: context.cpp:2158
MemberDef::isDocsForDefinition
virtual bool isDocsForDefinition() const =0
DefinitionContext::Cachable::details
CachedItem< TemplateVariant, DC, &DC::createDetails > details
Definition: context.cpp:1554
SymbolListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8531
MemberContext::Private::Cachable::anonymousMember
CachedItem< TemplateVariant, Private, &Private::createAnonymousMember > anonymousMember
Definition: context.cpp:4265
PageTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6613
MemberDef::getEnumScope
virtual const MemberDef * getEnumScope() const =0
ModuleContext::Private::Cachable::detailedProtectedSlots
CachedItem< TemplateVariant, Private, &Private::createDetailedProtectedSlots > detailedProtectedSlots
Definition: context.cpp:4914
Translator::trDefineDocumentation
virtual QCString trDefineDocumentation()=0
MemberListType_serviceMembers
@ MemberListType_serviceMembers
Definition: types.h:188
htmlgen.h
Translator::trMemberList
virtual QCString trMemberList()=0
ContextOutputFormat_Html
@ ContextOutputFormat_Html
Definition: context.cpp:78
ConceptDef::isLinkable
virtual bool isLinkable() const =0
MemberListInfoContext::Private::title
TemplateVariant title() const
Definition: context.cpp:7913
MemberContext::Private::createEnumValues
TemplateVariant createEnumValues() const
Definition: context.cpp:3946
ClassContext::Private::createPackageStaticMethods
TemplateVariant createPackageStaticMethods() const
Definition: context.cpp:2098
MemberContext::Private::isVariable
TemplateVariant isVariable() const
Definition: context.cpp:3650
SearchIndicesContext::SearchIndicesContext
SearchIndicesContext()
Definition: context.cpp:8819
DoxygenContext::alloc
static TemplateStructIntfPtr alloc()
Definition: context.h:95
PageListContext::Private
Definition: context.cpp:6626
ClassMembersIndexContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:7186
FileTreeContext::Private::Private
Private()
Definition: context.cpp:6469
FileContext::Private::createSequences
TemplateVariant createSequences() const
Definition: context.cpp:2944
ClassContext::Private::privateMethods
TemplateVariant privateMethods() const
Definition: context.cpp:1755
ClassTreeContext::~ClassTreeContext
virtual ~ClassTreeContext()
Definition: context.cpp:6143
NamespaceContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:2518
ClassContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:1728
ClassMembersIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:7178
ArgumentContext::p
std::unique_ptr< Private > p
Definition: context.h:1197
MemberDef::isEnumerate
virtual bool isEnumerate() const =0
NestingContext::Private::addNamespaces
void addNamespaces(const NamespaceLinkedRefMap &nsLinkedMap, bool rootOnly, bool addClasses, bool addConcepts, ClassDefSet &visitedClasses)
Definition: context.cpp:5721
MemberContext::Private::type
TemplateVariant type() const
Definition: context.cpp:3660
ClassContext::Private::Cachable::related
CachedItem< TemplateVariant, Private, &Private::createRelated > related
Definition: context.cpp:2370
MemberDef::isUNOProperty
virtual bool isUNOProperty() const =0
generateOutputViaTemplate
void generateOutputViaTemplate()
Definition: context.cpp:8994
ClassMembersIndexContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:7221
TranslateContext::Private::referencedByRelation
TemplateVariant referencedByRelation() const
Definition: context.cpp:834
MemberDef::isExternal
virtual bool isExternal() const =0
MemberListType_priMethods
@ MemberListType_priMethods
Definition: types.h:110
MemberDef::displayName
virtual QCString displayName(bool=TRUE) const =0
ClassMembersIndexContext::Private::createAll
TemplateVariant createAll() const
Definition: context.cpp:7220
ClassListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:5040
MemberContext::Private::callGraph
TemplateVariant callGraph() const
Definition: context.cpp:3738
SearchIndicesContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8833
ClassHierarchyContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:5222
MemberDef::isSealed
virtual bool isSealed() const =0
AllMembersListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:7747
TranslateContext::Private::classMembersDescription
TemplateVariant classMembersDescription() const
Definition: context.cpp:729
MemberContext::Private::hasParameters
TemplateVariant hasParameters() const
Definition: context.cpp:3682
InheritedMemberInfoListContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1143
MemberListType_docVarMembers
@ MemberListType_docVarMembers
Definition: types.h:169
LayoutDocManager::instance
static LayoutDocManager & instance()
Returns a reference to this singleton.
Definition: layout.cpp:1574
ClassContext::Private::Cachable::signals
CachedItem< TemplateVariant, Private, &Private::createSignals > signals
Definition: context.cpp:2366
Definition::documentation
virtual QCString documentation() const =0
ModuleContext::Private::groupGraph
TemplateVariant groupGraph() const
Definition: context.cpp:4602
SymbolGroupContext::Private::fields
StringVector fields() const
Definition: context.cpp:8546
MemberDef::declArgumentList
virtual const ArgumentList & declArgumentList() const =0
ModuleTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:831
MemberContext::Private::hasSources
TemplateVariant hasSources() const
Definition: context.cpp:3702
GenericNodeListContext::isEmpty
bool isEmpty() const
Definition: context.cpp:224
MemberDef::livesInsideEnum
virtual bool livesInsideEnum() const =0
Translator::trNamespaceList
virtual QCString trNamespaceList()=0
ClassContext::Private::Cachable::properties
CachedItem< TemplateVariant, Private, &Private::createProperties > properties
Definition: context.cpp:2367
hex
static const char * hex
Definition: htmldocvisitor.cpp:65
InheritedMemberInfoContext::Private
Definition: context.cpp:7989
NestingContext::addConcepts
void addConcepts(const ConceptLinkedMap &cnLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:6005
TranslateContext::Private::inheritanceDiagramFor
TemplateVariant inheritanceDiagramFor() const
Definition: context.cpp:564
Translator::trCompoundList
virtual QCString trCompoundList()=0
fList
static TemplateFilterFactory::AutoRegister< FilterList > fList("list")
NavPathElemContext::Private::m_def
const Definition * m_def
Definition: context.cpp:7029
NestingNodeContext::Private::getPage
TemplateVariant getPage() const
Definition: context.cpp:5334
MemberDef::isReadonly
virtual bool isReadonly() const =0
ClassContext::Private::Cachable::protectedSlots
CachedItem< TemplateVariant, Private, &Private::createProtectedSlots > protectedSlots
Definition: context.cpp:2352
ExampleTreeContext::ExampleTreeContext
ExampleTreeContext()
Definition: context.cpp:6965
ClassContext::Private::Cachable::unoIDLInterfaces
CachedItem< TemplateVariant, Private, &Private::createUnoIDLInterfaces > unoIDLInterfaces
Definition: context.cpp:2365
NamespaceContext::Private::~Private
virtual ~Private()
Definition: context.cpp:2498
MemberContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:3586
ModuleContext::Private::createPages
TemplateVariant createPages() const
Definition: context.cpp:4728
MemberDef::isExplicit
virtual bool isExplicit() const =0
ContextOutputFormat
ContextOutputFormat
Definition: context.cpp:62
SymbolListContext::Private
Definition: context.cpp:8493
Definition::getOuterScope
virtual Definition * getOuterScope() const =0
ModuleContext::Private::s_inst
static const PropertyMap< ModuleContext::Private > s_inst
Definition: context.cpp:4923
ClassContext::Private::publicStaticMethods
TemplateVariant publicStaticMethods() const
Definition: context.cpp:1743
Translator::trImplementedInList
virtual QCString trImplementedInList(int numEntries)=0
FileContext::Private::createDetailedDictionaries
TemplateVariant createDetailedDictionaries() const
Definition: context.cpp:2981
MemberGroupList
Definition: membergroup.h:109
InheritedMemberInfoContext::Private::Private
Private(const ClassDef *cd, std::unique_ptr< MemberList > &&ml, const QCString &title)
Definition: context.cpp:7992
AllMembersListContext::Private::Private
Private(const MemberNameInfoLinkedMap &ml)
Definition: context.cpp:7713
MemberDef::isEnumValue
virtual bool isEnumValue() const =0
FileContext::Private::includedByGraph
TemplateVariant includedByGraph() const
Definition: context.cpp:2832
NestingNodeContext::Private::addMembers
void addMembers(ClassDefSet &visitedClasses)
Definition: context.cpp:5468
ClassHierarchyContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:5216
TranslateContext::Private::handleSourceRefBys
TemplateVariant handleSourceRefBys(const TemplateVariantList &args) const
Definition: context.cpp:530
ConceptListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:6190
MemberListType_proSlots
@ MemberListType_proSlots
Definition: types.h:116
MemberListType_decTypedefMembers
@ MemberListType_decTypedefMembers
Definition: types.h:151
ModuleContext::Private::fields
StringVector fields() const
Definition: context.cpp:4543
Translator::trCollaborationDiagram
virtual QCString trCollaborationDiagram(const QCString &clName)=0
Translator::trProtectedSlots
virtual QCString trProtectedSlots()=0
Translator::trAll
virtual QCString trAll()=0
SymbolContext::p
std::unique_ptr< Private > p
Definition: context.h:1241
convertProtectionLevel
void convertProtectionLevel(MemberListType inListType, Protection inProt, int *outListType1, int *outListType2)
Computes for a given list type inListType, which are the the corresponding list type(s) in the base c...
Definition: util.cpp:6851
MemberContext::Private::isTemplateSpecialization
TemplateVariant isTemplateSpecialization() const
Definition: context.cpp:3647
MemberContext::Private::createEventAttrs
TemplateVariant createEventAttrs() const
Definition: context.cpp:3927
MemberGroupListContext::~MemberGroupListContext
virtual ~MemberGroupListContext()
Definition: context.cpp:7877
computeNumNodesAtLevel
static int computeNumNodesAtLevel(const TemplateStructIntfPtr s, int level, int maxLevel)
Definition: context.cpp:5147
Translator::trProtectedMembers
virtual QCString trProtectedMembers()=0
ModuleContext::Private::Cachable::detailedVariables
CachedItem< TemplateVariant, Private, &Private::createDetailedVariables > detailedVariables
Definition: context.cpp:4911
Argument::docs
QCString docs
Definition: arguments.h:55
MemberListInfoContext::Private::fields
StringVector fields() const
Definition: context.cpp:7908
ModuleContext::Private::modules
TemplateVariant modules() const
Definition: context.cpp:4552
ConceptListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:6195
ModuleContext::Private::Cachable::detailedEnums
CachedItem< TemplateVariant, Private, &Private::createDetailedEnums > detailedEnums
Definition: context.cpp:4908
ModuleContext::Private::createFiles
TemplateVariant createFiles() const
Definition: context.cpp:4669
Translator::trPanelSynchronisationTooltip
virtual QCString trPanelSynchronisationTooltip(bool enable)=0
MemberContext::Private::isUnretained
TemplateVariant isUnretained() const
Definition: context.cpp:3629
TranslateContext::Private::inheritsList
TemplateVariant inheritsList() const
Definition: context.cpp:754
MemberDef::isOverride
virtual bool isOverride() const =0
ClassContext::Private::createInheritsList
TemplateVariant createInheritsList() const
Definition: context.cpp:1950
FileDef::absFilePath
virtual QCString absFilePath() const =0
Translator::trDesignUnits
virtual QCString trDesignUnits()=0
DirContext::Private::Cachable
Definition: context.cpp:3221
LatexSpaceless::remove
QCString remove(const QCString &s)
Returns the input after removing redundant whitespace
Definition: context.cpp:8871
FileContext::Private::createDetailedTypedefs
TemplateVariant createDetailedTypedefs() const
Definition: context.cpp:2973
PropertyMap::map
Map & map()
Definition: context.cpp:139
NestingNodeContext::Private::m_children
std::shared_ptr< NestingContext > m_children
Definition: context.cpp:5600
ModuleContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:4549
Definition::isArtificial
virtual bool isArtificial() const =0
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
ModuleContext::Private::createSignals
TemplateVariant createSignals() const
Definition: context.cpp:4773
ExampleTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6928
ClassContext::Private::Private
Private(const ClassDef *cd)
Definition: context.cpp:1715
ClassContext::Private::members
TemplateVariant members() const
Definition: context.cpp:1784
NamespaceContext::Private::createDetailedFunctions
TemplateVariant createDetailedFunctions() const
Definition: context.cpp:2627
ClassTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6092
MemberListInfoContext::p
std::unique_ptr< Private > p
Definition: context.h:1094
MemberContext::Private::Cachable::callGraph
CachedItem< DotCallGraphPtr, Private, &Private::createCallGraph > callGraph
Definition: context.cpp:4263
SrcLangExt_IDL
@ SrcLangExt_IDL
Definition: types.h:44
FileContext::Private::Cachable::includedByGraph
CachedItem< DotInclDepGraphPtr, Private, &Private::createIncludedByGraph > includedByGraph
Definition: context.cpp:3027
MemberContext::Private::createCallGraph
DotCallGraphPtr createCallGraph() const
Definition: context.cpp:4143
MemberContext::Private::hasVolatileQualifier
TemplateVariant hasVolatileQualifier() const
Definition: context.cpp:3684
FileTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6488
ConceptLinkedRefMap
Definition: conceptdef.h:67
MemberDef::isFunctionPtr
virtual bool isFunctionPtr() const =0
Translator::trNamespaceListDescription
virtual QCString trNamespaceListDescription(bool extractAll)=0
FileContext::Private::createMacros
TemplateVariant createMacros() const
Definition: context.cpp:2936
NamespaceMembersIndexContext::Private::title
TemplateVariant title() const
Definition: context.cpp:7307
ArgumentContext::Private::docs
TemplateVariant docs() const
Definition: context.cpp:8217
SymbolIndexContext::Private
Definition: context.cpp:8653
NestingNodeContext::Private::getFile
TemplateVariant getFile() const
Definition: context.cpp:5333
ConceptContext::Private::createInitializerAsCode
TemplateVariant createInitializerAsCode() const
Definition: context.cpp:4475
ClassIndexContext::Private
Definition: context.cpp:5047
MemberDef::getFileDef
virtual const FileDef * getFileDef() const =0
ClassMembersIndexContext::Private::createEvents
TemplateVariant createEvents() const
Definition: context.cpp:7227
ConceptTreeContext::Private::maxDepth
TemplateVariant maxDepth() const
Definition: context.cpp:6777
ModuleContext::Private::detailedTypedefs
TemplateVariant detailedTypedefs() const
Definition: context.cpp:4575
Config_getString
#define Config_getString(name)
Definition: config.h:32
context.h
ExampleListContext::Private
Definition: context.cpp:6669
ModuleContext::Private::Cachable::enumValues
CachedItem< TemplateVariant, Private, &Private::createEnumValues > enumValues
Definition: context.cpp:4895
SymbolListContext::Private::Private
Private(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.cpp:8496
ClassContext::Private::protectedAttributes
TemplateVariant protectedAttributes() const
Definition: context.cpp:1750
PropertyMap::m_map
const Map m_map
Definition: context.cpp:142
GroupDef::getExamples
virtual const PageLinkedRefMap & getExamples() const =0
MemberDef::displayDefinition
virtual QCString displayDefinition() const =0
MemberContext::Private::extraTypeChars
TemplateVariant extraTypeChars() const
Definition: context.cpp:3659
NamespaceContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:2514
NamespaceContext::Private::Cachable::classes
CachedItem< TemplateVariant, Private, &Private::createClasses > classes
Definition: context.cpp:2667
ConceptContext::Private::createInitializer
TemplateVariant createInitializer() const
Definition: context.cpp:4471
MemberContext::Private::createCategoryRelation
TemplateVariant createCategoryRelation() const
Definition: context.cpp:3976
NamespaceContext::Private::Cachable::inlineClasses
CachedItem< TemplateVariant, Private, &Private::createInlineClasses > inlineClasses
Definition: context.cpp:2683
IncludeInfoContext::Private::Private
Private(const IncludeInfo *info, SrcLangExt lang)
Definition: context.cpp:1598
FileContext::Private::version
TemplateVariant version() const
Definition: context.cpp:2760
ClassContext::Private::Cachable::friends
CachedItem< TemplateVariant, Private, &Private::createFriends > friends
Definition: context.cpp:2369
ModuleContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:4748
example.h
SymbolIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:8659
DirContext::Private::fields
StringVector fields() const
Definition: context.cpp:3125
Translator::trMemberDataDocumentation
virtual QCString trMemberDataDocumentation()=0
ModuleContext::Private::Cachable::typedefs
CachedItem< TemplateVariant, Private, &Private::createTypedefs > typedefs
Definition: context.cpp:4893
MemberDef::isImplementation
virtual bool isImplementation() const =0
ClassContext::Private::createPrivateSlots
TemplateVariant createPrivateSlots() const
Definition: context.cpp:2070
Inheritance
@ Inheritance
Definition: dotgraph.h:29
MemberContext::Private::fieldType
TemplateVariant fieldType() const
Definition: context.cpp:3661
ConfigContext::Private::ConfigData
std::map< std::string, TemplateVariant > ConfigData
Definition: context.cpp:251
DirContext::Private::dirGraph
TemplateVariant dirGraph() const
Definition: context.cpp:3151
SearchIndexContext::Private::createSymbolIndices
TemplateVariant createSymbolIndices() const
Definition: context.cpp:8766
NamespaceContext::Private::Cachable::detailedVariables
CachedItem< TemplateVariant, Private, &Private::createDetailedVariables > detailedVariables
Definition: context.cpp:2682
InheritanceListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:7544
GenericNodeListContext::count
uint count() const
Returns the number of elements in the list
Definition: context.cpp:202
Translator::trPublicSlots
virtual QCString trPublicSlots()=0
MemberDef::hasCallGraph
virtual bool hasCallGraph() const =0
MemberDef::isFunctionOrSignalSlot
virtual bool isFunctionOrSignalSlot() const =0
FileContext::p
std::unique_ptr< Private > p
Definition: context.h:271
TranslateContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:922
ClassTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:580
ClassContext::Private::createMemberGroups
TemplateVariant createMemberGroups() const
Definition: context.cpp:2166
MemberListInfoContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7982
FileTreeContext::Private::m_dirFileTree
TemplateListIntfPtr m_dirFileTree
Definition: context.cpp:6506
DirContext::Private::dirs
TemplateVariant dirs() const
Definition: context.cpp:3132
FileContext::Private::createFunctions
TemplateVariant createFunctions() const
Definition: context.cpp:2956
MemberDef::isDetailedSectionVisible
virtual bool isDetailedSectionVisible(MemberListContainer container) const =0
ClassContext::Private::Cachable::detailedInterfaces
CachedItem< TemplateVariant, Private, &Private::createDetailedInterfaces > detailedInterfaces
Definition: context.cpp:2374
isMainPage
@ isMainPage
Definition: index.h:119
Argument::name
QCString name
Definition: arguments.h:52
MemberContext::Private::templateArgs
TemplateVariant templateArgs() const
Definition: context.cpp:3671
Translator::trDefineValue
virtual QCString trDefineValue()=0
NestingNodeContext::Private::brief
TemplateVariant brief() const
Definition: context.cpp:5338
MemberContext::Private::isExplicit
TemplateVariant isExplicit() const
Definition: context.cpp:3603
SymbolGroupListContext::Private
Definition: context.cpp:8598
ModuleContext::ModuleContext
ModuleContext(const GroupDef *)
Definition: context.cpp:4975
MemberDef::argumentList
virtual const ArgumentList & argumentList() const =0
SymbolContext::Private::scope
TemplateVariant scope() const
Definition: context.cpp:8364
NamespaceDef::compoundTypeString
virtual QCString compoundTypeString() const =0
ExampleTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6921
InheritanceListContext::p
std::unique_ptr< Private > p
Definition: context.h:995
ModuleContext::Private::createDetailedPublicSlots
TemplateVariant createDetailedPublicSlots() const
Definition: context.cpp:4831
NestingNodeContext::Private::addConcepts
void addConcepts(ClassDefSet &visitedClasses)
Definition: context.cpp:5401
ClassTreeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:6147
TemplateEscapeIntf
Interface used to escape characters in a string
Definition: template.h:384
config.h
SearchIndicesContext::Private
Definition: context.cpp:8807
ClassContext::Private::createDetailedRelated
TemplateVariant createDetailedRelated() const
Definition: context.cpp:2150
ClassContext::Private::Cachable::detailedServices
CachedItem< TemplateVariant, Private, &Private::createDetailedServices > detailedServices
Definition: context.cpp:2373
ModuleContext::Private::createGroupGraph
DotGroupCollaborationPtr createGroupGraph() const
Definition: context.cpp:4876
ContextOutputFormat_TagFile
@ ContextOutputFormat_TagFile
Definition: context.cpp:84
MemberListType_docPriSlotMembers
@ MemberListType_docPriSlotMembers
Definition: types.h:173
MemberListType_pubAttribs
@ MemberListType_pubAttribs
Definition: types.h:118
ClassContext::Private::Cachable::privateStaticAttributes
CachedItem< TemplateVariant, Private, &Private::createPrivateStaticAttributes > privateStaticAttributes
Definition: context.cpp:2357
Translator::trCompoundMembersDescription
virtual QCString trCompoundMembersDescription(bool extractAll)=0
PageContext::alloc
static TemplateStructIntfPtr alloc(const PageDef *pd, bool isMainPage, bool isExample)
Definition: context.h:300
Doxygen::namespaceLinkedMap
static NamespaceLinkedMap * namespaceLinkedMap
Definition: doxygen.h:97
ConfigContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:323
MemberDef::extraTypeChars
virtual QCString extraTypeChars() const =0
Translator::trClasses
virtual QCString trClasses()=0
ConceptContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:4495
PageContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:3335
ArgumentContext::Private::s_inst
static const PropertyMap< ArgumentContext::Private > s_inst
Definition: context.cpp:8251
DoxygenContext::Private::m_mathJaxMacros
CachedItem< QCString, Private, &Private::createMathJaxMacros > m_mathJaxMacros
Definition: context.cpp:353
FileListContext::Private
Definition: context.cpp:6329
ClassDef::displayName
virtual QCString displayName(bool includeScope=TRUE) const =0
Returns the name as it is appears in the documentation
DefinitionContext::Cachable::inbodyDocs
CachedItem< TemplateVariant, DC, &DC::createInbodyDocs > inbodyDocs
Definition: context.cpp:1556
ClassContext::Private::Cachable::detailedEvents
CachedItem< TemplateVariant, Private, &Private::createDetailedEvents > detailedEvents
Definition: context.cpp:2380
SrcLangExt_Markdown
@ SrcLangExt_Markdown
Definition: types.h:57
DefinitionContext::sourceDef
TemplateVariant sourceDef() const
Definition: context.cpp:1422
MemberGroup::members
const MemberList & members() const
Definition: membergroup.h:85
groupdef.h
InheritedMemberInfoListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:8193
ConceptTreeContext::Private
Definition: context.cpp:6753
NestingContext::Private::addPages
void addPages(const PageLinkedMap &pages, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5848
MemberListInfoContext::alloc
static TemplateStructIntfPtr alloc(const Definition *def, const QCString &relPath, const MemberList *ml, const QCString &title, const QCString &subtitle=QCString())
Definition: context.h:1079
ConceptListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6185
ClassHierarchyContext::Private::s_inst
static const PropertyMap< ClassHierarchyContext::Private > s_inst
Definition: context.cpp:5255
ClassIndexContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:5057
QCString::data
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
Definition: qcstring.h:153
GlobalsIndexContext::Private::title
TemplateVariant title() const
Definition: context.cpp:7089
Translator::trInclByDepGraph
virtual QCString trInclByDepGraph()=0
MemberDef::category
virtual ClassDef * category() const =0
DirDef::getFiles
virtual const FileList & getFiles() const =0
ClassMembersIndexContext::ClassMembersIndexContext
ClassMembersIndexContext()
Definition: context.cpp:7264
ClassDef::getMemberList
virtual MemberList * getMemberList(MemberListType lt) const =0
Returns the members in the list identified by lt
NamespaceContext::Private::createEnums
TemplateVariant createEnums() const
Definition: context.cpp:2594
SymbolIndexContext::Private::m_name
QCString m_name
Definition: context.cpp:8676
ModuleTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6845
convertToXML
QCString convertToXML(const QCString &s, bool keepEntities)
Definition: util.cpp:3948
MemberContext::Private::getNamespace
TemplateVariant getNamespace() const
Definition: context.cpp:3679
Translator::trStaticProtectedMembers
virtual QCString trStaticProtectedMembers()=0
MemberDef::isGettable
virtual bool isGettable() const =0
HtmlSpaceless::clone
std::unique_ptr< TemplateSpacelessIntf > clone()
Create a copy of the spaceless filter
Definition: context.cpp:8899
MemberContext::Private::Cachable::templateAlias
CachedItem< TemplateVariant, Private, &Private::createTemplateAlias > templateAlias
Definition: context.cpp:4241
ModuleContext::Private::dirs
TemplateVariant dirs() const
Definition: context.cpp:4555
FileContext::Private::versionInfo
TemplateVariant versionInfo() const
Definition: context.cpp:2755
Translator::trStaticPrivateMembers
virtual QCString trStaticPrivateMembers()=0
FileDef
A model of a file symbol.
Definition: filedef.h:73
MemberContext::Private::implements
TemplateVariant implements() const
Definition: context.cpp:3691
PageTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6566
InheritanceGraphContext::Private::m_hierarchy
DotGfxHierarchyTablePtr m_hierarchy
Definition: context.cpp:7421
NamespaceMembersIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7378
ConceptContext::Private::s_inst
static const PropertyMap< ConceptContext::Private > s_inst
Definition: context.cpp:4496
ClassContext::Private::privateStaticAttributes
TemplateVariant privateStaticAttributes() const
Definition: context.cpp:1758
Translator::trInclDepGraph
virtual QCString trInclDepGraph(const QCString &fName)=0
MemberContext::Private::isTypedef
TemplateVariant isTypedef() const
Definition: context.cpp:3596
MemberListType_docEnumValMembers
@ MemberListType_docEnumValMembers
Definition: types.h:170
InheritedMemberInfoContext::Private::fields
StringVector fields() const
Definition: context.cpp:7997
MemberGroup
A class representing a group of members.
Definition: membergroup.h:41
PageDef::title
virtual QCString title() const =0
ClassContext::Private::Cachable::privateStaticMethods
CachedItem< TemplateVariant, Private, &Private::createPrivateStaticMethods > privateStaticMethods
Definition: context.cpp:2355
ContextTreeType::ClassNesting
@ ClassNesting
FileDef::getMemberGroups
virtual const MemberGroupList & getMemberGroups() const =0
ArgumentContext::Private::fields
StringVector fields() const
Definition: context.cpp:8208
VhdlDocGen::PACKBODYCLASS
@ PACKBODYCLASS
Definition: vhdldocgen.h:75
ModuleContext::Private::createExamples
TemplateVariant createExamples() const
Definition: context.cpp:4718
ModuleContext::Private::Cachable::detailedEvents
CachedItem< TemplateVariant, Private, &Private::createDetailedEvents > detailedEvents
Definition: context.cpp:4916
TranslateContext::Private::detailLevel
TemplateVariant detailLevel() const
Definition: context.cpp:882
SymbolContext::Private::m_def
const Definition * m_def
Definition: context.cpp:8455
ClassContext::Private::createDetailedVariables
TemplateVariant createDetailedVariables() const
Definition: context.cpp:2154
IncludeInfoContext::alloc
static TemplateStructIntfPtr alloc(const IncludeInfo *info, SrcLangExt lang)
Definition: context.h:158
toFileDef
FileDef * toFileDef(Definition *d)
Definition: filedef.cpp:1778
ConfigContext::Private::fields
StringVector fields() const
Definition: context.cpp:240
MemberContext::Private::isNew
TemplateVariant isNew() const
Definition: context.cpp:3630
FileTreeContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:6483
Dir::exists
bool exists() const
Definition: dir.cpp:199
TranslateContext::Private::additionalInheritedMembers
TemplateVariant additionalInheritedMembers() const
Definition: context.cpp:846
FileContext::Private::Cachable::includeGraph
CachedItem< DotInclDepGraphPtr, Private, &Private::createIncludeGraph > includeGraph
Definition: context.cpp:3026
MemberDef::enumBaseType
virtual QCString enumBaseType() const =0
Translator::trNamespaceMembers
virtual QCString trNamespaceMembers()=0
InheritedMemberInfoListContext::Private::findInheritedMembers
void findInheritedMembers(const ClassDef *inheritedFrom, const ClassDef *cd, MemberListType lt, int lt2, const QCString &title, bool additionalList, ClassDefSet &visitedClasses)
Definition: context.cpp:8129
HtmlSpaceless::m_insideString
char m_insideString
Definition: context.cpp:8968
Translator::trReferenceManual
virtual QCString trReferenceManual()=0
Translator::trFunctions
virtual QCString trFunctions()=0
ClassContext::Private::unoIDLServices
TemplateVariant unoIDLServices() const
Definition: context.cpp:1738
NamespaceTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6262
SrcLangExt_VHDL
@ SrcLangExt_VHDL
Definition: types.h:54
MemberContext::Private::Cachable
Definition: context.cpp:4238
AllMembersListContext::AllMembersListContext
AllMembersListContext(const MemberNameInfoLinkedMap &ml)
Definition: context.cpp:7738
MemberContext::Private::callerGraph
TemplateVariant callerGraph() const
Definition: context.cpp:3796
NamespaceTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6283
NamespaceMembersIndexContext::Private::all
TemplateVariant all() const
Definition: context.cpp:7293
ClassContext::Private::Cachable::detailedProperties
CachedItem< TemplateVariant, Private, &Private::createDetailedProperties > detailedProperties
Definition: context.cpp:2379
DirContext::~DirContext
virtual ~DirContext()
Definition: context.cpp:3254
ClassContext::Private::addMembers
void addMembers(MemberList &list, const ClassDef *cd, MemberListType lt) const
Definition: context.cpp:2268
Translator::trDictionaries
virtual QCString trDictionaries()=0
NamespaceContext::Private::variables
TemplateVariant variables() const
Definition: context.cpp:2519
ClassContext::Private::detailedVariables
TemplateVariant detailedVariables() const
Definition: context.cpp:1775
ClassMembersIndexContext::Private::m_enumValues
CachedItem< TemplateVariant, Private, &Private::createEnumValues > m_enumValues
Definition: context.cpp:7235
Translator::trPackages
virtual QCString trPackages()=0
TranslateContext::Private::typedefs
TemplateVariant typedefs() const
Definition: context.cpp:927
MemberContext::Private::createException
TemplateVariant createException() const
Definition: context.cpp:4228
TranslateContext::Private::fileList
TemplateVariant fileList() const
Definition: context.cpp:699
ClassMembersIndexContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7272
ClassMembersIndexContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:7183
ClassTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6119
GlobalsIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7070
MemberContext::Private::Cachable::initializer
CachedItem< TemplateVariant, Private, &Private::createInitializer > initializer
Definition: context.cpp:4268
Definition::isLinkableInProject
virtual bool isLinkableInProject() const =0
SymbolIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:1328
MemberContext::Private::isAnonymous
TemplateVariant isAnonymous() const
Definition: context.cpp:3654
Translator::trCompoundListFortran
virtual QCString trCompoundListFortran()=0
GlobalsIndexContext::~GlobalsIndexContext
virtual ~GlobalsIndexContext()
Definition: context.cpp:7156
SymbolContext::Private::Private
Private(const Definition *d, const Definition *prev, const Definition *next)
Definition: context.cpp:8353
TextGeneratorHtml::writeString
void writeString(const QCString &s, bool keepSpaces) const
Definition: context.cpp:3399
ClassHierarchyContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:5281
ExampleTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6922
MemberContext::Private::Cachable::declType
CachedItem< TemplateVariant, Private, &Private::createDeclType > declType
Definition: context.cpp:4272
IncludeInfo::includeName
QCString includeName
Definition: filedef.h:54
MemberListContainer::Group
@ Group
TextGeneratorHtml
Definition: context.cpp:3394
ContextTreeType::Module
@ Module
ClassContext::Private::privateSlots
TemplateVariant privateSlots() const
Definition: context.cpp:1754
ClassContext::Private::createAdditionalInheritedMembers
TemplateVariant createAdditionalInheritedMembers() const
Definition: context.cpp:2229
ModuleContext::Private::getGroupGraph
DotGroupCollaborationPtr getGroupGraph() const
Definition: context.cpp:4588
MemberListType_eventMembers
@ MemberListType_eventMembers
Definition: types.h:144
IncludeInfoContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:1659
Translator::trGotoDocumentation
virtual QCString trGotoDocumentation()=0
ClassContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:1729
InheritedMemberInfoContext::Private::m_title
QCString m_title
Definition: context.cpp:8027
NamespaceContext::Private::Cachable::detailedDictionaries
CachedItem< TemplateVariant, Private, &Private::createDetailedDictionaries > detailedDictionaries
Definition: context.cpp:2679
MemberDef::isNoExcept
virtual bool isNoExcept() const =0
ClassContext::Private::Cachable::privateTypes
CachedItem< TemplateVariant, Private, &Private::createPrivateTypes > privateTypes
Definition: context.cpp:2353
ClassMembersIndexContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:7223
ConceptTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6776
SymbolGroupContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:8545
LatexEscaper::enableTabbing
void enableTabbing(bool b)
Setting tabbing mode on or off (for LaTeX)
Definition: context.cpp:8986
NamespaceMembersIndexContext::Private::enums
TemplateVariant enums() const
Definition: context.cpp:7297
DefinitionContext::s_baseProperties
static const PropertyMap< DefinitionContext< T > > s_baseProperties
Definition: context.cpp:1565
FileContext::Private::includeGraph
TemplateVariant includeGraph() const
Definition: context.cpp:2790
HtmlSpaceless::remove
QCString remove(const QCString &s)
Returns the input after removing redundant whitespace
Definition: context.cpp:8909
TranslateContext::Private::handleIncludeDependencyGraph
TemplateVariant handleIncludeDependencyGraph(const TemplateVariantList &args) const
Definition: context.cpp:542
MemberContext::Private::enumBaseType
TemplateVariant enumBaseType() const
Definition: context.cpp:3656
GlobalsIndexContext::Private::related
TemplateVariant related() const
Definition: context.cpp:7084
MemberListType_pacStaticMethods
@ MemberListType_pacStaticMethods
Definition: types.h:113
ModuleTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6849
ClassHierarchyContext::Private::Private
Private()
Definition: context.cpp:5201
ConceptContext::Private::Cachable::templateDecls
CachedItem< TemplateVariant, Private, &Private::createTemplateDecls > templateDecls
Definition: context.cpp:4491
HtmlSpaceless::m_removeSpaces
bool m_removeSpaces
Definition: context.cpp:8969
LatexEscaper::LatexEscaper
LatexEscaper()
Definition: context.cpp:8981
NestingNodeContext::Private::getModule
TemplateVariant getModule() const
Definition: context.cpp:5335
NestingNodeContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:5671
MemberDef::isReadable
virtual bool isReadable() const =0
DirContext::Private::hasDirGraph
TemplateVariant hasDirGraph() const
Definition: context.cpp:3139
MemberInfoContext::Private::fields
StringVector fields() const
Definition: context.cpp:7629
SymbolGroupContext::Private::m_symbolList
CachedItem< TemplateVariant, Private,&Private::createSymbolList > m_symbolList
Definition: context.cpp:8563
NavPathElemContext::Private::relPathAsString
QCString relPathAsString() const
Definition: context.cpp:7023
NestingContext::Private::addConcepts
void addConcepts(const ConceptLinkedRefMap &cpLinkedMap, bool rootOnly, ClassDefSet &visitedClasses)
Definition: context.cpp:5778
EOF_Html
@ EOF_Html
Definition: dotgraph.h:28
MemberContext::Private::hasMultiLineInitializer
TemplateVariant hasMultiLineInitializer() const
Definition: context.cpp:3658
ClassHierarchyContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:5286
GOF_EPS
@ GOF_EPS
Definition: dotgraph.h:27
MemberDef::isMaybeAmbiguous
virtual bool isMaybeAmbiguous() const =0
DefinitionContext::createInbodyDocs
TemplateVariant createInbodyDocs() const
Definition: context.cpp:1500
PropertyMap< DefinitionContext< MemberContext::Private > >::Map
std::map< std::string, TemplateVariant(DefinitionContext< MemberContext::Private > ::*)() const > Map
Definition: context.cpp:121
DefinitionContext::fillPath
void fillPath(const Definition *def, TemplateVariantList &list) const
Definition: context.cpp:1512
MemberContext::Private::createNamespaceDef
TemplateVariant createNamespaceDef() const
Definition: context.cpp:3958
SymbolIndicesContext::Private
Definition: context.cpp:8711
DoxygenContext::~DoxygenContext
virtual ~DoxygenContext()
Definition: context.cpp:376
Translator::trRelatedFunctionDocumentation
virtual QCString trRelatedFunctionDocumentation()=0
InheritanceGraphContext::~InheritanceGraphContext
virtual ~InheritanceGraphContext()
Definition: context.cpp:7439
ClassListContext::ClassListContext
ClassListContext()
Definition: context.cpp:5019
NamespaceContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:2731
InheritedMemberInfoContext::Private::getClass
TemplateVariant getClass() const
Definition: context.cpp:8001
ConceptContext::Private::Cachable::includeInfo
CachedItem< TemplateVariant, Private, &Private::createIncludeInfo > includeInfo
Definition: context.cpp:4490
ModuleContext::Private::namespaces
TemplateVariant namespaces() const
Definition: context.cpp:4558
portable.h
Portable versions of functions that are platform dependent.
FileContext::Private::constantgroups
TemplateVariant constantgroups() const
Definition: context.cpp:2763
TranslateContext::Private::directories
TemplateVariant directories() const
Definition: context.cpp:906
NamespaceMembersIndexContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:7306
MemberContext::Private::createTemplateAlias
TemplateVariant createTemplateAlias() const
Definition: context.cpp:3905
MemberGroupInfoContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:7832
ConceptContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:4448
InheritanceListContext::Private::addClass
void addClass(const ClassDef *cd, const QCString &name)
Definition: context.cpp:7513
ModuleContext::Private::compoundType
TemplateVariant compoundType() const
Definition: context.cpp:4550
FileTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6492
ModuleTreeContext::Private::createMaxDepth
int createMaxDepth() const
Definition: context.cpp:6858
ClassContext::Private::Cachable::detailedMethods
CachedItem< TemplateVariant, Private, &Private::createDetailedMethods > detailedMethods
Definition: context.cpp:2376
ClassDef::getMemberGroups
virtual const MemberGroupList & getMemberGroups() const =0
Returns the member groups defined for this class
searchindex.h
ModuleContext::Private::Cachable::publicSlots
CachedItem< TemplateVariant, Private, &Private::createPublicSlots > publicSlots
Definition: context.cpp:4899
SearchIndicesContext::alloc
static TemplateListIntfPtr alloc()
Definition: context.h:1378
LatexSpaceless::clone
std::unique_ptr< TemplateSpacelessIntf > clone()
Create a copy of the spaceless filter
Definition: context.cpp:8866
DirDef::subDirs
virtual const DirList & subDirs() const =0
reg::search
bool search(const std::string &str, Match &match, const Ex &re, size_t pos)
Search in a given string str starting at position pos for a match against regular expression re.
Definition: regex.cpp:718
MemberContext::Private::isDelete
TemplateVariant isDelete() const
Definition: context.cpp:3635
MemberListType_properties
@ MemberListType_properties
Definition: types.h:134
ContextTreeType::Namespace
@ Namespace
MemberContext::Private::Cachable::sourceRefBys
CachedItem< TemplateVariant, Private, &Private::createSourceRefBys > sourceRefBys
Definition: context.cpp:4262
ArgumentListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:8316
ModuleContext::Private::classes
TemplateVariant classes() const
Definition: context.cpp:4557
ModuleContext::Private::hasGroupGraph
TemplateVariant hasGroupGraph() const
Definition: context.cpp:4590
DirContext::Private::files
TemplateVariant files() const
Definition: context.cpp:3133
TranslateContext::Private::memberList
TemplateVariant memberList() const
Definition: context.cpp:778
MemberDef::hasReferencesRelation
virtual bool hasReferencesRelation() const =0
SymbolIndexContext::Private::m_letter
QCString m_letter
Definition: context.cpp:8674
ExampleTreeContext::Private::m_maxDepth
CachedItem< int, Private, &Private::createMaxDepth > m_maxDepth
Definition: context.cpp:6945
ClassContext::Private::related
TemplateVariant related() const
Definition: context.cpp:1767
ClassContext::Private::Cachable::memberGroups
CachedItem< TemplateVariant, Private, &Private::createMemberGroups > memberGroups
Definition: context.cpp:2381
Translator::trCallerGraph
virtual QCString trCallerGraph()=0
PageContext::Private::s_inst
static const PropertyMap< PageContext::Private > s_inst
Definition: context.cpp:3360
ModuleContext::Private::createDetailedVariables
TemplateVariant createDetailedVariables() const
Definition: context.cpp:4823
InheritedMemberInfoListContext::p
std::unique_ptr< Private > p
Definition: context.h:1156
PageTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:747
MemberDef::isCopy
virtual bool isCopy() const =0
TranslateContext::Private::fields
StringVector fields() const
Definition: context.cpp:406
MemberContext::Private::Cachable::propertyAttrs
CachedItem< TemplateVariant, Private, &Private::createPropertyAttrs > propertyAttrs
Definition: context.cpp:4242
ClassContext::Private::createInnerClasses
TemplateVariant createInnerClasses() const
Definition: context.cpp:1979
ClassContext::Private::Cachable::protectedTypes
CachedItem< TemplateVariant, Private, &Private::createProtectedTypes > protectedTypes
Definition: context.cpp:2347
MemberContext::Private::isTypeAlias
TemplateVariant isTypeAlias() const
Definition: context.cpp:3633
filterLatexString
void filterLatexString(TextStream &t, const QCString &str, bool insideTabbing, bool insidePre, bool insideItem, bool insideTable, bool keepSpaces)
Definition: util.cpp:4934
FileContext::~FileContext
virtual ~FileContext()
Definition: context.cpp:3099
Translator::trExamples
virtual QCString trExamples()=0
externalRef
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition: util.cpp:6334
ClassDef::Exception
@ Exception
Definition: classdef.h:113
NestingNodeContext::Private::m_index
int m_index
Definition: context.cpp:5603
ClassTreeContext::Private::m_preferredDepth
CachedItem< int, Private, &Private::createPreferredDepth > m_preferredDepth
Definition: context.cpp:6120
ConceptContext::Private::title
TemplateVariant title() const
Definition: context.cpp:4446
Translator::trStaticProtectedAttribs
virtual QCString trStaticProtectedAttribs()=0
dir.h
ArgumentContext::Private
Definition: context.cpp:8200
InheritedMemberInfoContext::Private::createMemberList
TemplateVariant createMemberList() const
Definition: context.cpp:8016
MemberDef::isOptional
virtual bool isOptional() const =0
PageContext::Private
Definition: context.cpp:3270
ClassContext::~ClassContext
virtual ~ClassContext()
Definition: context.cpp:2475
ClassLinkedMap
Definition: classlist.h:26
ClassContext::Private::Cachable::collaborationGraph
CachedItem< DotClassGraphPtr, Private, &Private::createCollaborationGraph > collaborationGraph
Definition: context.cpp:2338
FileContext::Private::detailedEnums
TemplateVariant detailedEnums() const
Definition: context.cpp:2776
DoxygenContext::Private::fields
StringVector fields() const
Definition: context.cpp:340
GlobalsIndexContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7165
Doxygen::classLinkedMap
static ClassLinkedMap * classLinkedMap
Definition: doxygen.h:78
TranslateContext::Private::relatedPagesDesc
TemplateVariant relatedPagesDesc() const
Definition: context.cpp:742
ClassContext::Private::categoryOf
TemplateVariant categoryOf() const
Definition: context.cpp:1790
FileTreeContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:6490
MemberDef::initializer
virtual const QCString & initializer() const =0
NestingContext::alloc
static TemplateListIntfPtr alloc(const NestingNodeContext *parent, ContextTreeType type, int level)
Definition: context.h:530
IncludeInfoListContext::Private
Definition: context.cpp:1674
LatexEscaper::escape
QCString escape(const QCString &s)
Returns the input after escaping certain characters
Definition: context.cpp:8982
MemberDef::isUnretained
virtual bool isUnretained() const =0
InheritanceNodeContext::Private::m_classDef
const ClassDef * m_classDef
Definition: context.cpp:7475
NamespaceContext::Private::createDetailedSequences
TemplateVariant createDetailedSequences() const
Definition: context.cpp:2615
ModuleContext::Private::detailedEnumValues
TemplateVariant detailedEnumValues() const
Definition: context.cpp:4577
SymbolIndicesContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8738
FileDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
ClassContext::Private::Cachable::publicStaticMethods
CachedItem< TemplateVariant, Private, &Private::createPublicStaticMethods > publicStaticMethods
Definition: context.cpp:2343
Dir::mkdir
bool mkdir(const std::string &path, bool acceptsAbsPath=true) const
Definition: dir.cpp:237
MemberDef::isRelated
virtual bool isRelated() const =0
MemberInfo::memberDef
const MemberDef * memberDef()
Definition: membername.h:74
Translator::trNamespaceIndex
virtual QCString trNamespaceIndex()=0
util.h
A bunch of utility functions.
MemberListType_relatedMembers
@ MemberListType_relatedMembers
Definition: types.h:141
createSubDirs
void createSubDirs(const Dir &d)
Definition: util.cpp:3677
ClassHierarchyContext::Private::fields
StringVector fields() const
Definition: context.cpp:5212
FileContext::Private::createDetailedMacros
TemplateVariant createDetailedMacros() const
Definition: context.cpp:2969
TranslateContext::Private::pages
TemplateVariant pages() const
Definition: context.cpp:653
PageListContext::Private::addPages
void addPages(const PageLinkedMap &pages)
Definition: context.cpp:6629
ModuleContext::Private::createDetailedPrivateSlots
TemplateVariant createDetailedPrivateSlots() const
Definition: context.cpp:4839
FileTreeContext::Private::preferredDepth
TemplateVariant preferredDepth() const
Definition: context.cpp:6494
NestingNodeContext::Private::getNamespace
TemplateVariant getNamespace() const
Definition: context.cpp:5331
MemberDef::typeString
virtual QCString typeString() const =0
Translator::trProtectedAttribs
virtual QCString trProtectedAttribs()=0
NestingNodeContext::Private::members
TemplateVariant members() const
Definition: context.cpp:5329
ClassContext::Private::createClassGraph
DotClassGraphPtr createClassGraph() const
Definition: context.cpp:1958
MemberContext::Private::Private
Private(const MemberDef *md)
Definition: context.cpp:3580
ArgumentListContext::at
virtual TemplateVariant at(uint index) const
Returns the element at index position index.
Definition: context.cpp:8321
NamespaceContext::Private::createNamespaces
TemplateVariant createNamespaces() const
Definition: context.cpp:2550
GlobalsIndexContext::Private::fields
StringVector fields() const
Definition: context.cpp:7071
ModuleContext::Private::detailedProtectedSlots
TemplateVariant detailedProtectedSlots() const
Definition: context.cpp:4582
NamespaceTreeContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:6263
BaseClassList
std::vector< BaseClassDef > BaseClassList
Definition: classdef.h:81
Translator::trFileIndex
virtual QCString trFileIndex()=0
ArgumentContext::Private::name
TemplateVariant name() const
Definition: context.cpp:8214
FileContext::Private::createIncludeGraph
DotInclDepGraphPtr createIncludeGraph() const
Definition: context.cpp:2877
Translator::trGotoSourceCode
virtual QCString trGotoSourceCode()=0
ClassContext::Private::detailedMethods
TemplateVariant detailedMethods() const
Definition: context.cpp:1773
Definition::localName
virtual QCString localName() const =0
MemberContext::Private::isStatic
TemplateVariant isStatic() const
Definition: context.cpp:3590
MemberDef::isPrivateSettable
virtual bool isPrivateSettable() const =0
ArgumentContext::ArgumentContext
ArgumentContext(const Argument &arg, const Definition *def, const QCString &relPath)
Definition: context.cpp:8268
DirContext::Private::Private
Private(const DirDef *dd)
Definition: context.cpp:3118
ClassListContext::~ClassListContext
virtual ~ClassListContext()
Definition: context.cpp:5025
AllMembersListContext::createIterator
virtual TemplateListIntf::ConstIteratorPtr createIterator() const
Creates a new iterator for this list.
Definition: context.cpp:7757
DefinitionContext::language
TemplateVariant language() const
Definition: context.cpp:1427
MemberListType_pubStaticMethods
@ MemberListType_pubStaticMethods
Definition: types.h:111
MemberContext::Private::hasReferencedByRelation
TemplateVariant hasReferencedByRelation() const
Definition: context.cpp:3703
TranslateContext::Private::s_inst
static const PropertyMap< TranslateContext::Private > s_inst
Definition: context.cpp:1013
ClassContext::Private::Cachable::allMembersList
CachedItem< TemplateVariant, Private, &Private::createAllMembersList > allMembersList
Definition: context.cpp:2382
GlobalsIndexContext::Private::m_all
CachedItem< TemplateVariant, Private, &Private::createAll > m_all
Definition: context.cpp:7121
InheritanceGraphContext::InheritanceGraphContext
InheritanceGraphContext(DotGfxHierarchyTablePtr hierarchy, DotNode *n, int id)
Definition: context.cpp:7435
ClassContext::Private::createPackageMethods
TemplateVariant createPackageMethods() const
Definition: context.cpp:2094
DirListContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6400
SymbolIndexContext::Private::Private
Private(const std::string &letter, const SearchIndexList &sl, const QCString &name)
Definition: context.cpp:8656
FileContext
Definition: context.h:257
Translator::trDir
virtual QCString trDir(bool first_capital, bool singular)=0
Translator::trModuleIndex
virtual QCString trModuleIndex()=0
MemberContext::Private::createAnonymousType
TemplateVariant createAnonymousType() const
Definition: context.cpp:4028
ClassTreeContext::Private::title
TemplateVariant title() const
Definition: context.cpp:6103
SymbolGroupContext::Private::Private
Private(const SearchIndexList::const_iterator &start, const SearchIndexList::const_iterator &end)
Definition: context.cpp:8541
TranslateContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:914
ClassContext::Private::hasDetails
TemplateVariant hasDetails() const
Definition: context.cpp:1730
MemberInfoContext::Private
Definition: context.cpp:7622
InheritanceGraphContext::Private::createGraph
TemplateVariant createGraph() const
Definition: context.cpp:7405
MemberContext::Private::isProtectedGettable
TemplateVariant isProtectedGettable() const
Definition: context.cpp:3607
ClassContext::Private::createProtectedTypes
TemplateVariant createProtectedTypes() const
Definition: context.cpp:2042
MemberContext::Private::Cachable::trailingReturnType
CachedItem< TemplateVariant, Private, &Private::createTrailingReturnType > trailingReturnType
Definition: context.cpp:4251
ArgumentContext::Private::m_defval
CachedItem< TemplateVariant, Private, &Private::createDefval > m_defval
Definition: context.cpp:8249
ModuleContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:4983
ClassDef::isLinkable
virtual bool isLinkable() const =0
return TRUE iff a link to this class is possible (either within this project, or as a cross-reference...
IncludeInfoContext::Private::name
TemplateVariant name() const
Definition: context.cpp:1624
SymbolGroupContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:8585
PageContext::Private::fields
StringVector fields() const
Definition: context.cpp:3282
MemberInfoContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:7702
convertToId
QCString convertToId(const QCString &s)
Definition: util.cpp:3908
MemberGroupInfoContext::Private::inherited
TemplateVariant inherited() const
Definition: context.cpp:7782
MemberContext::Private::templateAlias
TemplateVariant templateAlias() const
Definition: context.cpp:3672
MemberListContainer::Class
@ Class
Translator::trFileMembers
virtual QCString trFileMembers()=0
MemberList
A list of MemberDef objects as shown in documentation sections.
Definition: memberlist.h:81
Translator::trRelatedFunctions
virtual QCString trRelatedFunctions()=0
MemberDef::hasDetailedDescription
virtual bool hasDetailedDescription() const =0
TranslateContext::Private::fileMembersDescription
TemplateVariant fileMembersDescription() const
Definition: context.cpp:707
SymbolContext::~SymbolContext
virtual ~SymbolContext()
Definition: context.cpp:8476
NamespaceMembersIndexContext::Private::fileName
TemplateVariant fileName() const
Definition: context.cpp:7303
MemberContext::Private::anonymousMember
TemplateVariant anonymousMember() const
Definition: context.cpp:3669
ModuleContext::Private::examples
TemplateVariant examples() const
Definition: context.cpp:4553
MemberListInfoContext::~MemberListInfoContext
virtual ~MemberListInfoContext()
Definition: context.cpp:7973
IncludeInfoContext::Private::fields
StringVector fields() const
Definition: context.cpp:1607
ConfigContext::Private
Definition: context.cpp:236
NestingContext::Private::addModules
void addModules(const GroupLinkedMap &groups, ClassDefSet &visitedClasses)
Definition: context.cpp:5862
ClassLinkedRefMap
Definition: classlist.h:30
FileContext::Private::Cachable::constantgroups
CachedItem< TemplateVariant, Private, &Private::createConstantgroups > constantgroups
Definition: context.cpp:3031
GlobalsIndexContext::Private::properties
TemplateVariant properties() const
Definition: context.cpp:7082
Translator::trPublicTypes
virtual QCString trPublicTypes()=0
TemplateVariant::toList
TemplateListIntfPtr toList()
Returns the pointer to list referenced by this variant or 0 if this variant does not have list type.
Definition: template.cpp:432
TranslateContext::Private::callGraph
TemplateVariant callGraph() const
Definition: context.cpp:826
TextGeneratorFactory::~TextGeneratorFactory
virtual ~TextGeneratorFactory()
Definition: context.cpp:3558
LinkedRefMap::size
size_t size() const
Definition: linkedmap.h:375
GlobalsIndexContext::Private::s_inst
static const PropertyMap< GlobalsIndexContext::Private > s_inst
Definition: context.cpp:7128
InheritedMemberInfoContext::~InheritedMemberInfoContext
virtual ~InheritedMemberInfoContext()
Definition: context.cpp:8050
MemberInfoContext::Private::s_inst
static const PropertyMap< MemberInfoContext::Private > s_inst
Definition: context.cpp:7672
ClassContext::Private::typeConstraints
TemplateVariant typeConstraints() const
Definition: context.cpp:1782
NestingNodeContext::Private
Definition: context.cpp:5293
FileContext::Private::createDetailedEnums
TemplateVariant createDetailedEnums() const
Definition: context.cpp:2985
ClassContext::Private::createTemplateDecls
TemplateVariant createTemplateDecls() const
Definition: context.cpp:2223
ModuleTreeContext::~ModuleTreeContext
virtual ~ModuleTreeContext()
Definition: context.cpp:6892
NamespaceContext::alloc
static TemplateStructIntfPtr alloc(const NamespaceDef *nd)
Definition: context.h:240
MemberListType_docEventMembers
@ MemberListType_docEventMembers
Definition: types.h:175
MemberContext::Private::examples
TemplateVariant examples() const
Definition: context.cpp:3695
DirContext::Private::m_cachable
Cachable m_cachable
Definition: context.cpp:3227
MemberContext::Private::handleDetailsVisibleFor
TemplateVariant handleDetailsVisibleFor(const TemplateVariantList &args) const
Definition: context.cpp:3843
ModuleContext::Private::friends
TemplateVariant friends() const
Definition: context.cpp:4572
MemberContext::Private::isMutable
TemplateVariant isMutable() const
Definition: context.cpp:3604
FileContext::Private::functions
TemplateVariant functions() const
Definition: context.cpp:2769
ClassTreeContext::Private::createPreferredDepth
int createPreferredDepth() const
Definition: context.cpp:6114
InheritanceNodeContext::Private::m_classContext
CachedItem< TemplateVariant, Private, &Private::createClass > m_classContext
Definition: context.cpp:7476
GlobalsIndexContext::Private::createTypedefs
TemplateVariant createTypedefs() const
Definition: context.cpp:7116
InheritanceListContext::alloc
static TemplateListIntfPtr alloc(const BaseClassList &list, bool baseClasses)
Definition: context.h:983
ClassContext::Private::Cachable::categoryOf
CachedItem< TemplateVariant, Private, &Private::createCategoryOf > categoryOf
Definition: context.cpp:2389
MemberContext::Private::isAddable
TemplateVariant isAddable() const
Definition: context.cpp:3613
Translator::trEnumName
virtual QCString trEnumName()=0
ClassIndexContext::p
std::unique_ptr< Private > p
Definition: context.h:393
ContextGlobals
Definition: context.cpp:74
QCString::prepend
QCString & prepend(const char *s)
Definition: qcstring.h:339
TextGeneratorHtml::writeBreak
void writeBreak(int indent) const
Definition: context.cpp:3439
InheritanceNodeContext::Private::Private
Private(const ClassDef *cd, const QCString &name)
Definition: context.cpp:7458
ModuleContext::Private::detailedPrivateSlots
TemplateVariant detailedPrivateSlots() const
Definition: context.cpp:4583
Translator::trCompoundIndex
virtual QCString trCompoundIndex()=0
ConceptTreeContext::Private::fields
StringVector fields() const
Definition: context.cpp:6768
ModuleContext::Private::createDetailedFriends
TemplateVariant createDetailedFriends() const
Definition: context.cpp:4851
MemberListType_docTypedefMembers
@ MemberListType_docTypedefMembers
Definition: types.h:166
GenericConstIterator::toPrev
void toPrev()
Moves iterator to the previous element in the list
Definition: context.cpp:165
MemberContext::Private::createDefinition
TemplateVariant createDefinition() const
Definition: context.cpp:3982
MemberListType_docPropMembers
@ MemberListType_docPropMembers
Definition: types.h:177
TranslateContext::Private::events
TemplateVariant events() const
Definition: context.cpp:939
MemberDef::isEvent
virtual bool isEvent() const =0
NamespaceContext::Private::Cachable
Definition: context.cpp:2665
diagram.h
ModuleTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6853
Translator::trPropertyDocumentation
virtual QCString trPropertyDocumentation()=0
ClassMembersIndexContext::Private::m_all
CachedItem< TemplateVariant, Private, &Private::createAll > m_all
Definition: context.cpp:7230
UsedFilesContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:6444
ConceptTreeContext::Private::tree
TemplateVariant tree() const
Definition: context.cpp:6772
MemberGroupInfoContext::p
std::unique_ptr< Private > p
Definition: context.h:1042
MemberContext::Private::isRemovable
TemplateVariant isRemovable() const
Definition: context.cpp:3614
NamespaceContext::Private::detailedEnums
TemplateVariant detailedEnums() const
Definition: context.cpp:2524
MemberContext::p
std::unique_ptr< Private > p
Definition: context.h:331
DoxygenContext::Private::createMathJaxCodeFile
QCString createMathJaxCodeFile() const
Definition: context.cpp:350
SearchIndexContext::alloc
static TemplateStructIntfPtr alloc(const SearchIndexInfo &info)
Definition: context.h:1358
MemberListType_propertyMembers
@ MemberListType_propertyMembers
Definition: types.h:143
PageTreeContext::Private::highlight
TemplateVariant highlight() const
Definition: context.cpp:6569
convertToHtml
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition: util.cpp:4063
MemberGroupInfoContext::alloc
static TemplateStructIntfPtr alloc(const Definition *def, const QCString &relPath, const MemberGroup *mg)
Definition: context.h:1031
ModuleContext::Private::createNamespaces
TemplateVariant createNamespaces() const
Definition: context.cpp:4692
NamespaceLinkedMap
Definition: namespacedef.h:41
TranslateContext::Private::dirDependencyGraphFor
TemplateVariant dirDependencyGraphFor() const
Definition: context.cpp:572
MemberContext::Private::implementedBy
TemplateVariant implementedBy() const
Definition: context.cpp:3693
PageContext::Private::relPath
TemplateVariant relPath() const
Definition: context.cpp:3319
NamespaceContext::Private::detailedSequences
TemplateVariant detailedSequences() const
Definition: context.cpp:2522
GlobalsIndexContext::Private::createMacros
TemplateVariant createMacros() const
Definition: context.cpp:7119
Translator::trLoading
virtual QCString trLoading()=0
InheritedMemberInfoContext::Private::createClass
TemplateVariant createClass() const
Definition: context.cpp:8012
FileTreeContext::p
std::unique_ptr< Private > p
Definition: context.h:704
MemberContext::Private::createSourceCode
TemplateVariant createSourceCode() const
Definition: context.cpp:4193
MemberDef::isBound
virtual bool isBound() const =0
ClassDef::templateArguments
virtual const ArgumentList & templateArguments() const =0
Returns the template arguments of this class
FileContext::Private::hasIncludedByGraph
TemplateVariant hasIncludedByGraph() const
Definition: context.cpp:2826
MemberInfoContext::Private::createMember
TemplateVariant createMember() const
Definition: context.cpp:7664
ModuleTreeContext::Private
Definition: context.cpp:6831
MemberContext::Private::isOverride
TemplateVariant isOverride() const
Definition: context.cpp:3618
NestingNodeContext::Private::createMember
TemplateVariant createMember() const
Definition: context.cpp:5583
MemberContext::Private::createTemplateDecls
TemplateVariant createTemplateDecls() const
Definition: context.cpp:3994
MemberDef::isProtectedSettable
virtual bool isProtectedSettable() const =0
ClassDefSet
std::set< const ClassDef * > ClassDefSet
Definition: classdef.h:95
NamespaceContext::Private::createVariables
TemplateVariant createVariables() const
Definition: context.cpp:2605
ModuleContext::Private::createDetailedEvents
TemplateVariant createDetailedEvents() const
Definition: context.cpp:4843
SymbolGroupContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:8590
MemberDef::getGroupDef
virtual const GroupDef * getGroupDef() const =0
ConceptContext::~ConceptContext
virtual ~ConceptContext()
Definition: context.cpp:4518
MemberContext::Private::templateDecls
TemplateVariant templateDecls() const
Definition: context.cpp:3688
ConceptContext::ConceptContext
ConceptContext(const ConceptDef *)
Definition: context.cpp:4514
vhdldocgen.h
ClassContext::Private::Cachable::publicStaticAttributes
CachedItem< TemplateVariant, Private, &Private::createPublicStaticAttributes > publicStaticAttributes
Definition: context.cpp:2345
ClassTreeContext::Private::subhighlight
TemplateVariant subhighlight() const
Definition: context.cpp:6100
MemberContext::Private::Cachable::paramDocs
CachedItem< TemplateVariant, Private, &Private::createParamDocs > paramDocs
Definition: context.cpp:4255
ArgumentContext::Private::attrib
TemplateVariant attrib() const
Definition: context.cpp:8213
FileContext::get
virtual TemplateVariant get(const QCString &name) const
Gets the value for a field name.
Definition: context.cpp:3103
TranslateContext::Private::referenceManual
TemplateVariant referenceManual() const
Definition: context.cpp:971
DirContext::Private::subHighlight
TemplateVariant subHighlight() const
Definition: context.cpp:3130
ClassDiagram::writeFigure
void writeFigure(TextStream &t, const QCString &path, const QCString &file) const
Definition: diagram.cpp:1047
Definition::getSourceAnchor
virtual QCString getSourceAnchor() const =0
ConfigContext::ConfigContext
ConfigContext()
Definition: context.cpp:315
MemberDef::isTransient
virtual bool isTransient() const =0
MemberDef::isAssign
virtual bool isAssign() const =0
DefinitionContext::relPathAsString
QCString relPathAsString() const
Definition: context.cpp:1473
InheritedMemberInfoContext::p
std::unique_ptr< Private > p
Definition: context.h:1134
createDocParser
std::unique_ptr< IDocParser > createDocParser()
Definition: docparser.cpp:179
FileContext::alloc
static TemplateStructIntfPtr alloc(const FileDef *fd)
Definition: context.h:260
InheritedMemberInfoListContext::InheritedMemberInfoListContext
InheritedMemberInfoListContext()
Definition: context.cpp:8160
NavPathElemContext::NavPathElemContext
NavPathElemContext(const Definition *def)
Definition: context.cpp:7046
ModuleTreeContext::fields
virtual StringVector fields() const
Return the list of fields.
Definition: context.cpp:6901
InheritedMemberInfoContext::Private::id
TemplateVariant id() const
Definition: context.cpp:8005
MemberContext::Private::isInline
TemplateVariant isInline() const
Definition: context.cpp:3602
Translator::trWriteList
virtual QCString trWriteList(int numEntries)=0
ClassMembersIndexContext::Private::get
TemplateVariant get(const QCString &n) const
Definition: context.cpp:7177
FALSE
#define FALSE
Definition: qcstring.h:33
MemberContext::Private::Cachable::implementedBy
CachedItem< TemplateVariant, Private, &Private::createImplementedBy > implementedBy
Definition: context.cpp:4258
DefinitionContext::bareName
TemplateVariant bareName() const
Definition: context.cpp:1417
ClassContext::Private::detailedServices
TemplateVariant detailedServices() const
Definition: context.cpp:1770
TextGeneratorHtml::writeLink
void writeLink(const QCString &ref, const QCString &f, const QCString &anchor, const QCString &name) const
Definition: context.cpp:3448
MemberContext::Private::Cachable::categoryRelation
CachedItem< TemplateVariant, Private, &Private::createCategoryRelation > categoryRelation
Definition: context.cpp:4249
ClassContext::Private::protectedTypes
TemplateVariant protectedTypes() const
Definition: context.cpp:1747
MemberContext::Private::isEnumValue
TemplateVariant isEnumValue() const
Definition: context.cpp:3649
Doxygen::exampleLinkedMap
static PageLinkedMap * exampleLinkedMap
Definition: doxygen.h:81
PageListContext::~PageListContext
virtual ~PageListContext()
Definition: context.cpp:6646
MemberGroupInfoContext::Private::memberGroups
TemplateVariant memberGroups() const
Definition: context.cpp:7780
Pure
@ Pure
Definition: types.h:29
FileDef::includeFileList
virtual const IncludeInfoList & includeFileList() const =0
DefinitionContext::m_sourceDef
TemplateListIntfPtr m_sourceDef
Definition: context.cpp:1564
NestingContext::count
virtual uint count() const
Returns the number of elements in the list
Definition: context.cpp:5975
TranslateContext::Private::namespaceDocumentation
TemplateVariant namespaceDocumentation() const
Definition: context.cpp:874
NamespaceMembersIndexContext::Private::m_enumValues
CachedItem< TemplateVariant, Private, &Private::createEnumValues > m_enumValues
Definition: context.cpp:7344
SrcLangExt_Slice
@ SrcLangExt_Slice
Definition: types.h:59
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108
TranslateContext::Private::enumerationValues
TemplateVariant enumerationValues() const
Definition: context.cpp:798
TranslateContext::~TranslateContext
virtual ~TranslateContext()
Definition: context.cpp:1225
MemberContext::Private::isEnumStruct
TemplateVariant isEnumStruct() const
Definition: context.cpp:3628
NamespaceMembersIndexContext::~NamespaceMembersIndexContext
virtual ~NamespaceMembersIndexContext()
Definition: context.cpp:7374