@xpack/doxygen2docusaurus 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/dist/cli/main.d.ts +6 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +29 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/docusaurus/cli-options.d.ts +268 -39
- package/dist/docusaurus/cli-options.d.ts.map +1 -1
- package/dist/docusaurus/cli-options.js +267 -53
- package/dist/docusaurus/cli-options.js.map +1 -1
- package/dist/docusaurus/generator.d.ts +179 -4
- package/dist/docusaurus/generator.d.ts.map +1 -1
- package/dist/docusaurus/generator.js +215 -45
- package/dist/docusaurus/generator.js.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.d.ts +417 -0
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.js +417 -0
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.d.ts +132 -0
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.js +132 -0
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.d.ts +22 -0
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.js +22 -2
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.d.ts +88 -0
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.js +88 -0
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.d.ts +22 -0
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.js +22 -0
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +44 -0
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.js +44 -0
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +22 -0
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.js +22 -0
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +74 -0
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.js +52 -0
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
- package/dist/docusaurus/renderers/inctype.d.ts +23 -0
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/inctype.js +23 -0
- package/dist/docusaurus/renderers/inctype.js.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +22 -0
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.js +22 -0
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
- package/dist/docusaurus/renderers/listingtype.d.ts +52 -0
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/listingtype.js +66 -2
- package/dist/docusaurus/renderers/listingtype.js.map +1 -1
- package/dist/docusaurus/renderers/paramtype.d.ts +22 -0
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/paramtype.js +22 -0
- package/dist/docusaurus/renderers/paramtype.js.map +1 -1
- package/dist/docusaurus/renderers/referencetype.d.ts +23 -0
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/referencetype.js +23 -2
- package/dist/docusaurus/renderers/referencetype.js.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.d.ts +22 -0
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.js +22 -0
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
- package/dist/docusaurus/renderers/reftype.d.ts +22 -0
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftype.js +22 -0
- package/dist/docusaurus/renderers/reftype.js.map +1 -1
- package/dist/docusaurus/renderers/renderers.d.ts +151 -0
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
- package/dist/docusaurus/renderers/renderers.js +151 -0
- package/dist/docusaurus/renderers/renderers.js.map +1 -1
- package/dist/docusaurus/renderers/substringtype.d.ts +22 -0
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/substringtype.js +22 -0
- package/dist/docusaurus/renderers/substringtype.js.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +22 -0
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.js +22 -0
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
- package/dist/docusaurus/types.d.ts +114 -8
- package/dist/docusaurus/types.d.ts.map +1 -1
- package/dist/docusaurus/types.js.map +1 -1
- package/dist/docusaurus/utils.d.ts +214 -0
- package/dist/docusaurus/utils.d.ts.map +1 -1
- package/dist/docusaurus/utils.js +214 -0
- package/dist/docusaurus/utils.js.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.d.ts +139 -2
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.js +147 -6
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
- package/dist/docusaurus/view-model/collection-base.d.ts +122 -2
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
- package/dist/docusaurus/view-model/collection-base.js +78 -0
- package/dist/docusaurus/view-model/collection-base.js.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +134 -19
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.js +122 -26
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.d.ts +58 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.js +58 -0
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +249 -2
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.js +250 -4
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.d.ts +150 -2
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.js +153 -5
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
- package/dist/docusaurus/view-model/members-vm.d.ts +552 -0
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/members-vm.js +552 -4
- package/dist/docusaurus/view-model/members-vm.js.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +201 -2
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +202 -4
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
- package/dist/docusaurus/view-model/options.d.ts +43 -0
- package/dist/docusaurus/view-model/options.d.ts.map +1 -1
- package/dist/docusaurus/view-model/options.js +43 -0
- package/dist/docusaurus/view-model/options.js.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.d.ts +117 -2
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.js +119 -4
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +135 -15
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.js +136 -16
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
- package/dist/docusaurus/view-model/view-model.d.ts +119 -0
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
- package/dist/docusaurus/view-model/view-model.js +119 -0
- package/dist/docusaurus/view-model/view-model.js.map +1 -1
- package/dist/docusaurus/workspace.d.ts +106 -0
- package/dist/docusaurus/workspace.d.ts.map +1 -1
- package/dist/docusaurus/workspace.js +107 -1
- package/dist/docusaurus/workspace.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +485 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +485 -0
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +120 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +98 -0
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +2705 -0
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +2677 -47
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +165 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +165 -0
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +70 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +70 -0
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +78 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +78 -0
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +107 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.js +107 -0
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +123 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +123 -0
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +70 -0
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +70 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +156 -0
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +156 -5
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +433 -0
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +417 -6
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +135 -0
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +136 -4
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +95 -0
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.js +76 -4
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +158 -0
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +158 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +130 -0
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +130 -2
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +120 -0
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +106 -3
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +247 -0
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.js +247 -3
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +99 -0
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +99 -2
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +159 -0
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +159 -3
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +255 -0
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +255 -6
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +60 -0
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +60 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/data-model.d.ts +86 -2
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
- package/dist/doxygen/data-model/data-model.js +86 -4
- package/dist/doxygen/data-model/data-model.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +109 -0
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +84 -2
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +81 -0
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +81 -3
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +24 -7
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.js +24 -22
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +92 -0
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +79 -2
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +76 -0
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +76 -3
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +79 -0
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +66 -2
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/types.d.ts +96 -1
- package/dist/doxygen/data-model/types.d.ts.map +1 -1
- package/dist/doxygen/data-model/types.js +37 -0
- package/dist/doxygen/data-model/types.js.map +1 -1
- package/dist/doxygen2docusaurus.d.ts +4774 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/package.json +11 -7
- /package/{template → templates}/css/custom.css +0 -0
- /package/{template → templates}/img/README.md +0 -0
- /package/{template → templates}/img/document-svgrepo-com.svg +0 -0
- /package/{template → templates}/img/folder-svgrepo-com.svg +0 -0
|
@@ -0,0 +1,4774 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A CLI application to convert Doxygen XML files into Docusaurus
|
|
3
|
+
* documentation.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* This tool facilitates the integration of Doxygen reference pages into
|
|
7
|
+
* Docusaurus documentation sites. It parses Doxygen-generated XML files and
|
|
8
|
+
* produces Docusaurus `.md` documents, along with the corresponding sidebars
|
|
9
|
+
* and menu entries.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { XMLParser } from 'fast-xml-parser';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Abstract base class for code line elements with syntax highlighting support.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* Implements the XML Schema definition for codelineType elements, which
|
|
21
|
+
* represent individual lines of source code within program listings. Each
|
|
22
|
+
* code line may contain syntax highlighting information, line numbers,
|
|
23
|
+
* cross-references to documentation elements, and external link indicators.
|
|
24
|
+
*
|
|
25
|
+
* All attributes are optional according to the schema, allowing for flexible
|
|
26
|
+
* representation of code content ranging from simple text lines to fully
|
|
27
|
+
* annotated source code with comprehensive metadata.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare abstract class AbstractCodeLineType extends AbstractDataModelBase {
|
|
32
|
+
/**
|
|
33
|
+
* Array of syntax highlighting elements within the code line.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* Contains highlight elements that provide syntax colouring information
|
|
37
|
+
* for different parts of the code line. Each highlight element specifies
|
|
38
|
+
* a highlight class (such as keyword, comment, or string literal) and
|
|
39
|
+
* the corresponding text content to be styled.
|
|
40
|
+
*/
|
|
41
|
+
highlights?: HighlightDataModel[] | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Optional line number for the code line.
|
|
44
|
+
*
|
|
45
|
+
* @remarks
|
|
46
|
+
* Specifies the line number of this code line within the source file.
|
|
47
|
+
* This attribute enables line-based navigation and referencing within
|
|
48
|
+
* the documentation system.
|
|
49
|
+
*/
|
|
50
|
+
lineno?: number | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Optional reference identifier for cross-linking.
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Contains a reference ID that can be used to create hyperlinks to
|
|
56
|
+
* related documentation elements such as function definitions, variable
|
|
57
|
+
* declarations, or other documented entities.
|
|
58
|
+
*/
|
|
59
|
+
refid?: string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Optional reference kind classification.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* Specifies the type of reference represented by the refid attribute,
|
|
65
|
+
* such as compound, member, or other Doxygen reference kinds. This
|
|
66
|
+
* classification assists in determining the appropriate link target
|
|
67
|
+
* and display behaviour.
|
|
68
|
+
*/
|
|
69
|
+
refkind?: string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Optional flag indicating external reference status.
|
|
72
|
+
*
|
|
73
|
+
* @remarks
|
|
74
|
+
* When true, indicates that the reference points to an external
|
|
75
|
+
* documentation source rather than an element within the current
|
|
76
|
+
* documentation set. This flag influences link generation and
|
|
77
|
+
* navigation behaviour.
|
|
78
|
+
*/
|
|
79
|
+
external?: boolean | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Constructs an AbstractCodeLineType instance from XML element data.
|
|
82
|
+
*
|
|
83
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
84
|
+
* @param element - The XML element object containing the code line data
|
|
85
|
+
* @param elementName - The name of the XML element being processed
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* This constructor processes code line elements by extracting highlight
|
|
89
|
+
* children and optional attributes including line numbers, reference IDs,
|
|
90
|
+
* reference kinds, and external flags. The parser handles empty code
|
|
91
|
+
* lines gracefully whilst ignoring textual content that may appear
|
|
92
|
+
* between structured highlight elements.
|
|
93
|
+
*/
|
|
94
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Abstract base class for Doxygen compound definition data models.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* Represents the core structure of compound definitions in Doxygen XML output,
|
|
102
|
+
* including classes, structures, files, namespaces, and other compound types.
|
|
103
|
+
* This class handles the complete XML schema for compound definitions with
|
|
104
|
+
* comprehensive element and attribute processing to capture all aspects of
|
|
105
|
+
* the documented code structures.
|
|
106
|
+
*
|
|
107
|
+
* @public
|
|
108
|
+
*/
|
|
109
|
+
export declare abstract class AbstractCompoundDefType extends AbstractDataModelBase {
|
|
110
|
+
/**
|
|
111
|
+
* The name of the compound element.
|
|
112
|
+
*
|
|
113
|
+
* @remarks
|
|
114
|
+
* Contains the fully qualified name of the compound (class, namespace,
|
|
115
|
+
* file, etc.) as extracted from the 'compoundname' XML element. This
|
|
116
|
+
* represents the primary identifier for the compound in the documentation
|
|
117
|
+
* hierarchy and is mandatory for all compound types except namespaces.
|
|
118
|
+
*/
|
|
119
|
+
compoundName: string;
|
|
120
|
+
/**
|
|
121
|
+
* Optional title for the compound.
|
|
122
|
+
*
|
|
123
|
+
* @remarks
|
|
124
|
+
* Provides a human-readable title for the compound that may differ from
|
|
125
|
+
* the compound name. This is typically used for pages and groups where
|
|
126
|
+
* a descriptive title is more appropriate than the technical identifier.
|
|
127
|
+
*/
|
|
128
|
+
title?: string | undefined;
|
|
129
|
+
/**
|
|
130
|
+
* Brief description of the compound.
|
|
131
|
+
*
|
|
132
|
+
* @remarks
|
|
133
|
+
* Contains a concise summary description of the compound extracted from
|
|
134
|
+
* the 'briefdescription' XML element. This provides a short overview
|
|
135
|
+
* suitable for listings and summary views of the documented entity.
|
|
136
|
+
*/
|
|
137
|
+
briefDescription?: BriefDescriptionDataModel | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Detailed description of the compound.
|
|
140
|
+
*
|
|
141
|
+
* @remarks
|
|
142
|
+
* Contains comprehensive documentation for the compound extracted from
|
|
143
|
+
* the 'detaileddescription' XML element. This includes full description
|
|
144
|
+
* text with formatting, examples, and other detailed documentation
|
|
145
|
+
* content.
|
|
146
|
+
*/
|
|
147
|
+
detailedDescription?: DetailedDescriptionDataModel | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* Base compound references for inheritance relationships.
|
|
150
|
+
*
|
|
151
|
+
* @remarks
|
|
152
|
+
* Contains references to base classes or parent compounds from which
|
|
153
|
+
* this compound inherits. This property captures the inheritance
|
|
154
|
+
* hierarchy information extracted from 'basecompoundref' XML elements
|
|
155
|
+
* for object-oriented documentation structures.
|
|
156
|
+
*/
|
|
157
|
+
baseCompoundRefs?: BaseCompoundRefDataModel[] | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Derived compound references for inheritance relationships.
|
|
160
|
+
*
|
|
161
|
+
* @remarks
|
|
162
|
+
* Contains references to derived classes or child compounds that inherit
|
|
163
|
+
* from this compound. This property captures the inheritance hierarchy
|
|
164
|
+
* information extracted from 'derivedcompoundref' XML elements for
|
|
165
|
+
* complete inheritance documentation.
|
|
166
|
+
*/
|
|
167
|
+
derivedCompoundRefs?: DerivedCompoundRefDataModel[] | undefined;
|
|
168
|
+
/**
|
|
169
|
+
* Include file references for this compound.
|
|
170
|
+
*
|
|
171
|
+
* @remarks
|
|
172
|
+
* Contains information about header files or modules that this compound
|
|
173
|
+
* includes or depends upon. This property captures dependency
|
|
174
|
+
* relationships extracted from 'includes' XML elements, providing
|
|
175
|
+
* visibility into the file inclusion structure.
|
|
176
|
+
*/
|
|
177
|
+
includes?: IncludesDataModel[] | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Reverse include file references for this compound.
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* Contains information about other files or compounds that include this
|
|
183
|
+
* compound. This property captures reverse dependency relationships
|
|
184
|
+
* extracted from 'includedby' XML elements, showing which entities
|
|
185
|
+
* depend on this compound.
|
|
186
|
+
*/
|
|
187
|
+
includedBy?: IncludedByDataModel[] | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* Template parameter list for templated compounds.
|
|
190
|
+
*
|
|
191
|
+
* @remarks
|
|
192
|
+
* Contains the template parameter definitions for templated classes,
|
|
193
|
+
* functions, or other templated entities. This property captures
|
|
194
|
+
* template information extracted from 'templateparamlist' XML elements,
|
|
195
|
+
* providing details about generic programming constructs.
|
|
196
|
+
*/
|
|
197
|
+
templateParamList?: TemplateParamListDataModel | undefined;
|
|
198
|
+
/**
|
|
199
|
+
* Section definitions within the compound.
|
|
200
|
+
*
|
|
201
|
+
* @remarks
|
|
202
|
+
* Contains organised sections of members and documentation within the
|
|
203
|
+
* compound. This property captures structured content extracted from
|
|
204
|
+
* 'sectiondef' XML elements, providing hierarchical organisation of
|
|
205
|
+
* compound members by type and visibility.
|
|
206
|
+
*/
|
|
207
|
+
sectionDefs?: SectionDefDataModel[] | undefined;
|
|
208
|
+
/**
|
|
209
|
+
* Table of contents for the compound documentation.
|
|
210
|
+
*
|
|
211
|
+
* @remarks
|
|
212
|
+
* Contains the navigation structure for complex compound documentation.
|
|
213
|
+
* This property captures hierarchical content organisation extracted
|
|
214
|
+
* from 'tableofcontents' XML elements, providing structured navigation
|
|
215
|
+
* for large documentation entities.
|
|
216
|
+
*/
|
|
217
|
+
tableOfContents?: TableOfContentsDataModel | undefined;
|
|
218
|
+
/**
|
|
219
|
+
* Inner folder references contained within this compound.
|
|
220
|
+
*
|
|
221
|
+
* @remarks
|
|
222
|
+
* Contains references to subdirectories or folders that are logically
|
|
223
|
+
* contained within this compound. This property captures hierarchical
|
|
224
|
+
* folder structure extracted from 'innerdir' XML elements, typically
|
|
225
|
+
* used for directory-based documentation organisation.
|
|
226
|
+
*/
|
|
227
|
+
innerDirs?: InnerDirDataModel[] | undefined;
|
|
228
|
+
/**
|
|
229
|
+
* Inner file references contained within this compound.
|
|
230
|
+
*
|
|
231
|
+
* @remarks
|
|
232
|
+
* Contains references to files that are logically contained within this
|
|
233
|
+
* compound. This property captures file relationships extracted from
|
|
234
|
+
* 'innerfile' XML elements, providing visibility into compound-to-file
|
|
235
|
+
* associations in the documentation structure.
|
|
236
|
+
*/
|
|
237
|
+
innerFiles?: InnerFileDataModel[] | undefined;
|
|
238
|
+
/**
|
|
239
|
+
* Inner class references contained within this compound.
|
|
240
|
+
*
|
|
241
|
+
* @remarks
|
|
242
|
+
* Contains references to classes, structures, or other class-like
|
|
243
|
+
* entities that are defined within this compound. This property captures
|
|
244
|
+
* nested type relationships extracted from 'innerclass' XML elements,
|
|
245
|
+
* supporting hierarchical type documentation.
|
|
246
|
+
*/
|
|
247
|
+
innerClasses?: InnerClassDataModel[] | undefined;
|
|
248
|
+
/**
|
|
249
|
+
* Inner namespace references contained within this compound.
|
|
250
|
+
*
|
|
251
|
+
* @remarks
|
|
252
|
+
* Contains references to namespaces that are nested within this compound.
|
|
253
|
+
* This property captures namespace hierarchy relationships extracted from
|
|
254
|
+
* 'innernamespace' XML elements, supporting multi-level namespace
|
|
255
|
+
* documentation organisation.
|
|
256
|
+
*/
|
|
257
|
+
innerNamespaces?: InnerNamespaceDataModel[] | undefined;
|
|
258
|
+
/**
|
|
259
|
+
* Inner page references contained within this compound.
|
|
260
|
+
*
|
|
261
|
+
* @remarks
|
|
262
|
+
* Contains references to documentation pages that are logically
|
|
263
|
+
* associated with this compound. This property captures page
|
|
264
|
+
* relationships extracted from 'innerpage' XML elements, supporting
|
|
265
|
+
* structured documentation navigation.
|
|
266
|
+
*/
|
|
267
|
+
innerPages?: InnerPageDataModel[] | undefined;
|
|
268
|
+
/**
|
|
269
|
+
* Inner group references contained within this compound.
|
|
270
|
+
*
|
|
271
|
+
* @remarks
|
|
272
|
+
* Contains references to documentation groups that are associated with
|
|
273
|
+
* this compound. This property captures group relationships extracted
|
|
274
|
+
* from 'innergroup' XML elements, supporting thematic organisation of
|
|
275
|
+
* related documentation elements.
|
|
276
|
+
*/
|
|
277
|
+
innerGroups?: InnerGroupDataModel[] | undefined;
|
|
278
|
+
/**
|
|
279
|
+
* Program listing or source code for the compound.
|
|
280
|
+
*
|
|
281
|
+
* @remarks
|
|
282
|
+
* Contains the actual source code implementation or listing for the
|
|
283
|
+
* compound when available. This property captures code content extracted
|
|
284
|
+
* from 'programlisting' XML elements, providing syntax-highlighted
|
|
285
|
+
* source code display in the documentation.
|
|
286
|
+
*/
|
|
287
|
+
programListing?: ProgramListingDataModel | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* Location information for the compound definition.
|
|
290
|
+
*
|
|
291
|
+
* @remarks
|
|
292
|
+
* Contains file path, line number, and other location details for where
|
|
293
|
+
* the compound is defined in the source code. This property captures
|
|
294
|
+
* location metadata extracted from 'location' XML elements, enabling
|
|
295
|
+
* source code navigation and reference linking.
|
|
296
|
+
*/
|
|
297
|
+
location?: LocationDataModel | undefined;
|
|
298
|
+
/**
|
|
299
|
+
* Complete list of all members contained in the compound.
|
|
300
|
+
*
|
|
301
|
+
* @remarks
|
|
302
|
+
* Contains a comprehensive list of all members (methods, properties,
|
|
303
|
+
* etc.) that belong to this compound, including inherited members.
|
|
304
|
+
* This property captures member information extracted from
|
|
305
|
+
* 'listofallmembers' XML elements for complete API documentation.
|
|
306
|
+
*/
|
|
307
|
+
listOfAllMembers?: ListOfAllMembersDataModel | undefined;
|
|
308
|
+
/**
|
|
309
|
+
* Unique identifier for the compound.
|
|
310
|
+
*
|
|
311
|
+
* @remarks
|
|
312
|
+
* Contains the unique ID assigned to this compound by Doxygen for
|
|
313
|
+
* cross-referencing and linking purposes. This identifier is mandatory
|
|
314
|
+
* and serves as the primary key for compound identification throughout
|
|
315
|
+
* the documentation system.
|
|
316
|
+
*/
|
|
317
|
+
id: string;
|
|
318
|
+
/**
|
|
319
|
+
* The kind or type of compound.
|
|
320
|
+
*
|
|
321
|
+
* @remarks
|
|
322
|
+
* Specifies the compound type using DoxCompoundKind enumeration values
|
|
323
|
+
* such as 'class', 'struct', 'file', 'namespace', 'page', etc. This
|
|
324
|
+
* mandatory attribute determines how the compound should be processed
|
|
325
|
+
* and displayed in the documentation output.
|
|
326
|
+
*/
|
|
327
|
+
kind: string;
|
|
328
|
+
/**
|
|
329
|
+
* Programming language of the compound.
|
|
330
|
+
*
|
|
331
|
+
* @remarks
|
|
332
|
+
* Specifies the programming language using DoxLanguage enumeration
|
|
333
|
+
* values when the compound is language-specific. This optional attribute
|
|
334
|
+
* enables language-aware processing and appropriate syntax highlighting
|
|
335
|
+
* in the generated documentation.
|
|
336
|
+
*/
|
|
337
|
+
language?: string | undefined;
|
|
338
|
+
/**
|
|
339
|
+
* Protection level of the compound.
|
|
340
|
+
*
|
|
341
|
+
* @remarks
|
|
342
|
+
* Specifies the access protection level (public, private, protected)
|
|
343
|
+
* for the compound using DoxProtectionKind enumeration values. Note
|
|
344
|
+
* that whilst this attribute is not marked as optional in the XML
|
|
345
|
+
* schema, it may not be present in all compound definitions.
|
|
346
|
+
*/
|
|
347
|
+
prot?: string | undefined;
|
|
348
|
+
/**
|
|
349
|
+
* Indicates whether the compound is marked as final.
|
|
350
|
+
*
|
|
351
|
+
* @remarks
|
|
352
|
+
* Specifies that the compound cannot be inherited from or extended,
|
|
353
|
+
* typically used in object-oriented programming languages that support
|
|
354
|
+
* final classes or sealed types. This boolean attribute reflects the
|
|
355
|
+
* final modifier in the source code.
|
|
356
|
+
*/
|
|
357
|
+
final?: boolean | undefined;
|
|
358
|
+
/**
|
|
359
|
+
* Indicates whether the compound is inline.
|
|
360
|
+
*
|
|
361
|
+
* @remarks
|
|
362
|
+
* Specifies that the compound is defined inline, typically used for
|
|
363
|
+
* functions, methods, or other constructs that are implemented directly
|
|
364
|
+
* in header files. This boolean attribute reflects inline declarations
|
|
365
|
+
* in the source code.
|
|
366
|
+
*/
|
|
367
|
+
inline?: boolean | undefined;
|
|
368
|
+
/**
|
|
369
|
+
* Indicates whether the compound is sealed.
|
|
370
|
+
*
|
|
371
|
+
* @remarks
|
|
372
|
+
* Specifies that the compound is sealed and cannot be inherited from,
|
|
373
|
+
* similar to final but using different language-specific terminology.
|
|
374
|
+
* This boolean attribute reflects sealed modifiers found in languages
|
|
375
|
+
* like C# or other object-oriented programming environments.
|
|
376
|
+
*/
|
|
377
|
+
sealed?: boolean | undefined;
|
|
378
|
+
/**
|
|
379
|
+
* Indicates whether the compound is abstract.
|
|
380
|
+
*
|
|
381
|
+
* @remarks
|
|
382
|
+
* Specifies that the compound is abstract and cannot be instantiated
|
|
383
|
+
* directly, typically requiring concrete implementations of abstract
|
|
384
|
+
* methods or properties. This boolean attribute reflects abstract
|
|
385
|
+
* modifiers in object-oriented programming languages.
|
|
386
|
+
*/
|
|
387
|
+
abstract?: boolean | undefined;
|
|
388
|
+
/**
|
|
389
|
+
* Constructs a new compound definition data model instance.
|
|
390
|
+
*
|
|
391
|
+
* @remarks
|
|
392
|
+
* Parses the complete XML structure for compound definitions, processing
|
|
393
|
+
* all elements and attributes according to the Doxygen XML schema. This
|
|
394
|
+
* includes handling optional and mandatory elements, complex nested
|
|
395
|
+
* structures, and comprehensive attribute validation to ensure data
|
|
396
|
+
* integrity throughout the parsing process.
|
|
397
|
+
*
|
|
398
|
+
* @param xml - The XML parser instance for processing elements
|
|
399
|
+
* @param element - The XML element object to parse
|
|
400
|
+
* @param elementName - The name of the XML element being processed
|
|
401
|
+
*/
|
|
402
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Abstract base class for compound reference data models.
|
|
407
|
+
*
|
|
408
|
+
* @remarks
|
|
409
|
+
* Represents references to other compound entities in Doxygen XML output,
|
|
410
|
+
* including inheritance relationships and cross-references. This class
|
|
411
|
+
* handles the 'compoundRefType' XML schema structure with text content
|
|
412
|
+
* and attributes for protection level, virtual specification, and optional
|
|
413
|
+
* reference identifiers.
|
|
414
|
+
*
|
|
415
|
+
* @public
|
|
416
|
+
*/
|
|
417
|
+
export declare abstract class AbstractCompoundRefType extends AbstractDataModelBase {
|
|
418
|
+
/**
|
|
419
|
+
* The name or identifier text of the referenced compound.
|
|
420
|
+
*
|
|
421
|
+
* @remarks
|
|
422
|
+
* Contains the textual content extracted from the compound reference XML
|
|
423
|
+
* element, typically representing the name of the referenced class,
|
|
424
|
+
* structure, or other compound entity. This text content serves as the
|
|
425
|
+
* primary identifier for the referenced compound in inheritance
|
|
426
|
+
* relationships and cross-references.
|
|
427
|
+
*/
|
|
428
|
+
text: string;
|
|
429
|
+
/**
|
|
430
|
+
* Protection level of the compound reference.
|
|
431
|
+
*
|
|
432
|
+
* @remarks
|
|
433
|
+
* Specifies the access protection level using DoxProtectionKind
|
|
434
|
+
* enumeration values ('public', 'protected', 'private', 'package').
|
|
435
|
+
* This mandatory attribute determines the visibility and accessibility
|
|
436
|
+
* of the referenced compound in inheritance relationships.
|
|
437
|
+
*/
|
|
438
|
+
prot: string;
|
|
439
|
+
/**
|
|
440
|
+
* Virtual specification of the compound reference.
|
|
441
|
+
*
|
|
442
|
+
* @remarks
|
|
443
|
+
* Specifies the virtual nature using DoxVirtualKind enumeration values
|
|
444
|
+
* ('non-virtual', 'virtual', 'pure-virtual'). This mandatory attribute
|
|
445
|
+
* indicates whether the compound reference involves virtual inheritance
|
|
446
|
+
* or virtual methods in object-oriented programming contexts.
|
|
447
|
+
*/
|
|
448
|
+
virt: string;
|
|
449
|
+
/**
|
|
450
|
+
* Optional reference identifier for cross-linking.
|
|
451
|
+
*
|
|
452
|
+
* @remarks
|
|
453
|
+
* Contains the unique identifier that can be used to create hyperlinks
|
|
454
|
+
* or cross-references to the referenced compound's documentation. When
|
|
455
|
+
* present, this identifier enables navigation between related compound
|
|
456
|
+
* definitions in the generated documentation.
|
|
457
|
+
*/
|
|
458
|
+
refid?: string | undefined;
|
|
459
|
+
/**
|
|
460
|
+
* Constructs a new compound reference data model instance.
|
|
461
|
+
*
|
|
462
|
+
* @remarks
|
|
463
|
+
* Parses compound reference elements from Doxygen XML output, extracting
|
|
464
|
+
* the text content representing the compound name and processing attributes
|
|
465
|
+
* for protection level, virtual specification, and optional reference
|
|
466
|
+
* identifier. This provides the foundation for inheritance and
|
|
467
|
+
* cross-reference relationships in the documentation structure.
|
|
468
|
+
*
|
|
469
|
+
* @param xml - The XML parser instance for processing elements
|
|
470
|
+
* @param element - The XML element object to parse
|
|
471
|
+
* @param elementName - The name of the XML element being processed
|
|
472
|
+
*/
|
|
473
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* Abstract base class for all data model elements in the Doxygen XML layer.
|
|
478
|
+
*
|
|
479
|
+
* @remarks
|
|
480
|
+
* Provides the common interface and properties for all data model elements
|
|
481
|
+
* parsed from Doxygen XML files. All concrete data model classes should
|
|
482
|
+
* extend this base class to ensure consistent structure and behaviour.
|
|
483
|
+
*
|
|
484
|
+
* @public
|
|
485
|
+
*/
|
|
486
|
+
export declare abstract class AbstractDataModelBase {
|
|
487
|
+
/**
|
|
488
|
+
* The name of the XML element represented by this data model instance.
|
|
489
|
+
*
|
|
490
|
+
* @remarks
|
|
491
|
+
* Used to identify the XML element type for this data model object.
|
|
492
|
+
*/
|
|
493
|
+
elementName: string;
|
|
494
|
+
/**
|
|
495
|
+
* Indicates whether paragraph processing should be skipped for this element.
|
|
496
|
+
*
|
|
497
|
+
* @remarks
|
|
498
|
+
* Optional property used to control paragraph handling during documentation
|
|
499
|
+
* generation. If true, paragraph tags are not generated for this element.
|
|
500
|
+
*/
|
|
501
|
+
skipPara?: boolean;
|
|
502
|
+
/**
|
|
503
|
+
* The child elements or text nodes contained within this data model element.
|
|
504
|
+
*
|
|
505
|
+
* @remarks
|
|
506
|
+
* Contains an array of child elements or text nodes, supporting recursive
|
|
507
|
+
* data model structures for complex XML hierarchies.
|
|
508
|
+
*/
|
|
509
|
+
children?: (string | AbstractDataModelBase)[];
|
|
510
|
+
/**
|
|
511
|
+
* Constructs a new data model base instance for a given XML element name.
|
|
512
|
+
*
|
|
513
|
+
* @param elementName - The name of the XML element represented by this
|
|
514
|
+
* instance
|
|
515
|
+
*
|
|
516
|
+
* @remarks
|
|
517
|
+
* Initialises the base data model with the specified element name. All
|
|
518
|
+
* derived data model classes should call this constructor.
|
|
519
|
+
*/
|
|
520
|
+
constructor(elementName: string);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Abstract base class for Doxygen description elements containing mixed
|
|
525
|
+
* content.
|
|
526
|
+
*
|
|
527
|
+
* @remarks
|
|
528
|
+
* Implements the XML Schema definition for descriptionType elements, which
|
|
529
|
+
* support mixed content (character data between child elements). This class
|
|
530
|
+
* handles the complex structure of documentation descriptions including
|
|
531
|
+
* titles, paragraphs, internal sections, and hierarchical section elements.
|
|
532
|
+
*
|
|
533
|
+
* The implementation processes the sequence of optional title elements
|
|
534
|
+
* followed by various documentation components such as paragraphs, internal
|
|
535
|
+
* documentation, and nested section structures up to level 1.
|
|
536
|
+
*
|
|
537
|
+
* @public
|
|
538
|
+
*/
|
|
539
|
+
export declare abstract class AbstractDescriptionType extends AbstractDataModelBase {
|
|
540
|
+
/**
|
|
541
|
+
* Optional title element for the description.
|
|
542
|
+
*
|
|
543
|
+
* @remarks
|
|
544
|
+
* Contains the title text for the description section when present.
|
|
545
|
+
* According to the XML schema, only one title element is permitted
|
|
546
|
+
* per description, hence the assertion that ensures uniqueness during
|
|
547
|
+
* parsing.
|
|
548
|
+
*/
|
|
549
|
+
title?: string | undefined;
|
|
550
|
+
/**
|
|
551
|
+
* Constructs an AbstractDescriptionType instance from XML element data.
|
|
552
|
+
*
|
|
553
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
554
|
+
* @param element - The XML element object containing the description data
|
|
555
|
+
* @param elementName - The name of the XML element being processed
|
|
556
|
+
*
|
|
557
|
+
* @remarks
|
|
558
|
+
* This constructor processes mixed content descriptions by iterating through
|
|
559
|
+
* all inner elements and handling text nodes, title elements, paragraphs,
|
|
560
|
+
* internal sections, and level-1 sections. The parser maintains the
|
|
561
|
+
* original order of elements in the children array whilst extracting
|
|
562
|
+
* the title into a separate property for convenient access.
|
|
563
|
+
*/
|
|
564
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Abstract base class for image elements within documentation content.
|
|
569
|
+
*
|
|
570
|
+
* @remarks
|
|
571
|
+
* Represents image elements that can be embedded within documentation
|
|
572
|
+
* descriptions and content blocks. This implementation processes Doxygen's
|
|
573
|
+
* image elements, which support multiple output formats (HTML, LaTeX,
|
|
574
|
+
* DocBook, RTF, XML) and provide comprehensive image metadata including
|
|
575
|
+
* dimensions, captions, alternative text, and inline positioning.
|
|
576
|
+
*
|
|
577
|
+
* Image elements support mixed content with text and formatting commands,
|
|
578
|
+
* allowing for rich image descriptions and captions. The class tracks HTML
|
|
579
|
+
* images specifically for asset copying during documentation generation.
|
|
580
|
+
*
|
|
581
|
+
* @public
|
|
582
|
+
*/
|
|
583
|
+
export declare abstract class AbstractDocImageType extends AbstractDataModelBase {
|
|
584
|
+
/**
|
|
585
|
+
* Output format type for the image.
|
|
586
|
+
*
|
|
587
|
+
* @remarks
|
|
588
|
+
* Specifies the target output format for the image, such as 'html',
|
|
589
|
+
* 'latex', 'docbook', 'rtf', or 'xml'. This determines how the image
|
|
590
|
+
* should be processed and rendered in different documentation outputs.
|
|
591
|
+
*/
|
|
592
|
+
type?: string | undefined;
|
|
593
|
+
/**
|
|
594
|
+
* Name or path of the image file.
|
|
595
|
+
*
|
|
596
|
+
* @remarks
|
|
597
|
+
* Contains the filename or path to the image resource. For HTML images,
|
|
598
|
+
* this typically references files that need to be copied to the output
|
|
599
|
+
* folder during documentation generation.
|
|
600
|
+
*/
|
|
601
|
+
name?: string | undefined;
|
|
602
|
+
/**
|
|
603
|
+
* Width specification for the image.
|
|
604
|
+
*
|
|
605
|
+
* @remarks
|
|
606
|
+
* Specifies the desired width for the image rendering. The format and
|
|
607
|
+
* units depend on the target output format and may include CSS-style
|
|
608
|
+
* dimensions or format-specific measurements.
|
|
609
|
+
*/
|
|
610
|
+
width?: string | undefined;
|
|
611
|
+
/**
|
|
612
|
+
* Height specification for the image.
|
|
613
|
+
*
|
|
614
|
+
* @remarks
|
|
615
|
+
* Specifies the desired height for the image rendering. The format and
|
|
616
|
+
* units depend on the target output format and may include CSS-style
|
|
617
|
+
* dimensions or format-specific measurements.
|
|
618
|
+
*/
|
|
619
|
+
height?: string | undefined;
|
|
620
|
+
/**
|
|
621
|
+
* Alternative text for accessibility and fallback purposes.
|
|
622
|
+
*
|
|
623
|
+
* @remarks
|
|
624
|
+
* Provides descriptive text for the image that can be used by screen
|
|
625
|
+
* readers and displayed when the image cannot be loaded. This supports
|
|
626
|
+
* accessibility requirements and fallback presentation.
|
|
627
|
+
*/
|
|
628
|
+
alt?: string | undefined;
|
|
629
|
+
/**
|
|
630
|
+
* Inline positioning flag for the image.
|
|
631
|
+
*
|
|
632
|
+
* @remarks
|
|
633
|
+
* Determines whether the image should be rendered inline with text
|
|
634
|
+
* content or as a block-level element. Inline images flow with text
|
|
635
|
+
* whilst block images create separate content sections.
|
|
636
|
+
*/
|
|
637
|
+
inline?: boolean | undefined;
|
|
638
|
+
/**
|
|
639
|
+
* Caption text for the image.
|
|
640
|
+
*
|
|
641
|
+
* @remarks
|
|
642
|
+
* Provides descriptive caption text that accompanies the image display.
|
|
643
|
+
* Captions typically appear below or adjacent to the image and provide
|
|
644
|
+
* additional context or explanation for the visual content.
|
|
645
|
+
*/
|
|
646
|
+
caption?: string | undefined;
|
|
647
|
+
/**
|
|
648
|
+
* Constructs an AbstractDocImageType instance from XML element data.
|
|
649
|
+
*
|
|
650
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
651
|
+
* @param element - The XML element object containing the image data
|
|
652
|
+
* @param elementName - The name of the XML element being processed
|
|
653
|
+
*
|
|
654
|
+
* @remarks
|
|
655
|
+
* This constructor processes image elements by extracting all optional
|
|
656
|
+
* attributes including type, name, dimensions, alternative text, inline
|
|
657
|
+
* positioning, and caption information. For HTML images with local file
|
|
658
|
+
* references, the image is registered with the parser for asset tracking
|
|
659
|
+
* during documentation generation.
|
|
660
|
+
*
|
|
661
|
+
* The implementation also processes any mixed content within the image
|
|
662
|
+
* element, including text and formatting commands that may be part of
|
|
663
|
+
* the image description or caption.
|
|
664
|
+
*/
|
|
665
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Abstract base class for Doxygen file option type data models.
|
|
670
|
+
*
|
|
671
|
+
* @remarks
|
|
672
|
+
* Represents configuration option elements within Doxyfile XML structures,
|
|
673
|
+
* corresponding to the OptionType complex type in the XML schema. This
|
|
674
|
+
* class handles the parsing of option values and mandatory attributes
|
|
675
|
+
* (id, default, and type). All concrete option data model classes should
|
|
676
|
+
* extend this abstract base to ensure consistent parsing and data
|
|
677
|
+
* representation of Doxygen configuration settings.
|
|
678
|
+
*
|
|
679
|
+
* @public
|
|
680
|
+
*/
|
|
681
|
+
export declare abstract class AbstractDoxygenFileOptionType extends AbstractDataModelBase {
|
|
682
|
+
/**
|
|
683
|
+
* Collection of value strings associated with this configuration option.
|
|
684
|
+
*
|
|
685
|
+
* @remarks
|
|
686
|
+
* Optional array containing value elements found within the option
|
|
687
|
+
* structure. Each value represents a specific setting or parameter
|
|
688
|
+
* for the configuration option. The array supports zero to many values
|
|
689
|
+
* as per the XML schema, allowing for both single and multi-value
|
|
690
|
+
* configuration settings.
|
|
691
|
+
*/
|
|
692
|
+
values: string[] | undefined;
|
|
693
|
+
/**
|
|
694
|
+
* The unique identifier for this configuration option.
|
|
695
|
+
*
|
|
696
|
+
* @remarks
|
|
697
|
+
* Mandatory attribute that specifies the name or identifier of the
|
|
698
|
+
* Doxygen configuration option. This corresponds to the actual
|
|
699
|
+
* configuration parameter name used in Doxygen configuration files
|
|
700
|
+
* and determines the specific setting being configured.
|
|
701
|
+
*/
|
|
702
|
+
id: string;
|
|
703
|
+
/**
|
|
704
|
+
* The default value indicator for this configuration option.
|
|
705
|
+
*
|
|
706
|
+
* @remarks
|
|
707
|
+
* Mandatory attribute that indicates whether this option is set to
|
|
708
|
+
* its default value. Corresponds to the defaultType enumeration in
|
|
709
|
+
* the XML schema, typically having values of 'yes' or 'no'.
|
|
710
|
+
*/
|
|
711
|
+
default: string;
|
|
712
|
+
/**
|
|
713
|
+
* The data type classification for this configuration option.
|
|
714
|
+
*
|
|
715
|
+
* @remarks
|
|
716
|
+
* Mandatory attribute that specifies the expected data type for the
|
|
717
|
+
* option's values. Corresponds to the typeType enumeration in the
|
|
718
|
+
* XML schema, indicating whether the option expects integer, boolean,
|
|
719
|
+
* string, or string list values.
|
|
720
|
+
*/
|
|
721
|
+
type: string;
|
|
722
|
+
/**
|
|
723
|
+
* Constructs a new AbstractDoxygenFileOptionType instance from XML data.
|
|
724
|
+
*
|
|
725
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
726
|
+
* @param element - The XML element containing the option data
|
|
727
|
+
* @param elementName - The name of the XML element being processed
|
|
728
|
+
*
|
|
729
|
+
* @remarks
|
|
730
|
+
* Parses the provided XML element to extract configuration option
|
|
731
|
+
* information including value collections and mandatory attributes
|
|
732
|
+
* (id, default, and type). The constructor validates that all required
|
|
733
|
+
* attributes are present and processes value elements into a string
|
|
734
|
+
* array when present. The parsing ensures compliance with the OptionType
|
|
735
|
+
* schema definition.
|
|
736
|
+
*/
|
|
737
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Abstract base class for Doxygen file type data models.
|
|
742
|
+
*
|
|
743
|
+
* @remarks
|
|
744
|
+
* Represents the structure of Doxyfile XML configurations, corresponding
|
|
745
|
+
* to the DoxygenFileType complex type in the XML schema. This class handles
|
|
746
|
+
* the parsing of Doxygen configuration options and mandatory attributes
|
|
747
|
+
* (version and language). All concrete Doxyfile data model classes should
|
|
748
|
+
* extend this abstract base to ensure consistent parsing and data
|
|
749
|
+
* representation of configuration settings.
|
|
750
|
+
*
|
|
751
|
+
* @public
|
|
752
|
+
*/
|
|
753
|
+
export declare abstract class AbstractDoxygenFileType extends AbstractDataModelBase {
|
|
754
|
+
/**
|
|
755
|
+
* The version of the Doxygen tool that generated the configuration.
|
|
756
|
+
*
|
|
757
|
+
* @remarks
|
|
758
|
+
* Mandatory attribute extracted from the XML structure that identifies
|
|
759
|
+
* the version of Doxygen used to generate the configuration file. This
|
|
760
|
+
* information is essential for compatibility and configuration parsing
|
|
761
|
+
* decisions.
|
|
762
|
+
*/
|
|
763
|
+
version: string;
|
|
764
|
+
/**
|
|
765
|
+
* The language specification for the documentation configuration.
|
|
766
|
+
*
|
|
767
|
+
* @remarks
|
|
768
|
+
* Mandatory attribute corresponding to the xml:lang attribute in the
|
|
769
|
+
* XML structure. Specifies the primary language used in the configuration
|
|
770
|
+
* and documentation generation process for internationalisation purposes.
|
|
771
|
+
*/
|
|
772
|
+
lang: string;
|
|
773
|
+
/**
|
|
774
|
+
* Collection of configuration option data models.
|
|
775
|
+
*
|
|
776
|
+
* @remarks
|
|
777
|
+
* Optional array containing option elements found within the Doxyfile
|
|
778
|
+
* structure. Each option represents a specific configuration setting
|
|
779
|
+
* that controls the behaviour of Doxygen during documentation generation.
|
|
780
|
+
* The array supports zero to many options as per the XML schema.
|
|
781
|
+
*/
|
|
782
|
+
options?: DoxygenFileOptionDataModel[] | undefined;
|
|
783
|
+
/**
|
|
784
|
+
* The XML schema location reference for validation.
|
|
785
|
+
*
|
|
786
|
+
* @remarks
|
|
787
|
+
* Optional attribute that specifies the location of the XML schema
|
|
788
|
+
* definition used for validating the structure of the Doxyfile XML.
|
|
789
|
+
* This provides schema validation capabilities for the parsed
|
|
790
|
+
* configuration content.
|
|
791
|
+
*/
|
|
792
|
+
noNamespaceSchemaLocation?: string | undefined;
|
|
793
|
+
/**
|
|
794
|
+
* Constructs a new AbstractDoxygenFileType instance from XML data.
|
|
795
|
+
*
|
|
796
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
797
|
+
* @param element - The XML element containing the Doxyfile data
|
|
798
|
+
* @param elementName - The name of the XML element being processed
|
|
799
|
+
*
|
|
800
|
+
* @remarks
|
|
801
|
+
* Parses the provided XML element to extract Doxyfile configuration
|
|
802
|
+
* information including option collections and mandatory attributes
|
|
803
|
+
* (version and language). The constructor validates that all required
|
|
804
|
+
* attributes are present and processes option elements into the
|
|
805
|
+
* appropriate data models. Optional schema location attributes are
|
|
806
|
+
* also extracted when present.
|
|
807
|
+
*/
|
|
808
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* Abstract base class for enumeration value data models.
|
|
813
|
+
*
|
|
814
|
+
* @remarks
|
|
815
|
+
* Represents individual values within enumeration types as parsed from
|
|
816
|
+
* Doxygen XML. Contains the value name, optional initialiser expression,
|
|
817
|
+
* and documentation descriptions with protection level information.
|
|
818
|
+
*
|
|
819
|
+
* @public
|
|
820
|
+
*/
|
|
821
|
+
export declare abstract class AbstractEnumValueType extends AbstractDataModelBase {
|
|
822
|
+
/**
|
|
823
|
+
* The name of the enumeration value.
|
|
824
|
+
*
|
|
825
|
+
* @remarks
|
|
826
|
+
* Simple identifier for the enumeration constant as it appears
|
|
827
|
+
* in the source code.
|
|
828
|
+
*/
|
|
829
|
+
name: string;
|
|
830
|
+
/**
|
|
831
|
+
* Optional initialiser expression for the enumeration value.
|
|
832
|
+
*
|
|
833
|
+
* @remarks
|
|
834
|
+
* Contains the explicit value assignment expression when the
|
|
835
|
+
* enumeration value is explicitly initialised in the source code.
|
|
836
|
+
*/
|
|
837
|
+
initializer?: InitializerDataModel | undefined;
|
|
838
|
+
/**
|
|
839
|
+
* Brief description of the enumeration value.
|
|
840
|
+
*
|
|
841
|
+
* @remarks
|
|
842
|
+
* Short documentation comment providing a concise explanation
|
|
843
|
+
* of the enumeration value's purpose or meaning.
|
|
844
|
+
*/
|
|
845
|
+
briefDescription?: BriefDescriptionDataModel | undefined;
|
|
846
|
+
/**
|
|
847
|
+
* Detailed description of the enumeration value.
|
|
848
|
+
*
|
|
849
|
+
* @remarks
|
|
850
|
+
* Comprehensive documentation comment providing full details
|
|
851
|
+
* about the enumeration value's purpose, usage, and behaviour.
|
|
852
|
+
*/
|
|
853
|
+
detailedDescription?: DetailedDescriptionDataModel | undefined;
|
|
854
|
+
/**
|
|
855
|
+
* Unique identifier for the enumeration value.
|
|
856
|
+
*
|
|
857
|
+
* @remarks
|
|
858
|
+
* Doxygen-generated identifier used for cross-referencing
|
|
859
|
+
* and creating links to this enumeration value.
|
|
860
|
+
*/
|
|
861
|
+
id: string;
|
|
862
|
+
/**
|
|
863
|
+
* Protection level of the enumeration value.
|
|
864
|
+
*
|
|
865
|
+
* @remarks
|
|
866
|
+
* Indicates the visibility scope such as 'public', 'private',
|
|
867
|
+
* or 'protected' based on Doxygen's protection kind enumeration.
|
|
868
|
+
*/
|
|
869
|
+
prot: string;
|
|
870
|
+
/**
|
|
871
|
+
* Creates a new enumeration value data model.
|
|
872
|
+
*
|
|
873
|
+
* @remarks
|
|
874
|
+
* Parses the XML element representing an enumeration value and
|
|
875
|
+
* extracts all relevant information including name, initialiser,
|
|
876
|
+
* descriptions, and attributes.
|
|
877
|
+
*
|
|
878
|
+
* @param xml - The XML parser instance
|
|
879
|
+
* @param element - The XML element to parse
|
|
880
|
+
* @param elementName - The name of the XML element
|
|
881
|
+
*/
|
|
882
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
/**
|
|
886
|
+
* Abstract base class for syntax highlighting elements within code listings.
|
|
887
|
+
*
|
|
888
|
+
* @remarks
|
|
889
|
+
* Implements the XML Schema definition for highlightType elements, which
|
|
890
|
+
* provide syntax highlighting information for portions of source code.
|
|
891
|
+
* Each highlight element contains a mandatory class attribute that specifies
|
|
892
|
+
* the type of syntax element (keyword, comment, etc.) and may contain
|
|
893
|
+
* mixed content including text, spacing elements, and cross-references.
|
|
894
|
+
*
|
|
895
|
+
* The implementation supports the full range of Doxygen highlight classes
|
|
896
|
+
* including standard programming language constructs and specialised
|
|
897
|
+
* VHDL categories for hardware description language documentation.
|
|
898
|
+
*
|
|
899
|
+
* @public
|
|
900
|
+
*/
|
|
901
|
+
export declare abstract class AbstractHighlightType extends AbstractDataModelBase {
|
|
902
|
+
/**
|
|
903
|
+
* Mandatory highlight classification attribute.
|
|
904
|
+
*
|
|
905
|
+
* @remarks
|
|
906
|
+
* Specifies the syntax highlighting class for this element, determining
|
|
907
|
+
* how the contained text should be styled in the generated documentation.
|
|
908
|
+
* The value must be one of the predefined DoxHighlightClass enumeration
|
|
909
|
+
* values such as 'keyword', 'comment', or 'stringliteral'.
|
|
910
|
+
*/
|
|
911
|
+
classs: string;
|
|
912
|
+
/**
|
|
913
|
+
* Constructs an AbstractHighlightType instance from XML element data.
|
|
914
|
+
*
|
|
915
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
916
|
+
* @param element - The XML element object containing the highlight data
|
|
917
|
+
* @param elementName - The name of the XML element being processed
|
|
918
|
+
*
|
|
919
|
+
* @remarks
|
|
920
|
+
* This constructor processes highlight elements by extracting the mandatory
|
|
921
|
+
* class attribute and any mixed content including text nodes, spacing
|
|
922
|
+
* elements, and cross-reference elements. The parser maintains the original
|
|
923
|
+
* order of content elements in the children array to preserve the intended
|
|
924
|
+
* layout and formatting of the highlighted code segment.
|
|
925
|
+
*/
|
|
926
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
/**
|
|
930
|
+
* Abstract base class for include-type elements within documentation.
|
|
931
|
+
*
|
|
932
|
+
* @remarks
|
|
933
|
+
* Implements processing for include-type elements that represent file inclusion
|
|
934
|
+
* relationships within source code documentation. This class handles the XML
|
|
935
|
+
* Schema definition for incType elements, which contain textual content
|
|
936
|
+
* representing file paths or names along with attributes that specify inclusion
|
|
937
|
+
* behaviour and reference relationships.
|
|
938
|
+
*
|
|
939
|
+
* The implementation processes both local and system includes, distinguishing
|
|
940
|
+
* between quoted includes ("filename") and angle-bracket includes (<filename>)
|
|
941
|
+
* through the local attribute. Optional reference identifiers enable
|
|
942
|
+
* cross-referencing to the included file's documentation.
|
|
943
|
+
*
|
|
944
|
+
* @public
|
|
945
|
+
*/
|
|
946
|
+
export declare abstract class AbstractIncType extends AbstractDataModelBase {
|
|
947
|
+
/**
|
|
948
|
+
* The textual content representing the file path or name being included.
|
|
949
|
+
*
|
|
950
|
+
* @remarks
|
|
951
|
+
* Contains the file path or filename as specified in the include directive.
|
|
952
|
+
* This text content represents the actual filename that appears within
|
|
953
|
+
* the include statement in the source code, providing the reference to
|
|
954
|
+
* the included file within the documentation structure.
|
|
955
|
+
*/
|
|
956
|
+
text: string;
|
|
957
|
+
/**
|
|
958
|
+
* Indicates whether the include uses local or system include syntax.
|
|
959
|
+
*
|
|
960
|
+
* @remarks
|
|
961
|
+
* Determines the include syntax style: when true, indicates a local include
|
|
962
|
+
* using quotation marks ("filename"), when false, indicates a system include
|
|
963
|
+
* using angle brackets (<filename>). This distinction affects how the
|
|
964
|
+
* preprocessor searches for the included file.
|
|
965
|
+
*/
|
|
966
|
+
local: boolean;
|
|
967
|
+
/**
|
|
968
|
+
* Optional reference identifier for cross-linking to the included file.
|
|
969
|
+
*
|
|
970
|
+
* @remarks
|
|
971
|
+
* Contains the reference identifier that links to the documentation of
|
|
972
|
+
* the included file. This enables navigation from include statements to
|
|
973
|
+
* the actual file documentation within the generated documentation system.
|
|
974
|
+
*/
|
|
975
|
+
refId?: string | undefined;
|
|
976
|
+
/**
|
|
977
|
+
* Constructs an AbstractIncType instance from XML element data.
|
|
978
|
+
*
|
|
979
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
980
|
+
* @param element - The XML element object containing the include data
|
|
981
|
+
* @param elementName - The name of the XML element being processed
|
|
982
|
+
*
|
|
983
|
+
* @remarks
|
|
984
|
+
* This constructor processes include-type elements by extracting the
|
|
985
|
+
* textual content representing the filename and processing attributes
|
|
986
|
+
* that specify inclusion behaviour. The parser validates the presence
|
|
987
|
+
* of required content and attributes whilst maintaining compliance with
|
|
988
|
+
* the XML Schema definition for include elements.
|
|
989
|
+
*
|
|
990
|
+
* The implementation distinguishes between local and system includes
|
|
991
|
+
* through the local attribute and optionally associates reference
|
|
992
|
+
* identifiers for cross-linking to included file documentation.
|
|
993
|
+
*/
|
|
994
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Abstract base class for index compound type data models.
|
|
999
|
+
*
|
|
1000
|
+
* @remarks
|
|
1001
|
+
* Represents compound elements found within Doxygen index XML structures,
|
|
1002
|
+
* corresponding to the CompoundType complex type in the XML schema. This
|
|
1003
|
+
* class handles the parsing of compound names, member collections, and
|
|
1004
|
+
* mandatory attributes (refid and kind). All concrete compound data model
|
|
1005
|
+
* classes should extend this abstract base to ensure consistent parsing
|
|
1006
|
+
* and data representation.
|
|
1007
|
+
*
|
|
1008
|
+
* @public
|
|
1009
|
+
*/
|
|
1010
|
+
export declare abstract class AbstractIndexCompoundType extends AbstractDataModelBase {
|
|
1011
|
+
/**
|
|
1012
|
+
* The name of the compound element.
|
|
1013
|
+
*
|
|
1014
|
+
* @remarks
|
|
1015
|
+
* Extracted from the mandatory 'name' element within the compound XML
|
|
1016
|
+
* structure. Represents the identifier or name of the documented compound
|
|
1017
|
+
* such as a class name, namespace, or filename.
|
|
1018
|
+
*/
|
|
1019
|
+
name: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* Collection of member data models associated with this compound.
|
|
1022
|
+
*
|
|
1023
|
+
* @remarks
|
|
1024
|
+
* Optional array containing member elements found within the compound
|
|
1025
|
+
* structure. Each member represents a documented entity that belongs
|
|
1026
|
+
* to this compound, such as functions, variables, or other nested
|
|
1027
|
+
* constructs. The array supports zero to many members as per the XML schema.
|
|
1028
|
+
*/
|
|
1029
|
+
members: IndexMemberDataModel[] | undefined;
|
|
1030
|
+
/**
|
|
1031
|
+
* The unique reference identifier for this compound.
|
|
1032
|
+
*
|
|
1033
|
+
* @remarks
|
|
1034
|
+
* Mandatory attribute that provides a unique identifier for referencing
|
|
1035
|
+
* this compound within the Doxygen documentation structure. Used to link
|
|
1036
|
+
* index entries to their detailed definitions in separate XML files.
|
|
1037
|
+
*/
|
|
1038
|
+
refid: string;
|
|
1039
|
+
/**
|
|
1040
|
+
* The kind classification of this compound.
|
|
1041
|
+
*
|
|
1042
|
+
* @remarks
|
|
1043
|
+
* Mandatory attribute specifying the type of compound (e.g., class, struct,
|
|
1044
|
+
* namespace, file). Corresponds to the CompoundKind enumeration in the
|
|
1045
|
+
* XML schema, determining how the compound should be processed and presented.
|
|
1046
|
+
*/
|
|
1047
|
+
kind: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Constructs a new AbstractIndexCompoundType instance from XML data.
|
|
1050
|
+
*
|
|
1051
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
1052
|
+
* @param element - The XML element containing the compound data
|
|
1053
|
+
* @param elementName - The name of the XML element being processed
|
|
1054
|
+
*
|
|
1055
|
+
* @remarks
|
|
1056
|
+
* Parses the provided XML element to extract compound information including
|
|
1057
|
+
* the name element, member collections, and mandatory attributes (refid and
|
|
1058
|
+
* kind). The constructor validates that all required data is present and
|
|
1059
|
+
* properly formatted according to the XML schema specifications. Member
|
|
1060
|
+
* elements are processed into IndexMemberDataModel instances when present.
|
|
1061
|
+
*/
|
|
1062
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* Abstract base class for Doxygen index type data models.
|
|
1067
|
+
*
|
|
1068
|
+
* @remarks
|
|
1069
|
+
* Represents the top-level structure of Doxygen index XML files, corresponding
|
|
1070
|
+
* to the DoxygenType complex type in the XML schema. This class handles the
|
|
1071
|
+
* parsing of version and language attributes, along with compound element
|
|
1072
|
+
* collections. Note that this definition may clash with similar types in
|
|
1073
|
+
* compound.xsd, requiring careful namespace management.
|
|
1074
|
+
*
|
|
1075
|
+
* @public
|
|
1076
|
+
*/
|
|
1077
|
+
export declare abstract class AbstractIndexDoxygenType extends AbstractDataModelBase {
|
|
1078
|
+
/**
|
|
1079
|
+
* The version of the Doxygen tool that generated the XML.
|
|
1080
|
+
*
|
|
1081
|
+
* @remarks
|
|
1082
|
+
* Mandatory attribute extracted from the XML structure that identifies
|
|
1083
|
+
* the version of Doxygen used to generate the documentation. This
|
|
1084
|
+
* information is crucial for compatibility and parsing decisions.
|
|
1085
|
+
*/
|
|
1086
|
+
version: string;
|
|
1087
|
+
/**
|
|
1088
|
+
* The language specification for the documentation content.
|
|
1089
|
+
*
|
|
1090
|
+
* @remarks
|
|
1091
|
+
* Mandatory attribute corresponding to the xml:lang attribute in the
|
|
1092
|
+
* XML structure. Specifies the primary language used in the documented
|
|
1093
|
+
* content for internationalisation purposes.
|
|
1094
|
+
*/
|
|
1095
|
+
lang: string;
|
|
1096
|
+
/**
|
|
1097
|
+
* Collection of compound data models referenced in the index.
|
|
1098
|
+
*
|
|
1099
|
+
* @remarks
|
|
1100
|
+
* Optional array containing compound elements found within the index
|
|
1101
|
+
* structure. Each compound represents a documented entity such as
|
|
1102
|
+
* classes, namespaces, or files that are catalogued in the index.
|
|
1103
|
+
*/
|
|
1104
|
+
compounds?: IndexCompoundDataModel[] | undefined;
|
|
1105
|
+
/**
|
|
1106
|
+
* The XML schema location reference for validation.
|
|
1107
|
+
*
|
|
1108
|
+
* @remarks
|
|
1109
|
+
* Optional attribute that specifies the location of the XML schema
|
|
1110
|
+
* definition used for validating the structure of the index XML file.
|
|
1111
|
+
* This provides schema validation capabilities for the parsed content.
|
|
1112
|
+
*/
|
|
1113
|
+
noNamespaceSchemaLocation?: string | undefined;
|
|
1114
|
+
/**
|
|
1115
|
+
* Constructs a new AbstractIndexDoxygenType instance from XML data.
|
|
1116
|
+
*
|
|
1117
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
1118
|
+
* @param element - The XML element containing the Doxygen index data
|
|
1119
|
+
* @param elementName - The name of the XML element being processed
|
|
1120
|
+
*
|
|
1121
|
+
* @remarks
|
|
1122
|
+
* Parses the provided XML element to extract Doxygen index information
|
|
1123
|
+
* including compound collections and mandatory attributes (version and
|
|
1124
|
+
* language). The constructor validates that all required attributes are
|
|
1125
|
+
* present and processes compound elements into the appropriate data models.
|
|
1126
|
+
* Optional schema location attributes are also extracted when present.
|
|
1127
|
+
*/
|
|
1128
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
/**
|
|
1132
|
+
* Abstract base class for index member type data models.
|
|
1133
|
+
*
|
|
1134
|
+
* @remarks
|
|
1135
|
+
* Represents member elements found within Doxygen index XML structures,
|
|
1136
|
+
* corresponding to the MemberType complex type in the XML schema. This
|
|
1137
|
+
* class handles the parsing of member names, reference identifiers, and
|
|
1138
|
+
* member kinds from the XML structure. All concrete member data model
|
|
1139
|
+
* classes should extend this abstract base to ensure consistent parsing
|
|
1140
|
+
* and data representation.
|
|
1141
|
+
*
|
|
1142
|
+
* @public
|
|
1143
|
+
*/
|
|
1144
|
+
export declare abstract class AbstractIndexMemberType extends AbstractDataModelBase {
|
|
1145
|
+
/**
|
|
1146
|
+
* The name of the member element.
|
|
1147
|
+
*
|
|
1148
|
+
* @remarks
|
|
1149
|
+
* Extracted from the mandatory 'name' element within the member XML
|
|
1150
|
+
* structure. Represents the identifier or name of the documented member.
|
|
1151
|
+
*/
|
|
1152
|
+
name: string;
|
|
1153
|
+
/**
|
|
1154
|
+
* The reference identifier for the member.
|
|
1155
|
+
*
|
|
1156
|
+
* @remarks
|
|
1157
|
+
* Mandatory attribute that provides a unique identifier for referencing
|
|
1158
|
+
* this member within the Doxygen documentation structure. Used to link
|
|
1159
|
+
* index entries to their detailed definitions.
|
|
1160
|
+
*/
|
|
1161
|
+
refid: string;
|
|
1162
|
+
/**
|
|
1163
|
+
* The kind classification of the member.
|
|
1164
|
+
*
|
|
1165
|
+
* @remarks
|
|
1166
|
+
* Mandatory attribute specifying the type of member (e.g., function,
|
|
1167
|
+
* variable, typedef). Corresponds to the MemberKind enumeration in the
|
|
1168
|
+
* XML schema.
|
|
1169
|
+
*/
|
|
1170
|
+
kind: string;
|
|
1171
|
+
/**
|
|
1172
|
+
* Constructs a new AbstractIndexMemberType instance from XML data.
|
|
1173
|
+
*
|
|
1174
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
1175
|
+
* @param element - The XML element containing the member data
|
|
1176
|
+
* @param elementName - The name of the XML element being processed
|
|
1177
|
+
*
|
|
1178
|
+
* @remarks
|
|
1179
|
+
* Parses the provided XML element to extract member information including
|
|
1180
|
+
* the name element and mandatory attributes (refid and kind). The constructor
|
|
1181
|
+
* validates that all required data is present and properly formatted
|
|
1182
|
+
* according to the XML schema specifications.
|
|
1183
|
+
*/
|
|
1184
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
/**
|
|
1188
|
+
* Abstract base class for linked text elements within documentation content.
|
|
1189
|
+
*
|
|
1190
|
+
* @remarks
|
|
1191
|
+
* Implements processing for linked text elements that contain mixed content
|
|
1192
|
+
* including both textual content and reference elements. This class handles
|
|
1193
|
+
* the XML Schema definition for linkedTextType elements, which support
|
|
1194
|
+
* character data interspersed with reference elements that provide
|
|
1195
|
+
* cross-linking capabilities within documentation structures.
|
|
1196
|
+
*
|
|
1197
|
+
* The implementation processes sequences of text strings and RefTextDataModel
|
|
1198
|
+
* instances, maintaining their original order to preserve the intended
|
|
1199
|
+
* content flow whilst enabling interactive cross-references within the
|
|
1200
|
+
* generated documentation.
|
|
1201
|
+
*
|
|
1202
|
+
* @public
|
|
1203
|
+
*/
|
|
1204
|
+
export declare abstract class AbstractLinkedTextType extends AbstractDataModelBase {
|
|
1205
|
+
/**
|
|
1206
|
+
* Constructs an AbstractLinkedTextType instance from XML element data.
|
|
1207
|
+
*
|
|
1208
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
1209
|
+
* @param element - The XML element object containing the linked text data
|
|
1210
|
+
* @param elementName - The name of the XML element being processed
|
|
1211
|
+
*
|
|
1212
|
+
* @remarks
|
|
1213
|
+
* This constructor processes linked text elements by extracting both
|
|
1214
|
+
* textual content and reference elements in their original order. The
|
|
1215
|
+
* parser maintains the mixed content structure whilst creating appropriate
|
|
1216
|
+
* RefTextDataModel instances for cross-reference elements, ensuring
|
|
1217
|
+
* proper content flow and interactive linking capabilities within the
|
|
1218
|
+
* documentation system.
|
|
1219
|
+
*/
|
|
1220
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* Abstract base class for processing listing-type XML elements with parsing
|
|
1225
|
+
* logic.
|
|
1226
|
+
*
|
|
1227
|
+
* @remarks
|
|
1228
|
+
* Extends the base listing properties with comprehensive XML parsing
|
|
1229
|
+
* capabilities. This class handles the extraction of code lines and
|
|
1230
|
+
* filename attributes from Doxygen XML structures, providing the
|
|
1231
|
+
* foundation for program listings and similar code-containing elements.
|
|
1232
|
+
*
|
|
1233
|
+
* The parser processes codeline elements whilst ignoring textual content
|
|
1234
|
+
* that may appear between structured elements, maintaining compatibility
|
|
1235
|
+
* with the mixed-content nature of XML listings.
|
|
1236
|
+
*
|
|
1237
|
+
* @public
|
|
1238
|
+
*/
|
|
1239
|
+
export declare abstract class AbstractListingType extends AbstractListingTypeBase {
|
|
1240
|
+
/**
|
|
1241
|
+
* Constructs an AbstractListingType instance from XML element data.
|
|
1242
|
+
*
|
|
1243
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
1244
|
+
* @param element - The XML element object containing the listing data
|
|
1245
|
+
* @param elementName - The name of the XML element being processed
|
|
1246
|
+
*
|
|
1247
|
+
* @remarks
|
|
1248
|
+
* This constructor processes listing elements by extracting codeline
|
|
1249
|
+
* children and filename attributes. Text content between elements is
|
|
1250
|
+
* deliberately ignored to accommodate the mixed-content model of XML
|
|
1251
|
+
* listings, focusing on the structured code line elements that contain
|
|
1252
|
+
* the meaningful programming content.
|
|
1253
|
+
*/
|
|
1254
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
/**
|
|
1258
|
+
* Abstract base class providing properties for listing-type XML elements.
|
|
1259
|
+
*
|
|
1260
|
+
* @remarks
|
|
1261
|
+
* Defines the common structure for elements that contain code listings
|
|
1262
|
+
* with optional filename attributes. This base class establishes the
|
|
1263
|
+
* foundation for both full listing implementations and filtered subsets
|
|
1264
|
+
* of code lines.
|
|
1265
|
+
*
|
|
1266
|
+
* @public
|
|
1267
|
+
*/
|
|
1268
|
+
export declare abstract class AbstractListingTypeBase extends AbstractDataModelBase {
|
|
1269
|
+
/**
|
|
1270
|
+
* Array of code line elements within the listing.
|
|
1271
|
+
*
|
|
1272
|
+
* @remarks
|
|
1273
|
+
* Contains the individual code lines that comprise the listing content.
|
|
1274
|
+
* Each code line may include syntax highlighting information, line
|
|
1275
|
+
* numbers, and cross-reference data depending on the source
|
|
1276
|
+
* documentation configuration.
|
|
1277
|
+
*/
|
|
1278
|
+
codelines?: CodeLineDataModel[] | undefined;
|
|
1279
|
+
/**
|
|
1280
|
+
* Optional filename attribute for the listing source.
|
|
1281
|
+
*
|
|
1282
|
+
* @remarks
|
|
1283
|
+
* Specifies the original filename of the source code when the listing
|
|
1284
|
+
* represents content from a specific file. This attribute assists in
|
|
1285
|
+
* providing context and navigation capabilities within the generated
|
|
1286
|
+
* documentation.
|
|
1287
|
+
*/
|
|
1288
|
+
filename?: string | undefined;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
/**
|
|
1292
|
+
* Abstract base class for list-of-all-members elements within documentation.
|
|
1293
|
+
*
|
|
1294
|
+
* @remarks
|
|
1295
|
+
* Implements processing for list-of-all-members elements that contain
|
|
1296
|
+
* comprehensive member reference collections within class and compound
|
|
1297
|
+
* documentation. This class handles the XML Schema definition for
|
|
1298
|
+
* listofallmembersType elements, which provide complete inventories of
|
|
1299
|
+
* all members (including inherited members) associated with classes,
|
|
1300
|
+
* structures, and other compound types.
|
|
1301
|
+
*
|
|
1302
|
+
* The implementation processes sequences of member reference elements,
|
|
1303
|
+
* creating MemberRefDataModel instances to maintain detailed information
|
|
1304
|
+
* about each member's identity, scope, and accessibility within the
|
|
1305
|
+
* compound's complete member hierarchy.
|
|
1306
|
+
*
|
|
1307
|
+
* @public
|
|
1308
|
+
*/
|
|
1309
|
+
export declare abstract class AbstractListOfAllMembersType extends AbstractDataModelBase {
|
|
1310
|
+
/**
|
|
1311
|
+
* Collection of member reference elements within the list-of-all-members.
|
|
1312
|
+
*
|
|
1313
|
+
* @remarks
|
|
1314
|
+
* Contains processed member reference data models representing all members
|
|
1315
|
+
* associated with the compound, including both directly declared and
|
|
1316
|
+
* inherited members. Each reference provides comprehensive identification
|
|
1317
|
+
* and scope information for the corresponding member element.
|
|
1318
|
+
*
|
|
1319
|
+
* @public
|
|
1320
|
+
*/
|
|
1321
|
+
memberRefs?: MemberRefDataModel[] | undefined;
|
|
1322
|
+
/**
|
|
1323
|
+
* Constructs a new list-of-all-members data model instance.
|
|
1324
|
+
*
|
|
1325
|
+
* @param xml - The XML parser instance for processing elements
|
|
1326
|
+
* @param element - The source XML element containing list-of-all-members data
|
|
1327
|
+
* @param elementName - The name of the XML element being processed
|
|
1328
|
+
*
|
|
1329
|
+
* @remarks
|
|
1330
|
+
* Processes the XML element to extract and organise member reference
|
|
1331
|
+
* information, creating appropriate data model instances for each
|
|
1332
|
+
* member entry found within the comprehensive member listing.
|
|
1333
|
+
* The constructor validates the element structure and ensures
|
|
1334
|
+
* all member references are properly instantiated.
|
|
1335
|
+
*
|
|
1336
|
+
* @public
|
|
1337
|
+
*/
|
|
1338
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
/**
|
|
1342
|
+
* Abstract base class for location information data models.
|
|
1343
|
+
*
|
|
1344
|
+
* @remarks
|
|
1345
|
+
* Represents comprehensive source code location information as parsed from
|
|
1346
|
+
* Doxygen XML elements, including file paths, line numbers, and column
|
|
1347
|
+
* positions for both declarations and implementations. This class provides
|
|
1348
|
+
* the foundation for tracking source location references within the
|
|
1349
|
+
* documentation system, enabling precise navigation between documentation
|
|
1350
|
+
* and source code.
|
|
1351
|
+
*
|
|
1352
|
+
* The implementation handles the XML Schema definition for locationType
|
|
1353
|
+
* elements, which contain detailed positioning information for code elements
|
|
1354
|
+
* including separate tracking of declaration and implementation locations
|
|
1355
|
+
* when they differ (such as header/source file pairs).
|
|
1356
|
+
*
|
|
1357
|
+
* @public
|
|
1358
|
+
*/
|
|
1359
|
+
export declare abstract class AbstractLocationType extends AbstractDataModelBase {
|
|
1360
|
+
/**
|
|
1361
|
+
* The source file path containing the primary declaration or definition.
|
|
1362
|
+
*
|
|
1363
|
+
* @remarks
|
|
1364
|
+
* File path as recorded by Doxygen, typically relative to the source tree
|
|
1365
|
+
* root or absolute depending on configuration settings. This represents
|
|
1366
|
+
* the primary file location where the documented element is defined.
|
|
1367
|
+
*
|
|
1368
|
+
* @public
|
|
1369
|
+
*/
|
|
1370
|
+
file: string;
|
|
1371
|
+
/**
|
|
1372
|
+
* The line number in the primary source file.
|
|
1373
|
+
*
|
|
1374
|
+
* @remarks
|
|
1375
|
+
* Line number where the declaration or definition appears within the
|
|
1376
|
+
* primary source file. Note that whilst the XSD specification indicates
|
|
1377
|
+
* this as mandatory, in practice it may be undefined for certain elements
|
|
1378
|
+
* where precise line information is not available or applicable.
|
|
1379
|
+
*
|
|
1380
|
+
* @public
|
|
1381
|
+
*/
|
|
1382
|
+
line?: number | undefined;
|
|
1383
|
+
/**
|
|
1384
|
+
* The column number in the primary source file.
|
|
1385
|
+
*
|
|
1386
|
+
* @remarks
|
|
1387
|
+
* Column position where the declaration or definition begins, providing
|
|
1388
|
+
* precise horizontal location information when available. This enables
|
|
1389
|
+
* accurate source code navigation and positioning within development
|
|
1390
|
+
* environments.
|
|
1391
|
+
*
|
|
1392
|
+
* @public
|
|
1393
|
+
*/
|
|
1394
|
+
column?: number | undefined;
|
|
1395
|
+
/**
|
|
1396
|
+
* The file path containing the declaration when separate from implementation.
|
|
1397
|
+
*
|
|
1398
|
+
* @remarks
|
|
1399
|
+
* File path for the declaration when it differs from the implementation
|
|
1400
|
+
* file, typically occurring in header/source file pairs where declarations
|
|
1401
|
+
* are placed in header files whilst implementations reside in source files.
|
|
1402
|
+
* This separation is common in C/C++ development patterns.
|
|
1403
|
+
*
|
|
1404
|
+
* @public
|
|
1405
|
+
*/
|
|
1406
|
+
declfile?: string | undefined;
|
|
1407
|
+
/**
|
|
1408
|
+
* The line number of the declaration within the declaration file.
|
|
1409
|
+
*
|
|
1410
|
+
* @remarks
|
|
1411
|
+
* Line number where the declaration appears, separate from the
|
|
1412
|
+
* implementation location when they differ. This provides precise
|
|
1413
|
+
* positioning within the declaration file for accurate source navigation.
|
|
1414
|
+
*
|
|
1415
|
+
* @public
|
|
1416
|
+
*/
|
|
1417
|
+
declline?: number | undefined;
|
|
1418
|
+
/**
|
|
1419
|
+
* The column number of the declaration within the declaration file.
|
|
1420
|
+
*
|
|
1421
|
+
* @remarks
|
|
1422
|
+
* Column position where the declaration begins, providing precise
|
|
1423
|
+
* horizontal location information for the declaration. This enables
|
|
1424
|
+
* accurate positioning within development environments when navigating
|
|
1425
|
+
* to declaration locations.
|
|
1426
|
+
*
|
|
1427
|
+
* @public
|
|
1428
|
+
*/
|
|
1429
|
+
declcolumn?: number | undefined;
|
|
1430
|
+
/**
|
|
1431
|
+
* The file path containing the implementation body.
|
|
1432
|
+
*
|
|
1433
|
+
* @remarks
|
|
1434
|
+
* File path where the function or method body is implemented, separate
|
|
1435
|
+
* from the declaration when they differ. This is particularly relevant
|
|
1436
|
+
* for languages that support separate declaration and implementation
|
|
1437
|
+
* files, enabling precise navigation to implementation code.
|
|
1438
|
+
*
|
|
1439
|
+
* @public
|
|
1440
|
+
*/
|
|
1441
|
+
bodyfile?: string | undefined;
|
|
1442
|
+
/**
|
|
1443
|
+
* The starting line number of the implementation body.
|
|
1444
|
+
*
|
|
1445
|
+
* @remarks
|
|
1446
|
+
* Line number where the implementation body begins, providing the starting
|
|
1447
|
+
* boundary for locating function or method implementations. This is useful
|
|
1448
|
+
* for identifying the complete scope of implementation code.
|
|
1449
|
+
*
|
|
1450
|
+
* @public
|
|
1451
|
+
*/
|
|
1452
|
+
bodystart?: number | undefined;
|
|
1453
|
+
/**
|
|
1454
|
+
* The ending line number of the implementation body.
|
|
1455
|
+
*
|
|
1456
|
+
* @remarks
|
|
1457
|
+
* Line number where the implementation body ends, providing the complete
|
|
1458
|
+
* range of the implementation. Together with bodystart, this defines the
|
|
1459
|
+
* full extent of the implementation code within the source file.
|
|
1460
|
+
*
|
|
1461
|
+
* @public
|
|
1462
|
+
*/
|
|
1463
|
+
bodyend?: number | undefined;
|
|
1464
|
+
/**
|
|
1465
|
+
* Constructs a new location data model from XML element data.
|
|
1466
|
+
*
|
|
1467
|
+
* @param xml - The XML parser instance for processing element data
|
|
1468
|
+
* @param element - The XML element containing location information
|
|
1469
|
+
* @param elementName - The name of the XML element being processed
|
|
1470
|
+
*
|
|
1471
|
+
* @remarks
|
|
1472
|
+
* Parses the XML element representing location information and extracts
|
|
1473
|
+
* file paths, line numbers, and column positions for declarations and
|
|
1474
|
+
* implementations. The constructor processes all available location
|
|
1475
|
+
* attributes whilst handling the distinction between declaration and
|
|
1476
|
+
* implementation locations when they differ.
|
|
1477
|
+
*
|
|
1478
|
+
* The implementation ensures that mandatory file information is present
|
|
1479
|
+
* and validates the element structure according to the XML Schema
|
|
1480
|
+
* definition for locationType elements.
|
|
1481
|
+
*
|
|
1482
|
+
* @public
|
|
1483
|
+
*/
|
|
1484
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
/**
|
|
1488
|
+
* Abstract base class for member-related data models within documentation.
|
|
1489
|
+
*
|
|
1490
|
+
* @remarks
|
|
1491
|
+
* Provides foundational functionality for all member-related elements within
|
|
1492
|
+
* the Doxygen documentation system. This class establishes the basic
|
|
1493
|
+
* structure for member identification and classification, serving as the
|
|
1494
|
+
* foundation for more specific member definition processing.
|
|
1495
|
+
*
|
|
1496
|
+
* The class maintains essential member information including name and kind
|
|
1497
|
+
* identification, which are fundamental properties required by all member
|
|
1498
|
+
* types within the documentation hierarchy.
|
|
1499
|
+
*
|
|
1500
|
+
* @public
|
|
1501
|
+
*/
|
|
1502
|
+
export declare abstract class AbstractMemberBaseType extends AbstractDataModelBase {
|
|
1503
|
+
/**
|
|
1504
|
+
* The name of the member element.
|
|
1505
|
+
*
|
|
1506
|
+
* @remarks
|
|
1507
|
+
* Contains the identifier name for the member as extracted from the
|
|
1508
|
+
* documentation source. This represents the primary identification
|
|
1509
|
+
* mechanism for the member within its containing scope.
|
|
1510
|
+
*
|
|
1511
|
+
* @public
|
|
1512
|
+
*/
|
|
1513
|
+
name: string;
|
|
1514
|
+
/**
|
|
1515
|
+
* The kind classification of the member element.
|
|
1516
|
+
*
|
|
1517
|
+
* @remarks
|
|
1518
|
+
* Specifies the type category of the member, corresponding to the
|
|
1519
|
+
* DoxMemberKind enumeration values. This classification determines
|
|
1520
|
+
* how the member is processed and presented within the documentation
|
|
1521
|
+
* generation workflow.
|
|
1522
|
+
*
|
|
1523
|
+
* @public
|
|
1524
|
+
*/
|
|
1525
|
+
kind: string;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
/**
|
|
1529
|
+
* Abstract base class for comprehensive member definition data models.
|
|
1530
|
+
*
|
|
1531
|
+
* @remarks
|
|
1532
|
+
* Extends the basic member functionality to provide complete member
|
|
1533
|
+
* definition processing capabilities. This class handles the complex XML
|
|
1534
|
+
* Schema definition for memberdefType elements, which represent detailed
|
|
1535
|
+
* member information including location data, type information, parameters,
|
|
1536
|
+
* descriptions, and various language-specific attributes.
|
|
1537
|
+
*
|
|
1538
|
+
* The implementation processes extensive member metadata including template
|
|
1539
|
+
* parameters, function signatures, initialization values, documentation
|
|
1540
|
+
* descriptions, and cross-reference information. It also manages a
|
|
1541
|
+
* comprehensive set of language-specific attributes covering C++, Qt,
|
|
1542
|
+
* C++/CLI, C#, Objective-C, and UNO IDL constructs.
|
|
1543
|
+
*
|
|
1544
|
+
* @public
|
|
1545
|
+
*/
|
|
1546
|
+
export declare abstract class AbstractMemberDefType extends AbstractMemberBaseType {
|
|
1547
|
+
/**
|
|
1548
|
+
* The location information for the member definition.
|
|
1549
|
+
*
|
|
1550
|
+
* @remarks
|
|
1551
|
+
* Contains comprehensive source code location data including file paths,
|
|
1552
|
+
* line numbers, and column positions for both declarations and
|
|
1553
|
+
* implementations. This enables precise navigation between documentation
|
|
1554
|
+
* and source code.
|
|
1555
|
+
*
|
|
1556
|
+
* @public
|
|
1557
|
+
*/
|
|
1558
|
+
location: LocationDataModel | undefined;
|
|
1559
|
+
/**
|
|
1560
|
+
* The unique identifier for the member element.
|
|
1561
|
+
*
|
|
1562
|
+
* @remarks
|
|
1563
|
+
* Provides a unique identification string for the member within the
|
|
1564
|
+
* documentation system. This identifier is used for cross-referencing
|
|
1565
|
+
* and linking between different parts of the documentation.
|
|
1566
|
+
*
|
|
1567
|
+
* @public
|
|
1568
|
+
*/
|
|
1569
|
+
id: string;
|
|
1570
|
+
/**
|
|
1571
|
+
* The protection level of the member element.
|
|
1572
|
+
*
|
|
1573
|
+
* @remarks
|
|
1574
|
+
* Specifies the access protection level (public, protected, private)
|
|
1575
|
+
* for the member, determining its visibility and accessibility within
|
|
1576
|
+
* the containing class or namespace scope.
|
|
1577
|
+
*
|
|
1578
|
+
* @public
|
|
1579
|
+
*/
|
|
1580
|
+
prot: string;
|
|
1581
|
+
/**
|
|
1582
|
+
* Indicates whether the member is declared as static.
|
|
1583
|
+
*
|
|
1584
|
+
* @remarks
|
|
1585
|
+
* Boolean flag indicating static member declaration, affecting the
|
|
1586
|
+
* member's association with class instances versus the class itself.
|
|
1587
|
+
* This information is crucial for understanding member accessibility
|
|
1588
|
+
* and usage patterns.
|
|
1589
|
+
*
|
|
1590
|
+
* @public
|
|
1591
|
+
*/
|
|
1592
|
+
staticc: boolean | undefined;
|
|
1593
|
+
/**
|
|
1594
|
+
* Template parameter list information for templated members.
|
|
1595
|
+
*
|
|
1596
|
+
* @remarks
|
|
1597
|
+
* Contains detailed information about template parameters when the member
|
|
1598
|
+
* is part of a template declaration. This includes parameter names, types,
|
|
1599
|
+
* and default values essential for template documentation.
|
|
1600
|
+
*
|
|
1601
|
+
* @public
|
|
1602
|
+
*/
|
|
1603
|
+
templateparamlist?: TemplateParamListDataModel | undefined;
|
|
1604
|
+
/**
|
|
1605
|
+
* Type information for the member element.
|
|
1606
|
+
*
|
|
1607
|
+
* @remarks
|
|
1608
|
+
* Provides comprehensive type data including linked text with embedded
|
|
1609
|
+
* cross-references. This information describes the member's data type,
|
|
1610
|
+
* return type for functions, or variable type for data members.
|
|
1611
|
+
*
|
|
1612
|
+
* @public
|
|
1613
|
+
*/
|
|
1614
|
+
type?: TypeDataModel | undefined;
|
|
1615
|
+
/**
|
|
1616
|
+
* The complete definition string for the member.
|
|
1617
|
+
*
|
|
1618
|
+
* @remarks
|
|
1619
|
+
* Contains the full member definition as it appears in the source code,
|
|
1620
|
+
* including type information, qualifiers, and parameter lists. This
|
|
1621
|
+
* provides the complete syntactic representation of the member.
|
|
1622
|
+
*
|
|
1623
|
+
* @public
|
|
1624
|
+
*/
|
|
1625
|
+
definition?: string | undefined;
|
|
1626
|
+
/**
|
|
1627
|
+
* The argument string for function members.
|
|
1628
|
+
*
|
|
1629
|
+
* @remarks
|
|
1630
|
+
* Contains the parameter list specification for function-like members,
|
|
1631
|
+
* including parameter types, names, and default values. This information
|
|
1632
|
+
* is essential for understanding function signatures and usage.
|
|
1633
|
+
*
|
|
1634
|
+
* @public
|
|
1635
|
+
*/
|
|
1636
|
+
argsstring?: string | undefined;
|
|
1637
|
+
/**
|
|
1638
|
+
* The fully qualified name of the member element.
|
|
1639
|
+
*
|
|
1640
|
+
* @remarks
|
|
1641
|
+
* Provides the complete qualified name including namespace and class
|
|
1642
|
+
* prefixes, enabling unambiguous identification of the member within
|
|
1643
|
+
* the entire codebase context.
|
|
1644
|
+
*
|
|
1645
|
+
* @public
|
|
1646
|
+
*/
|
|
1647
|
+
qualifiedName?: string | undefined;
|
|
1648
|
+
/**
|
|
1649
|
+
* Bitfield specification for member variables.
|
|
1650
|
+
*
|
|
1651
|
+
* @remarks
|
|
1652
|
+
* Contains the bitfield width specification for member variables that
|
|
1653
|
+
* are declared as bitfields in C/C++ structures or classes. This string
|
|
1654
|
+
* represents the number of bits allocated to the member within the
|
|
1655
|
+
* containing structure's memory layout.
|
|
1656
|
+
*/
|
|
1657
|
+
bitfield?: string | undefined;
|
|
1658
|
+
/**
|
|
1659
|
+
* List of reimplemented member references.
|
|
1660
|
+
*
|
|
1661
|
+
* @remarks
|
|
1662
|
+
* Contains references to members that this member reimplements or
|
|
1663
|
+
* overrides from base classes. This property captures inheritance
|
|
1664
|
+
* relationships where the current member provides a new implementation
|
|
1665
|
+
* of a virtual method from a parent class.
|
|
1666
|
+
*/
|
|
1667
|
+
reimplements?: ReimplementDataModel[] | undefined;
|
|
1668
|
+
/**
|
|
1669
|
+
* List of members that reimplement this member.
|
|
1670
|
+
*
|
|
1671
|
+
* @remarks
|
|
1672
|
+
* Contains references to derived class members that reimplement or
|
|
1673
|
+
* override this member. This property provides reverse inheritance
|
|
1674
|
+
* relationship information, showing which child classes provide
|
|
1675
|
+
* alternative implementations of this member.
|
|
1676
|
+
*/
|
|
1677
|
+
reimplementedBys?: ReimplementDataModel[] | undefined;
|
|
1678
|
+
/**
|
|
1679
|
+
* Parameter list for function or method members.
|
|
1680
|
+
*
|
|
1681
|
+
* @remarks
|
|
1682
|
+
* Contains detailed parameter information for function-like members,
|
|
1683
|
+
* including parameter names, types, descriptions, and default values.
|
|
1684
|
+
* This comprehensive parameter data enables complete function signature
|
|
1685
|
+
* documentation and API reference generation.
|
|
1686
|
+
*/
|
|
1687
|
+
params?: ParamDataModel[] | undefined;
|
|
1688
|
+
/**
|
|
1689
|
+
* Enumeration values for enum members.
|
|
1690
|
+
*
|
|
1691
|
+
* @remarks
|
|
1692
|
+
* Contains the list of enumeration constants when the member is an enum
|
|
1693
|
+
* type. Each enumeration value includes its name, numeric value, and
|
|
1694
|
+
* associated documentation, providing complete enum documentation
|
|
1695
|
+
* for API references.
|
|
1696
|
+
*/
|
|
1697
|
+
enumvalues?: EnumValueDataModel[] | undefined;
|
|
1698
|
+
/**
|
|
1699
|
+
* Initializer expression for the member.
|
|
1700
|
+
*
|
|
1701
|
+
* @remarks
|
|
1702
|
+
* Contains the initialization expression or default value assigned to
|
|
1703
|
+
* the member in its declaration. This linked text may include
|
|
1704
|
+
* cross-references to other documented entities and provides insight
|
|
1705
|
+
* into the member's default behaviour or initial state.
|
|
1706
|
+
*/
|
|
1707
|
+
initializer?: InitializerDataModel | undefined;
|
|
1708
|
+
/**
|
|
1709
|
+
* Brief description of the member.
|
|
1710
|
+
*
|
|
1711
|
+
* @remarks
|
|
1712
|
+
* Contains a concise summary description of the member extracted from
|
|
1713
|
+
* documentation comments. This brief description is typically used in
|
|
1714
|
+
* member listings and summary views to provide quick understanding
|
|
1715
|
+
* of the member's purpose.
|
|
1716
|
+
*/
|
|
1717
|
+
briefDescription?: BriefDescriptionDataModel | undefined;
|
|
1718
|
+
/**
|
|
1719
|
+
* Detailed description of the member.
|
|
1720
|
+
*
|
|
1721
|
+
* @remarks
|
|
1722
|
+
* Contains comprehensive documentation for the member including detailed
|
|
1723
|
+
* explanations, usage examples, parameter descriptions, and return value
|
|
1724
|
+
* information. This forms the primary documentation content for the
|
|
1725
|
+
* member in generated API documentation.
|
|
1726
|
+
*/
|
|
1727
|
+
detailedDescription?: DetailedDescriptionDataModel | undefined;
|
|
1728
|
+
/**
|
|
1729
|
+
* In-body description of the member.
|
|
1730
|
+
*
|
|
1731
|
+
* @remarks
|
|
1732
|
+
* Contains documentation that appears within the member's implementation
|
|
1733
|
+
* body, typically used for additional implementation notes or internal
|
|
1734
|
+
* documentation that supplements the main member description.
|
|
1735
|
+
*/
|
|
1736
|
+
inbodyDescription?: InbodyDescriptionDataModel | undefined;
|
|
1737
|
+
/**
|
|
1738
|
+
* References made by this member to other entities.
|
|
1739
|
+
*
|
|
1740
|
+
* @remarks
|
|
1741
|
+
* Contains a list of references to other documented entities that this
|
|
1742
|
+
* member uses or calls. This information enables dependency analysis
|
|
1743
|
+
* and cross-reference navigation in the generated documentation.
|
|
1744
|
+
*/
|
|
1745
|
+
references?: ReferenceDataModel[] | undefined;
|
|
1746
|
+
/**
|
|
1747
|
+
* References to this member from other entities.
|
|
1748
|
+
*
|
|
1749
|
+
* @remarks
|
|
1750
|
+
* Contains a list of other documented entities that reference or use
|
|
1751
|
+
* this member. This reverse reference information helps understand
|
|
1752
|
+
* the member's usage throughout the codebase and enables comprehensive
|
|
1753
|
+
* cross-reference navigation.
|
|
1754
|
+
*/
|
|
1755
|
+
referencedBy?: ReferencedByDataModel[] | undefined;
|
|
1756
|
+
/**
|
|
1757
|
+
* Indicates whether the member has external linkage.
|
|
1758
|
+
*
|
|
1759
|
+
* @remarks
|
|
1760
|
+
* Boolean flag indicating that the member is declared with external
|
|
1761
|
+
* linkage, typically using the 'extern' keyword in C/C++. This affects
|
|
1762
|
+
* the member's visibility and linkage across translation units.
|
|
1763
|
+
*/
|
|
1764
|
+
extern?: boolean | undefined;
|
|
1765
|
+
/**
|
|
1766
|
+
* Indicates whether the member has strong typing.
|
|
1767
|
+
*
|
|
1768
|
+
* @remarks
|
|
1769
|
+
* Boolean flag indicating strong type enforcement for the member,
|
|
1770
|
+
* typically used in languages or contexts where type strength can
|
|
1771
|
+
* be explicitly specified to prevent implicit conversions.
|
|
1772
|
+
*/
|
|
1773
|
+
strong?: boolean | undefined;
|
|
1774
|
+
/**
|
|
1775
|
+
* Indicates whether the member is declared as const.
|
|
1776
|
+
*
|
|
1777
|
+
* @remarks
|
|
1778
|
+
* Boolean flag indicating that the member is declared with the const
|
|
1779
|
+
* qualifier, making it immutable after initialization. This affects
|
|
1780
|
+
* the member's usage patterns and compiler optimizations.
|
|
1781
|
+
*/
|
|
1782
|
+
constt?: boolean | undefined;
|
|
1783
|
+
/**
|
|
1784
|
+
* Indicates whether the member is declared as explicit.
|
|
1785
|
+
*
|
|
1786
|
+
* @remarks
|
|
1787
|
+
* Boolean flag indicating that constructors or conversion operators
|
|
1788
|
+
* are marked as explicit, preventing implicit conversions. This is
|
|
1789
|
+
* particularly important for type safety in C++ class design.
|
|
1790
|
+
*/
|
|
1791
|
+
explicit?: boolean | undefined;
|
|
1792
|
+
/**
|
|
1793
|
+
* Indicates whether the member is declared as inline.
|
|
1794
|
+
*
|
|
1795
|
+
* @remarks
|
|
1796
|
+
* Boolean flag indicating that the member is defined inline, suggesting
|
|
1797
|
+
* to the compiler that calls should be expanded in place rather than
|
|
1798
|
+
* using function call mechanisms. This affects performance and linking.
|
|
1799
|
+
*/
|
|
1800
|
+
inline?: boolean | undefined;
|
|
1801
|
+
/**
|
|
1802
|
+
* Indicates the reference qualifier for the member.
|
|
1803
|
+
*
|
|
1804
|
+
* @remarks
|
|
1805
|
+
* Boolean flag related to C++11 reference qualifiers (&, &&) that
|
|
1806
|
+
* specify whether member functions can be called on lvalue or rvalue
|
|
1807
|
+
* objects. This affects method overload resolution and move semantics.
|
|
1808
|
+
*/
|
|
1809
|
+
refqual?: boolean | undefined;
|
|
1810
|
+
/**
|
|
1811
|
+
* Virtual specification for the member.
|
|
1812
|
+
*
|
|
1813
|
+
* @remarks
|
|
1814
|
+
* String indicating the virtual nature of the member using DoxVirtualKind
|
|
1815
|
+
* values ('non-virtual', 'virtual', 'pure-virtual'). This determines
|
|
1816
|
+
* the member's behaviour in inheritance hierarchies and polymorphism.
|
|
1817
|
+
*/
|
|
1818
|
+
virt?: string | undefined;
|
|
1819
|
+
/**
|
|
1820
|
+
* Indicates whether the member is declared as volatile.
|
|
1821
|
+
*
|
|
1822
|
+
* @remarks
|
|
1823
|
+
* Boolean flag indicating that the member is declared with the volatile
|
|
1824
|
+
* qualifier, preventing compiler optimizations that assume the value
|
|
1825
|
+
* doesn't change unexpectedly. This is important for hardware registers
|
|
1826
|
+
* and multi-threaded contexts.
|
|
1827
|
+
*/
|
|
1828
|
+
volatile?: boolean | undefined;
|
|
1829
|
+
/**
|
|
1830
|
+
* Indicates whether the member is declared as mutable.
|
|
1831
|
+
*
|
|
1832
|
+
* @remarks
|
|
1833
|
+
* Boolean flag indicating that the member can be modified even in const
|
|
1834
|
+
* objects. This is typically used for caching, lazy evaluation, or
|
|
1835
|
+
* other implementation details that don't affect the logical state.
|
|
1836
|
+
*/
|
|
1837
|
+
mutable?: boolean | undefined;
|
|
1838
|
+
/**
|
|
1839
|
+
* Indicates whether the member is declared as noexcept.
|
|
1840
|
+
*
|
|
1841
|
+
* @remarks
|
|
1842
|
+
* Boolean flag indicating that the member promises not to throw
|
|
1843
|
+
* exceptions. This C++11 feature enables compiler optimizations and
|
|
1844
|
+
* affects exception safety guarantees in the API design.
|
|
1845
|
+
*/
|
|
1846
|
+
noexcept?: boolean | undefined;
|
|
1847
|
+
/**
|
|
1848
|
+
* Indicates whether the member has a noexcept expression.
|
|
1849
|
+
*
|
|
1850
|
+
* @remarks
|
|
1851
|
+
* Boolean flag indicating that the member's noexcept specification
|
|
1852
|
+
* includes a conditional expression that determines exception safety
|
|
1853
|
+
* at compile time based on template parameters or other conditions.
|
|
1854
|
+
*/
|
|
1855
|
+
noexceptexpression?: boolean | undefined;
|
|
1856
|
+
/**
|
|
1857
|
+
* Indicates whether the member is declared as nodiscard.
|
|
1858
|
+
*
|
|
1859
|
+
* @remarks
|
|
1860
|
+
* Boolean flag indicating that the member's return value should not
|
|
1861
|
+
* be ignored by callers. This C++17 attribute helps prevent common
|
|
1862
|
+
* programming errors where important return values are discarded.
|
|
1863
|
+
*/
|
|
1864
|
+
nodiscard?: boolean | undefined;
|
|
1865
|
+
/**
|
|
1866
|
+
* Indicates whether the member is declared as constexpr.
|
|
1867
|
+
*
|
|
1868
|
+
* @remarks
|
|
1869
|
+
* Boolean flag indicating that the member can be evaluated at compile
|
|
1870
|
+
* time when given constant expressions as arguments. This C++11 feature
|
|
1871
|
+
* enables compile-time computation and optimization.
|
|
1872
|
+
*/
|
|
1873
|
+
constexpr?: boolean | undefined;
|
|
1874
|
+
/**
|
|
1875
|
+
* Indicates whether the member is declared as consteval.
|
|
1876
|
+
*
|
|
1877
|
+
* @remarks
|
|
1878
|
+
* Boolean flag indicating that the member must be evaluated at compile
|
|
1879
|
+
* time. This C++20 feature is stronger than constexpr, requiring
|
|
1880
|
+
* immediate evaluation during compilation.
|
|
1881
|
+
*/
|
|
1882
|
+
consteval?: boolean | undefined;
|
|
1883
|
+
/**
|
|
1884
|
+
* Indicates whether the member is declared as constinit.
|
|
1885
|
+
*
|
|
1886
|
+
* @remarks
|
|
1887
|
+
* Boolean flag indicating that the member must be initialized with
|
|
1888
|
+
* a constant expression during static initialization. This C++20
|
|
1889
|
+
* feature helps prevent initialization order issues.
|
|
1890
|
+
*/
|
|
1891
|
+
constinit?: boolean | undefined;
|
|
1892
|
+
/**
|
|
1893
|
+
* Indicates whether the member is declared as final.
|
|
1894
|
+
*
|
|
1895
|
+
* @remarks
|
|
1896
|
+
* Boolean flag indicating that virtual members cannot be overridden
|
|
1897
|
+
* in derived classes. This provides explicit control over inheritance
|
|
1898
|
+
* hierarchies and enables compiler optimizations.
|
|
1899
|
+
*/
|
|
1900
|
+
final?: boolean | undefined;
|
|
1901
|
+
/**
|
|
1902
|
+
* Constructs a new member definition data model from XML element data.
|
|
1903
|
+
*
|
|
1904
|
+
* @param xml - The XML parser instance for processing element data
|
|
1905
|
+
* @param element - The XML element containing member definition information
|
|
1906
|
+
* @param elementName - The name of the XML element being processed
|
|
1907
|
+
*
|
|
1908
|
+
* @remarks
|
|
1909
|
+
* Processes the comprehensive XML element representing member definition
|
|
1910
|
+
* information and extracts all available metadata including location data,
|
|
1911
|
+
* type information, parameters, descriptions, and language-specific
|
|
1912
|
+
* attributes. The constructor handles the complex memberdefType schema
|
|
1913
|
+
* with its extensive set of optional elements and attributes.
|
|
1914
|
+
*
|
|
1915
|
+
* The implementation validates mandatory elements (name, location, kind,
|
|
1916
|
+
* id, protection) whilst gracefully handling optional elements and
|
|
1917
|
+
* attributes. It processes various member types including functions,
|
|
1918
|
+
* variables, typedefs, enums, and specialised constructs from multiple
|
|
1919
|
+
* programming languages and frameworks.
|
|
1920
|
+
*
|
|
1921
|
+
* @public
|
|
1922
|
+
*/
|
|
1923
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
/**
|
|
1927
|
+
* Abstract base class for member reference data models within documentation.
|
|
1928
|
+
*
|
|
1929
|
+
* @remarks
|
|
1930
|
+
* Represents comprehensive references to class or namespace members as
|
|
1931
|
+
* parsed from Doxygen XML elements. This class processes memberRefType
|
|
1932
|
+
* schema definitions which contain scope information, member names, and
|
|
1933
|
+
* essential attributes required for cross-referencing and link generation
|
|
1934
|
+
* within the documentation system.
|
|
1935
|
+
*
|
|
1936
|
+
* The implementation handles the complete set of member reference metadata
|
|
1937
|
+
* including qualified scope identification, protection levels, virtual
|
|
1938
|
+
* inheritance characteristics, and ambiguity resolution information.
|
|
1939
|
+
* This enables accurate cross-reference generation and navigation between
|
|
1940
|
+
* different parts of the documentation.
|
|
1941
|
+
*
|
|
1942
|
+
* @public
|
|
1943
|
+
*/
|
|
1944
|
+
export declare abstract class AbstractMemberRefType extends AbstractDataModelBase {
|
|
1945
|
+
/**
|
|
1946
|
+
* The containing scope for the referenced member element.
|
|
1947
|
+
*
|
|
1948
|
+
* @remarks
|
|
1949
|
+
* Specifies the namespace, class, or other containing context that
|
|
1950
|
+
* houses the referenced member. This scope information provides the
|
|
1951
|
+
* qualified context necessary for proper member identification and
|
|
1952
|
+
* disambiguation within the documentation hierarchy.
|
|
1953
|
+
*
|
|
1954
|
+
* @public
|
|
1955
|
+
*/
|
|
1956
|
+
scope: string;
|
|
1957
|
+
/**
|
|
1958
|
+
* The identifier name of the referenced member element.
|
|
1959
|
+
*
|
|
1960
|
+
* @remarks
|
|
1961
|
+
* Contains the simple identifier name for the member being referenced,
|
|
1962
|
+
* which serves as the primary display name and is used for link
|
|
1963
|
+
* generation within the documentation system. This name is used in
|
|
1964
|
+
* conjunction with the scope to provide complete member identification.
|
|
1965
|
+
*
|
|
1966
|
+
* @public
|
|
1967
|
+
*/
|
|
1968
|
+
name: string;
|
|
1969
|
+
/**
|
|
1970
|
+
* The unique reference identifier for cross-referencing the member.
|
|
1971
|
+
*
|
|
1972
|
+
* @remarks
|
|
1973
|
+
* Contains the Doxygen-generated unique identifier used for creating
|
|
1974
|
+
* precise cross-references and hyperlinks to the member documentation.
|
|
1975
|
+
* This identifier ensures unambiguous linking between documentation
|
|
1976
|
+
* elements and enables accurate navigation within the generated
|
|
1977
|
+
* documentation system.
|
|
1978
|
+
*
|
|
1979
|
+
* @public
|
|
1980
|
+
*/
|
|
1981
|
+
refid: string;
|
|
1982
|
+
/**
|
|
1983
|
+
* The protection level classification of the referenced member.
|
|
1984
|
+
*
|
|
1985
|
+
* @remarks
|
|
1986
|
+
* Specifies the access protection level such as 'public', 'private',
|
|
1987
|
+
* or 'protected' based on Doxygen's DoxProtectionKind enumeration.
|
|
1988
|
+
* This information determines the member's visibility and accessibility
|
|
1989
|
+
* within its containing scope and affects documentation presentation.
|
|
1990
|
+
*
|
|
1991
|
+
* @public
|
|
1992
|
+
*/
|
|
1993
|
+
prot: string;
|
|
1994
|
+
/**
|
|
1995
|
+
* The virtual inheritance classification of the referenced member.
|
|
1996
|
+
*
|
|
1997
|
+
* @remarks
|
|
1998
|
+
* Indicates the virtual nature such as 'virtual', 'pure-virtual',
|
|
1999
|
+
* or 'non-virtual' based on Doxygen's DoxVirtualKind enumeration.
|
|
2000
|
+
* This classification is essential for understanding inheritance
|
|
2001
|
+
* relationships and member override behaviour within class hierarchies.
|
|
2002
|
+
*
|
|
2003
|
+
* @public
|
|
2004
|
+
*/
|
|
2005
|
+
virt: string;
|
|
2006
|
+
/**
|
|
2007
|
+
* The ambiguity resolution scope for member reference disambiguation.
|
|
2008
|
+
*
|
|
2009
|
+
* @remarks
|
|
2010
|
+
* Provides optional scope information used to resolve ambiguous member
|
|
2011
|
+
* references when multiple members with identical names exist within
|
|
2012
|
+
* the documentation context. This field assists in ensuring accurate
|
|
2013
|
+
* member identification when name conflicts occur.
|
|
2014
|
+
*
|
|
2015
|
+
* Note that this deviates from the XML Schema definition where it is
|
|
2016
|
+
* marked as required, but in practice may be undefined for certain
|
|
2017
|
+
* member references.
|
|
2018
|
+
*
|
|
2019
|
+
* @public
|
|
2020
|
+
*/
|
|
2021
|
+
ambiguityscope?: string | undefined;
|
|
2022
|
+
/**
|
|
2023
|
+
* Constructs a new member reference data model from XML element data.
|
|
2024
|
+
*
|
|
2025
|
+
* @param xml - The XML parser instance for processing element data
|
|
2026
|
+
* @param element - The XML element containing member reference information
|
|
2027
|
+
* @param elementName - The name of the XML element being processed
|
|
2028
|
+
*
|
|
2029
|
+
* @remarks
|
|
2030
|
+
* Processes the XML element representing member reference information
|
|
2031
|
+
* and extracts scope identification, member names, and reference
|
|
2032
|
+
* attributes required for cross-referencing functionality. The
|
|
2033
|
+
* constructor validates mandatory elements and attributes whilst
|
|
2034
|
+
* gracefully handling optional ambiguity scope information.
|
|
2035
|
+
*
|
|
2036
|
+
* The implementation ensures that essential reference data (scope, name,
|
|
2037
|
+
* refid, protection, virtual kind) is properly extracted and validated
|
|
2038
|
+
* according to the memberRefType schema requirements.
|
|
2039
|
+
*
|
|
2040
|
+
* @public
|
|
2041
|
+
*/
|
|
2042
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2043
|
+
}
|
|
2044
|
+
|
|
2045
|
+
/**
|
|
2046
|
+
* Abstract base class for member type data models within documentation.
|
|
2047
|
+
*
|
|
2048
|
+
* @remarks
|
|
2049
|
+
* Represents member elements as defined by the MemberType XML Schema,
|
|
2050
|
+
* providing fundamental member identification and classification
|
|
2051
|
+
* functionality. This class extends AbstractMemberBaseType to handle
|
|
2052
|
+
* the specific requirements of member elements that contain simplified
|
|
2053
|
+
* member information with reference identifiers.
|
|
2054
|
+
*
|
|
2055
|
+
* The implementation processes member elements that primarily serve as
|
|
2056
|
+
* lightweight references to more detailed member definitions, maintaining
|
|
2057
|
+
* essential identification data including names, reference identifiers,
|
|
2058
|
+
* and member kind classifications for cross-referencing purposes.
|
|
2059
|
+
*
|
|
2060
|
+
* @public
|
|
2061
|
+
*/
|
|
2062
|
+
export declare abstract class AbstractMemberType extends AbstractMemberBaseType {
|
|
2063
|
+
/**
|
|
2064
|
+
* The unique reference identifier for the member element.
|
|
2065
|
+
*
|
|
2066
|
+
* @remarks
|
|
2067
|
+
* Contains the Doxygen-generated unique identifier used for creating
|
|
2068
|
+
* cross-references and hyperlinks to the detailed member definition.
|
|
2069
|
+
* This identifier serves as the primary mechanism for linking between
|
|
2070
|
+
* member references and their corresponding comprehensive definitions
|
|
2071
|
+
* within the documentation system.
|
|
2072
|
+
*
|
|
2073
|
+
* @public
|
|
2074
|
+
*/
|
|
2075
|
+
refid: string;
|
|
2076
|
+
/**
|
|
2077
|
+
* Constructs a new member type data model from XML element data.
|
|
2078
|
+
*
|
|
2079
|
+
* @param xml - The XML parser instance for processing element data
|
|
2080
|
+
* @param element - The XML element containing member type information
|
|
2081
|
+
* @param elementName - The name of the XML element being processed
|
|
2082
|
+
*
|
|
2083
|
+
* @remarks
|
|
2084
|
+
* Processes the XML element representing simplified member information
|
|
2085
|
+
* and extracts the essential identification data including name and
|
|
2086
|
+
* reference identifier. The constructor handles the MemberType schema
|
|
2087
|
+
* requirements whilst accommodating the practical deviation where
|
|
2088
|
+
* member names may be empty in certain contexts.
|
|
2089
|
+
*
|
|
2090
|
+
* The implementation validates mandatory attributes (refid, kind) and
|
|
2091
|
+
* ensures proper element structure according to the XML Schema
|
|
2092
|
+
* definition for MemberType elements.
|
|
2093
|
+
*
|
|
2094
|
+
* @public
|
|
2095
|
+
*/
|
|
2096
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2097
|
+
}
|
|
2098
|
+
|
|
2099
|
+
/**
|
|
2100
|
+
* Abstract base class for parameter data models within documentation.
|
|
2101
|
+
*
|
|
2102
|
+
* @remarks
|
|
2103
|
+
* Represents comprehensive parameter information as defined by the paramType
|
|
2104
|
+
* XML Schema, handling function and method parameter definitions including
|
|
2105
|
+
* type information, naming variations, default values, and constraints.
|
|
2106
|
+
* This class processes the complete range of parameter metadata required
|
|
2107
|
+
* for accurate function signature documentation.
|
|
2108
|
+
*
|
|
2109
|
+
* The implementation manages optional parameter elements including
|
|
2110
|
+
* attributes, type specifications with linked text support, declaration
|
|
2111
|
+
* and definition names, array specifications, default values, type
|
|
2112
|
+
* constraints, and brief descriptions. All elements are optional,
|
|
2113
|
+
* reflecting the flexible nature of parameter documentation within
|
|
2114
|
+
* different programming contexts.
|
|
2115
|
+
*
|
|
2116
|
+
* @public
|
|
2117
|
+
*/
|
|
2118
|
+
export declare abstract class AbstractParamType extends AbstractDataModelBase {
|
|
2119
|
+
/**
|
|
2120
|
+
* Parameter attributes specification string.
|
|
2121
|
+
*
|
|
2122
|
+
* @remarks
|
|
2123
|
+
* Contains language-specific parameter attributes such as qualifiers,
|
|
2124
|
+
* modifiers, or annotations that apply to the parameter declaration.
|
|
2125
|
+
* This information provides additional context about parameter
|
|
2126
|
+
* behaviour and constraints within the function signature.
|
|
2127
|
+
*
|
|
2128
|
+
* @public
|
|
2129
|
+
*/
|
|
2130
|
+
attributes?: string | undefined;
|
|
2131
|
+
/**
|
|
2132
|
+
* Type information for the parameter with linked text support.
|
|
2133
|
+
*
|
|
2134
|
+
* @remarks
|
|
2135
|
+
* Provides comprehensive type data including cross-references and
|
|
2136
|
+
* embedded links to type definitions. This enables rich type
|
|
2137
|
+
* presentation with navigation capabilities to related type
|
|
2138
|
+
* documentation within the system.
|
|
2139
|
+
*
|
|
2140
|
+
* @public
|
|
2141
|
+
*/
|
|
2142
|
+
type?: TypeDataModel | undefined;
|
|
2143
|
+
/**
|
|
2144
|
+
* The declared parameter name as it appears in the declaration.
|
|
2145
|
+
*
|
|
2146
|
+
* @remarks
|
|
2147
|
+
* Contains the parameter name as specified in the function or method
|
|
2148
|
+
* declaration, representing the formal parameter identifier used
|
|
2149
|
+
* within the function signature for identification purposes.
|
|
2150
|
+
*
|
|
2151
|
+
* @public
|
|
2152
|
+
*/
|
|
2153
|
+
declname?: string | undefined;
|
|
2154
|
+
/**
|
|
2155
|
+
* The defined parameter name as it appears in the definition.
|
|
2156
|
+
*
|
|
2157
|
+
* @remarks
|
|
2158
|
+
* Contains the parameter name as used in the function or method
|
|
2159
|
+
* definition, which may differ from the declaration name in contexts
|
|
2160
|
+
* where declarations and definitions are separate (such as header
|
|
2161
|
+
* and implementation files).
|
|
2162
|
+
*
|
|
2163
|
+
* @public
|
|
2164
|
+
*/
|
|
2165
|
+
defname?: string | undefined;
|
|
2166
|
+
/**
|
|
2167
|
+
* Array specification information for array parameters.
|
|
2168
|
+
*
|
|
2169
|
+
* @remarks
|
|
2170
|
+
* Contains array dimension information and specifications when the
|
|
2171
|
+
* parameter represents an array type. This includes array bounds,
|
|
2172
|
+
* size specifications, and dimensional characteristics essential
|
|
2173
|
+
* for accurate parameter documentation.
|
|
2174
|
+
*
|
|
2175
|
+
* @public
|
|
2176
|
+
*/
|
|
2177
|
+
array?: string | undefined;
|
|
2178
|
+
/**
|
|
2179
|
+
* Default value specification with linked text support.
|
|
2180
|
+
*
|
|
2181
|
+
* @remarks
|
|
2182
|
+
* Provides the parameter's default value information including
|
|
2183
|
+
* cross-references to related elements when the default value
|
|
2184
|
+
* contains references to other documented entities. This enables
|
|
2185
|
+
* comprehensive default value presentation with navigation
|
|
2186
|
+
* capabilities.
|
|
2187
|
+
*
|
|
2188
|
+
* @public
|
|
2189
|
+
*/
|
|
2190
|
+
defval?: DefValDataModel | undefined;
|
|
2191
|
+
/**
|
|
2192
|
+
* Type constraint information for template parameters.
|
|
2193
|
+
*
|
|
2194
|
+
* @remarks
|
|
2195
|
+
* Contains constraint specifications for template or generic
|
|
2196
|
+
* parameters, including concept requirements, type bounds, and
|
|
2197
|
+
* constraint expressions. This information is essential for
|
|
2198
|
+
* documenting modern C++ concepts and generic programming
|
|
2199
|
+
* constraints.
|
|
2200
|
+
*
|
|
2201
|
+
* @public
|
|
2202
|
+
*/
|
|
2203
|
+
typeconstraint?: TypeConstraintDataModel | undefined;
|
|
2204
|
+
/**
|
|
2205
|
+
* Brief description documentation for the parameter.
|
|
2206
|
+
*
|
|
2207
|
+
* @remarks
|
|
2208
|
+
* Provides concise parameter documentation including purpose,
|
|
2209
|
+
* usage notes, and essential parameter information. This
|
|
2210
|
+
* description enhances parameter understanding within function
|
|
2211
|
+
* documentation and API reference materials.
|
|
2212
|
+
*
|
|
2213
|
+
* @public
|
|
2214
|
+
*/
|
|
2215
|
+
briefdescription?: BriefDescriptionDataModel | undefined;
|
|
2216
|
+
/**
|
|
2217
|
+
* Constructs a new parameter data model from XML element data.
|
|
2218
|
+
*
|
|
2219
|
+
* @param xml - The XML parser instance for processing element data
|
|
2220
|
+
* @param element - The XML element containing parameter information
|
|
2221
|
+
* @param elementName - The name of the XML element being processed
|
|
2222
|
+
*
|
|
2223
|
+
* @remarks
|
|
2224
|
+
* Processes the XML element representing parameter information and
|
|
2225
|
+
* extracts all available parameter metadata including attributes,
|
|
2226
|
+
* type specifications, naming variations, default values, constraints,
|
|
2227
|
+
* and descriptions. The constructor handles the paramType schema
|
|
2228
|
+
* requirements where all elements are optional, reflecting the
|
|
2229
|
+
* flexible nature of parameter documentation.
|
|
2230
|
+
*
|
|
2231
|
+
* The implementation processes various parameter representations
|
|
2232
|
+
* including simple parameters, array parameters, template parameters
|
|
2233
|
+
* with constraints, and parameters with default values. It ensures
|
|
2234
|
+
* proper extraction of linked text elements that contain embedded
|
|
2235
|
+
* cross-references to related documentation entities.
|
|
2236
|
+
*
|
|
2237
|
+
* @public
|
|
2238
|
+
*/
|
|
2239
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
/**
|
|
2243
|
+
* Abstract base class for reference type data models.
|
|
2244
|
+
*
|
|
2245
|
+
* @remarks
|
|
2246
|
+
* Represents the foundational structure for reference relationship elements
|
|
2247
|
+
* within Doxygen XML documentation, corresponding to the referenceType
|
|
2248
|
+
* complex type in the XML schema. This class manages bidirectional reference
|
|
2249
|
+
* relationships between documented entities, capturing both the descriptive
|
|
2250
|
+
* text and precise location information including line number ranges. The
|
|
2251
|
+
* reference system enables comprehensive dependency tracking and cross-
|
|
2252
|
+
* referencing capabilities, essential for understanding code relationships
|
|
2253
|
+
* and generating accurate documentation navigation structures.
|
|
2254
|
+
*
|
|
2255
|
+
* @public
|
|
2256
|
+
*/
|
|
2257
|
+
export declare abstract class AbstractReferenceType extends AbstractDataModelBase {
|
|
2258
|
+
/**
|
|
2259
|
+
* The descriptive text content for this reference relationship.
|
|
2260
|
+
*
|
|
2261
|
+
* @remarks
|
|
2262
|
+
* Contains the textual description of the reference relationship, typically
|
|
2263
|
+
* including the name or signature of the referenced entity. This text
|
|
2264
|
+
* provides human-readable context about the relationship and is used for
|
|
2265
|
+
* display purposes within the generated documentation. Note that this
|
|
2266
|
+
* property is not explicitly defined in the XML schema DTD but appears
|
|
2267
|
+
* in practice within reference elements.
|
|
2268
|
+
*/
|
|
2269
|
+
text: string;
|
|
2270
|
+
/**
|
|
2271
|
+
* The unique reference identifier for the referenced entity.
|
|
2272
|
+
*
|
|
2273
|
+
* @remarks
|
|
2274
|
+
* Mandatory attribute that provides a unique identifier for the entity
|
|
2275
|
+
* being referenced. This identifier enables precise linking and cross-
|
|
2276
|
+
* referencing between documentation elements, allowing navigation to the
|
|
2277
|
+
* detailed documentation of the referenced item within the documentation
|
|
2278
|
+
* structure.
|
|
2279
|
+
*/
|
|
2280
|
+
refid: string;
|
|
2281
|
+
/**
|
|
2282
|
+
* The starting line number where the reference occurs.
|
|
2283
|
+
*
|
|
2284
|
+
* @remarks
|
|
2285
|
+
* Specifies the line number in the source code where the reference
|
|
2286
|
+
* relationship begins. This location information enables precise source
|
|
2287
|
+
* code navigation and helps establish the exact context of the reference
|
|
2288
|
+
* within the original source files. Note that this attribute may be missing
|
|
2289
|
+
* in some reference elements despite being defined as mandatory in the
|
|
2290
|
+
* XML schema.
|
|
2291
|
+
*/
|
|
2292
|
+
startline: number | undefined;
|
|
2293
|
+
/**
|
|
2294
|
+
* The ending line number where the reference concludes.
|
|
2295
|
+
*
|
|
2296
|
+
* @remarks
|
|
2297
|
+
* Specifies the line number in the source code where the reference
|
|
2298
|
+
* relationship ends. Combined with the starting line, this provides a
|
|
2299
|
+
* complete range for the reference occurrence, enabling precise source
|
|
2300
|
+
* code highlighting and navigation capabilities. Note that this attribute
|
|
2301
|
+
* may be missing in some reference elements despite being defined as
|
|
2302
|
+
* mandatory in the XML schema.
|
|
2303
|
+
*/
|
|
2304
|
+
endline: number | undefined;
|
|
2305
|
+
/**
|
|
2306
|
+
* The compound reference identifier for the containing entity.
|
|
2307
|
+
*
|
|
2308
|
+
* @remarks
|
|
2309
|
+
* Optional attribute that provides the identifier of the compound entity
|
|
2310
|
+
* (such as a class or namespace) that contains the referenced item. This
|
|
2311
|
+
* additional context enables more precise navigation and helps establish
|
|
2312
|
+
* the hierarchical relationship between the referencing and referenced
|
|
2313
|
+
* entities within the documentation structure.
|
|
2314
|
+
*/
|
|
2315
|
+
compoundref?: string | undefined;
|
|
2316
|
+
/**
|
|
2317
|
+
* Constructs a new abstract reference type from XML data.
|
|
2318
|
+
*
|
|
2319
|
+
* @param xml - The Doxygen XML parser instance
|
|
2320
|
+
* @param element - The XML element containing reference relationship data
|
|
2321
|
+
* @param elementName - The expected XML element name
|
|
2322
|
+
*
|
|
2323
|
+
* @remarks
|
|
2324
|
+
* Parses the provided XML element to construct a complete reference
|
|
2325
|
+
* relationship data model. The parsing process extracts the textual content
|
|
2326
|
+
* from the element and processes all defined attributes including the
|
|
2327
|
+
* mandatory refid attribute, line number information, and optional compound
|
|
2328
|
+
* reference data. Validation ensures that the reference identifier is
|
|
2329
|
+
* present, maintaining the integrity of the reference relationship
|
|
2330
|
+
* documentation.
|
|
2331
|
+
*/
|
|
2332
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
/**
|
|
2336
|
+
* Abstract base class for reference type data models.
|
|
2337
|
+
*
|
|
2338
|
+
* @remarks
|
|
2339
|
+
* Represents the foundational structure for reference elements within Doxygen
|
|
2340
|
+
* XML documentation, corresponding to the refType complex type in the XML
|
|
2341
|
+
* schema. This class manages references to various documented entities such
|
|
2342
|
+
* as classes, namespaces, files, folders, modules, pages, and groups. Each
|
|
2343
|
+
* reference includes the entity name, a unique identifier for linking, and
|
|
2344
|
+
* optional protection and inline attributes. All concrete reference
|
|
2345
|
+
* implementations should extend this base to ensure consistent structure
|
|
2346
|
+
* and parsing behaviour across different reference types.
|
|
2347
|
+
*
|
|
2348
|
+
* @public
|
|
2349
|
+
*/
|
|
2350
|
+
export declare abstract class AbstractRefType extends AbstractDataModelBase {
|
|
2351
|
+
/**
|
|
2352
|
+
* The name of the referenced entity.
|
|
2353
|
+
*
|
|
2354
|
+
* @remarks
|
|
2355
|
+
* Mandatory element containing the textual name of the referenced entity,
|
|
2356
|
+
* passed as the element's text content. This name provides human-readable
|
|
2357
|
+
* identification of the referenced item and is used for display and
|
|
2358
|
+
* navigation purposes within the generated documentation.
|
|
2359
|
+
*/
|
|
2360
|
+
text: string;
|
|
2361
|
+
/**
|
|
2362
|
+
* The unique reference identifier for the referenced entity.
|
|
2363
|
+
*
|
|
2364
|
+
* @remarks
|
|
2365
|
+
* Mandatory attribute that provides a unique identifier for the referenced
|
|
2366
|
+
* entity within the Doxygen documentation system. This identifier enables
|
|
2367
|
+
* precise linking and cross-referencing between documentation elements,
|
|
2368
|
+
* allowing navigation to the detailed documentation of the referenced item.
|
|
2369
|
+
*/
|
|
2370
|
+
refid: string;
|
|
2371
|
+
/**
|
|
2372
|
+
* The protection level of the referenced entity.
|
|
2373
|
+
*
|
|
2374
|
+
* @remarks
|
|
2375
|
+
* Optional attribute specifying the protection level according to the
|
|
2376
|
+
* DoxProtectionKind enumeration. Values include 'public', 'protected',
|
|
2377
|
+
* 'private', and 'package', indicating the accessibility scope of the
|
|
2378
|
+
* referenced entity within its containing context.
|
|
2379
|
+
*/
|
|
2380
|
+
prot?: string | undefined;
|
|
2381
|
+
/**
|
|
2382
|
+
* Indicates whether the referenced entity is inline.
|
|
2383
|
+
*
|
|
2384
|
+
* @remarks
|
|
2385
|
+
* Optional boolean attribute that specifies whether the referenced entity
|
|
2386
|
+
* is defined inline within its containing context. This information affects
|
|
2387
|
+
* how the entity is presented and processed in the generated documentation,
|
|
2388
|
+
* particularly for inline classes, functions, or other code constructs.
|
|
2389
|
+
*/
|
|
2390
|
+
inline?: boolean | undefined;
|
|
2391
|
+
/**
|
|
2392
|
+
* Constructs a new abstract reference type from XML data.
|
|
2393
|
+
*
|
|
2394
|
+
* @param xml - The Doxygen XML parser instance
|
|
2395
|
+
* @param element - The XML element containing reference data
|
|
2396
|
+
* @param elementName - The expected XML element name
|
|
2397
|
+
*
|
|
2398
|
+
* @remarks
|
|
2399
|
+
* Parses the provided XML element to construct a complete reference data
|
|
2400
|
+
* model. The parsing process extracts the textual content from the element
|
|
2401
|
+
* and processes all defined attributes including the mandatory refid and
|
|
2402
|
+
* optional protection and inline attributes. Validation ensures that both
|
|
2403
|
+
* the reference name and identifier are present and non-empty, maintaining
|
|
2404
|
+
* the integrity of the reference documentation.
|
|
2405
|
+
*/
|
|
2406
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2407
|
+
}
|
|
2408
|
+
|
|
2409
|
+
/**
|
|
2410
|
+
* Abstract base class for reimplement type data models.
|
|
2411
|
+
*
|
|
2412
|
+
* @remarks
|
|
2413
|
+
* Represents the foundational structure for reimplement relationship elements
|
|
2414
|
+
* within Doxygen XML documentation, corresponding to the reimplementType
|
|
2415
|
+
* complex type in the XML schema. This class manages relationships between
|
|
2416
|
+
* methods, functions, or other documented entities that implement or override
|
|
2417
|
+
* behaviour from base classes or interfaces. The reimplement relationship
|
|
2418
|
+
* captures both the descriptive text and the reference identifier for the
|
|
2419
|
+
* related entity, enabling comprehensive documentation of inheritance and
|
|
2420
|
+
* polymorphic behaviours within the codebase.
|
|
2421
|
+
*
|
|
2422
|
+
* @public
|
|
2423
|
+
*/
|
|
2424
|
+
export declare abstract class AbstractReimplementType extends AbstractDataModelBase {
|
|
2425
|
+
/**
|
|
2426
|
+
* The descriptive text content for this reimplement relationship.
|
|
2427
|
+
*
|
|
2428
|
+
* @remarks
|
|
2429
|
+
* Mandatory element containing the textual description of the reimplement
|
|
2430
|
+
* relationship. This text typically includes the signature or name of the
|
|
2431
|
+
* reimplemented entity, providing human-readable context about the
|
|
2432
|
+
* relationship between the current entity and the referenced implementation.
|
|
2433
|
+
*/
|
|
2434
|
+
text: string;
|
|
2435
|
+
/**
|
|
2436
|
+
* The reference identifier for the reimplemented entity.
|
|
2437
|
+
*
|
|
2438
|
+
* @remarks
|
|
2439
|
+
* Mandatory attribute that provides a unique identifier for the entity
|
|
2440
|
+
* being reimplemented. This reference enables linking and cross-referencing
|
|
2441
|
+
* between related documentation elements, allowing navigation between
|
|
2442
|
+
* implementations and their base declarations within the generated
|
|
2443
|
+
* documentation structure.
|
|
2444
|
+
*/
|
|
2445
|
+
refId: string;
|
|
2446
|
+
/**
|
|
2447
|
+
* Constructs a new abstract reimplement type from XML data.
|
|
2448
|
+
*
|
|
2449
|
+
* @param xml - The Doxygen XML parser instance
|
|
2450
|
+
* @param element - The XML element containing reimplement relationship data
|
|
2451
|
+
* @param elementName - The expected XML element name
|
|
2452
|
+
*
|
|
2453
|
+
* @remarks
|
|
2454
|
+
* Parses the provided XML element to construct a complete reimplement
|
|
2455
|
+
* relationship data model. The parsing process extracts the textual content
|
|
2456
|
+
* from the element and processes the mandatory refid attribute. Validation
|
|
2457
|
+
* ensures that both the descriptive text and reference identifier are
|
|
2458
|
+
* present and non-empty, maintaining the integrity of the reimplement
|
|
2459
|
+
* relationship documentation.
|
|
2460
|
+
*/
|
|
2461
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
/**
|
|
2465
|
+
* Abstract class for XML-parsed section definition types.
|
|
2466
|
+
*
|
|
2467
|
+
* @remarks
|
|
2468
|
+
* Extends the base section definition type to provide XML parsing capabilities
|
|
2469
|
+
* for constructing section definition data models from Doxygen XML elements.
|
|
2470
|
+
* This class handles the complete parsing process including attributes, inner
|
|
2471
|
+
* elements, headers, descriptions, and member collections. All concrete
|
|
2472
|
+
* section definition implementations that require XML parsing should extend
|
|
2473
|
+
* this class to benefit from the standardised parsing infrastructure.
|
|
2474
|
+
*
|
|
2475
|
+
* @public
|
|
2476
|
+
*/
|
|
2477
|
+
export declare abstract class AbstractSectionDefType extends AbstractSectionDefTypeBase {
|
|
2478
|
+
/**
|
|
2479
|
+
* Constructs a new abstract section definition type from XML data.
|
|
2480
|
+
*
|
|
2481
|
+
* @param xml - The Doxygen XML parser instance
|
|
2482
|
+
* @param element - The XML element containing section definition data
|
|
2483
|
+
* @param elementName - The expected XML element name
|
|
2484
|
+
*
|
|
2485
|
+
* @remarks
|
|
2486
|
+
* Parses the provided XML element to construct a complete section definition
|
|
2487
|
+
* data model. The parsing process handles all defined inner elements
|
|
2488
|
+
* including headers, descriptions, member definitions, and member references,
|
|
2489
|
+
* as well as the mandatory kind attribute. Validation ensures that required
|
|
2490
|
+
* elements and attributes are present and conform to the expected XML schema
|
|
2491
|
+
* structure.
|
|
2492
|
+
*/
|
|
2493
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2496
|
+
/**
|
|
2497
|
+
* Abstract base class for section definition type data models.
|
|
2498
|
+
*
|
|
2499
|
+
* @remarks
|
|
2500
|
+
* Represents the foundational structure for section definition elements
|
|
2501
|
+
* within Doxygen XML documentation, corresponding to the sectiondefType
|
|
2502
|
+
* complex type in the XML schema. This class provides the core properties
|
|
2503
|
+
* and utility methods for managing section definitions, including kind
|
|
2504
|
+
* classification, optional headers and descriptions, and member collections.
|
|
2505
|
+
* All concrete section definition classes should extend this base to ensure
|
|
2506
|
+
* consistent structure and behaviour.
|
|
2507
|
+
*
|
|
2508
|
+
* @public
|
|
2509
|
+
*/
|
|
2510
|
+
export declare abstract class AbstractSectionDefTypeBase extends AbstractDataModelBase {
|
|
2511
|
+
/**
|
|
2512
|
+
* The kind classification of this section definition.
|
|
2513
|
+
*
|
|
2514
|
+
* @remarks
|
|
2515
|
+
* Mandatory attribute that specifies the type of section, corresponding
|
|
2516
|
+
* to the DoxSectionKind enumeration in the XML schema. This classification
|
|
2517
|
+
* determines how the section is processed and presented in the documentation.
|
|
2518
|
+
*/
|
|
2519
|
+
kind: string;
|
|
2520
|
+
/**
|
|
2521
|
+
* The optional header text for this section.
|
|
2522
|
+
*
|
|
2523
|
+
* @remarks
|
|
2524
|
+
* Optional element that provides a title or heading for the section.
|
|
2525
|
+
* When present, this header is used for display and navigation purposes
|
|
2526
|
+
* within the generated documentation.
|
|
2527
|
+
*/
|
|
2528
|
+
header?: string | undefined;
|
|
2529
|
+
/**
|
|
2530
|
+
* The optional description content for this section.
|
|
2531
|
+
*
|
|
2532
|
+
* @remarks
|
|
2533
|
+
* Optional element containing detailed description information for the
|
|
2534
|
+
* section. This description provides context and documentation about
|
|
2535
|
+
* the section's purpose and contents.
|
|
2536
|
+
*/
|
|
2537
|
+
description?: DescriptionDataModel | undefined;
|
|
2538
|
+
/**
|
|
2539
|
+
* Collection of member definition data models.
|
|
2540
|
+
*
|
|
2541
|
+
* @remarks
|
|
2542
|
+
* Optional array containing detailed member definitions for this section.
|
|
2543
|
+
* This collection is mutually exclusive with the members array, as per
|
|
2544
|
+
* the XML schema choice constraint. Each member definition provides
|
|
2545
|
+
* comprehensive information about documented entities.
|
|
2546
|
+
*/
|
|
2547
|
+
memberDefs?: MemberDefDataModel[] | undefined;
|
|
2548
|
+
/**
|
|
2549
|
+
* Collection of member reference data models.
|
|
2550
|
+
*
|
|
2551
|
+
* @remarks
|
|
2552
|
+
* Optional array containing member references for this section. This
|
|
2553
|
+
* collection is mutually exclusive with the memberDefs array, as per
|
|
2554
|
+
* the XML schema choice constraint. Each member reference provides
|
|
2555
|
+
* summary information and links to detailed definitions.
|
|
2556
|
+
*/
|
|
2557
|
+
members?: MemberDataModel[] | undefined;
|
|
2558
|
+
/**
|
|
2559
|
+
* Constructs a new abstract section definition type base instance.
|
|
2560
|
+
*
|
|
2561
|
+
* @param elementName - The XML element name for this section definition
|
|
2562
|
+
* @param kind - The section kind classification
|
|
2563
|
+
*
|
|
2564
|
+
* @remarks
|
|
2565
|
+
* Initialises the base properties for a section definition, establishing
|
|
2566
|
+
* the element name and kind classification that will be used throughout
|
|
2567
|
+
* the processing lifecycle.
|
|
2568
|
+
*/
|
|
2569
|
+
constructor(elementName: string, kind: string);
|
|
2570
|
+
/**
|
|
2571
|
+
* Determines whether this section contains any member information.
|
|
2572
|
+
*
|
|
2573
|
+
* @returns True if the section has member definitions or member references
|
|
2574
|
+
*
|
|
2575
|
+
* @remarks
|
|
2576
|
+
* Utility method that checks for the presence of either member definitions
|
|
2577
|
+
* or member references within this section. This is useful for determining
|
|
2578
|
+
* whether the section requires member processing or can be treated as
|
|
2579
|
+
* documentation-only content.
|
|
2580
|
+
*/
|
|
2581
|
+
hasMembers(): boolean;
|
|
2582
|
+
/**
|
|
2583
|
+
* Computes an adjusted kind string based on section and member suffixes.
|
|
2584
|
+
*
|
|
2585
|
+
* @param sectionSuffix - The suffix to apply for section-based adjustments
|
|
2586
|
+
* @param memberSuffix - The suffix to apply for member-based adjustments
|
|
2587
|
+
* @returns The adjusted kind string
|
|
2588
|
+
*
|
|
2589
|
+
* @remarks
|
|
2590
|
+
* Transforms the section kind for specific member types, such as converting
|
|
2591
|
+
* 'public-func' into more specific kinds like 'public-constructor',
|
|
2592
|
+
* 'public-destructor', or 'public-operator'. For user-defined sections,
|
|
2593
|
+
* returns the member suffix directly. For hyphenated kinds, replaces the
|
|
2594
|
+
* final component with the section suffix. Otherwise, returns the member
|
|
2595
|
+
* suffix as the default behaviour.
|
|
2596
|
+
*/
|
|
2597
|
+
computeAdjustedKind(sectionSuffix: string, memberSuffix?: string): string;
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2600
|
+
/**
|
|
2601
|
+
* Abstract base class for table of contents kind type data models.
|
|
2602
|
+
*
|
|
2603
|
+
* @remarks
|
|
2604
|
+
* Represents table of contents kind elements within Doxygen XML structures,
|
|
2605
|
+
* corresponding to the tableofcontentsKindType complex type in the XML
|
|
2606
|
+
* schema. This class handles the parsing of named table of contents sections
|
|
2607
|
+
* with references and optional nested table of contents structures. All
|
|
2608
|
+
* concrete table of contents kind data model classes should extend this
|
|
2609
|
+
* abstract base to ensure consistent parsing and data representation.
|
|
2610
|
+
*
|
|
2611
|
+
* @public
|
|
2612
|
+
*/
|
|
2613
|
+
export declare abstract class AbstractTableOfContentsKindType extends AbstractDataModelBase {
|
|
2614
|
+
/**
|
|
2615
|
+
* The name of the table of contents section.
|
|
2616
|
+
*
|
|
2617
|
+
* @remarks
|
|
2618
|
+
* Mandatory element extracted from the XML structure that provides
|
|
2619
|
+
* the display name or title for this table of contents section.
|
|
2620
|
+
* This name is used for navigation and presentation purposes.
|
|
2621
|
+
*/
|
|
2622
|
+
name: string;
|
|
2623
|
+
/**
|
|
2624
|
+
* The reference identifier for this table of contents section.
|
|
2625
|
+
*
|
|
2626
|
+
* @remarks
|
|
2627
|
+
* Mandatory element that provides a reference or link target for
|
|
2628
|
+
* this table of contents section. This reference is used to create
|
|
2629
|
+
* navigation links and cross-references within the documentation.
|
|
2630
|
+
*/
|
|
2631
|
+
reference: string;
|
|
2632
|
+
/**
|
|
2633
|
+
* Collection of nested table of contents data models.
|
|
2634
|
+
*
|
|
2635
|
+
* @remarks
|
|
2636
|
+
* Optional array containing nested table of contents elements that
|
|
2637
|
+
* create hierarchical documentation structures. This allows for
|
|
2638
|
+
* multi-level table of contents organisation with subsections and
|
|
2639
|
+
* sub-subsections as needed.
|
|
2640
|
+
*/
|
|
2641
|
+
tableOfContents: TableOfContentsDataModel[] | undefined;
|
|
2642
|
+
/**
|
|
2643
|
+
* Constructs a new AbstractTableOfContentsKindType instance from XML data.
|
|
2644
|
+
*
|
|
2645
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
2646
|
+
* @param element - The XML element containing the table of contents kind data
|
|
2647
|
+
* @param elementName - The name of the XML element being processed
|
|
2648
|
+
*
|
|
2649
|
+
* @remarks
|
|
2650
|
+
* Parses the provided XML element to extract table of contents kind
|
|
2651
|
+
* information including mandatory name and reference elements, along with
|
|
2652
|
+
* optional nested table of contents structures. The constructor handles
|
|
2653
|
+
* unknown 'docs' elements that may appear but are not defined in the DTD.
|
|
2654
|
+
* This element type has no attributes as per the XML schema.
|
|
2655
|
+
*/
|
|
2656
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2657
|
+
}
|
|
2658
|
+
|
|
2659
|
+
/**
|
|
2660
|
+
* Abstract base class for table of contents type data models.
|
|
2661
|
+
*
|
|
2662
|
+
* @remarks
|
|
2663
|
+
* Represents table of contents elements within Doxygen XML structures,
|
|
2664
|
+
* corresponding to the tableofcontentsType complex type in the XML schema.
|
|
2665
|
+
* This class handles the parsing of table of contents structures with
|
|
2666
|
+
* mutually exclusive content choices: either table of contents sections
|
|
2667
|
+
* or nested table of contents elements. All concrete table of contents
|
|
2668
|
+
* data model classes should extend this abstract base to ensure consistent
|
|
2669
|
+
* parsing and data representation.
|
|
2670
|
+
*
|
|
2671
|
+
* @public
|
|
2672
|
+
*/
|
|
2673
|
+
export declare abstract class AbstractTableOfContentsType extends AbstractDataModelBase {
|
|
2674
|
+
/**
|
|
2675
|
+
* Collection of table of contents section data models.
|
|
2676
|
+
*
|
|
2677
|
+
* @remarks
|
|
2678
|
+
* Optional array containing table of contents section elements, part
|
|
2679
|
+
* of an exclusive choice with tableOfContents. Each section represents
|
|
2680
|
+
* a specific part of the documentation structure with its own name,
|
|
2681
|
+
* reference, and potentially nested content.
|
|
2682
|
+
*/
|
|
2683
|
+
tocSect: TocSectDataModel[] | undefined;
|
|
2684
|
+
/**
|
|
2685
|
+
* Collection of nested table of contents data models.
|
|
2686
|
+
*
|
|
2687
|
+
* @remarks
|
|
2688
|
+
* Optional array containing nested table of contents elements, part
|
|
2689
|
+
* of an exclusive choice with tocSect. This allows for recursive
|
|
2690
|
+
* table of contents structures to represent complex documentation
|
|
2691
|
+
* hierarchies.
|
|
2692
|
+
*/
|
|
2693
|
+
tableOfContents: TableOfContentsDataModel[] | undefined;
|
|
2694
|
+
/**
|
|
2695
|
+
* Constructs a new AbstractTableOfContentsType instance from XML data.
|
|
2696
|
+
*
|
|
2697
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
2698
|
+
* @param element - The XML element containing the table of contents data
|
|
2699
|
+
* @param elementName - The name of the XML element being processed
|
|
2700
|
+
*
|
|
2701
|
+
* @remarks
|
|
2702
|
+
* Parses the provided XML element to extract table of contents information
|
|
2703
|
+
* following the exclusive choice pattern defined in the XML schema. The
|
|
2704
|
+
* constructor processes either table of contents sections or nested table
|
|
2705
|
+
* of contents elements, but not both, maintaining the mutually exclusive
|
|
2706
|
+
* relationship. This element type has no attributes as per the schema.
|
|
2707
|
+
*/
|
|
2708
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
/**
|
|
2712
|
+
* Abstract base class for template parameter list type data models.
|
|
2713
|
+
*
|
|
2714
|
+
* @remarks
|
|
2715
|
+
* Represents template parameter list elements within Doxygen XML structures,
|
|
2716
|
+
* corresponding to the templateparamlistType complex type in the XML schema.
|
|
2717
|
+
* This class handles the parsing of parameter collections for templated
|
|
2718
|
+
* constructs such as template classes and functions. All concrete template
|
|
2719
|
+
* parameter list data model classes should extend this abstract base to
|
|
2720
|
+
* ensure consistent parsing and data representation.
|
|
2721
|
+
*
|
|
2722
|
+
* @public
|
|
2723
|
+
*/
|
|
2724
|
+
export declare abstract class AbstractTemplateParamListType extends AbstractDataModelBase {
|
|
2725
|
+
/**
|
|
2726
|
+
* Collection of parameter data models within this template parameter list.
|
|
2727
|
+
*
|
|
2728
|
+
* @remarks
|
|
2729
|
+
* Optional array containing parameter elements found within the template
|
|
2730
|
+
* parameter list structure. Each parameter represents a template parameter
|
|
2731
|
+
* definition including its type, name, and other attributes. The array
|
|
2732
|
+
* supports zero to many parameters as per the XML schema, accommodating
|
|
2733
|
+
* both non-templated constructs and complex template declarations.
|
|
2734
|
+
*/
|
|
2735
|
+
params?: ParamDataModel[] | undefined;
|
|
2736
|
+
/**
|
|
2737
|
+
* Constructs a new AbstractTemplateParamListType instance from XML data.
|
|
2738
|
+
*
|
|
2739
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
2740
|
+
* @param element - The XML element containing the template parameter list
|
|
2741
|
+
* data
|
|
2742
|
+
* @param elementName - The name of the XML element being processed
|
|
2743
|
+
*
|
|
2744
|
+
* @remarks
|
|
2745
|
+
* Parses the provided XML element to extract template parameter list
|
|
2746
|
+
* information including parameter collections. The constructor processes
|
|
2747
|
+
* parameter elements into ParamDataModel instances when present. This
|
|
2748
|
+
* element type has no attributes as per the XML schema definition,
|
|
2749
|
+
* containing only parameter child elements.
|
|
2750
|
+
*/
|
|
2751
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string);
|
|
2752
|
+
}
|
|
2753
|
+
|
|
2754
|
+
/**
|
|
2755
|
+
* Data model for base compound references in inheritance relationships.
|
|
2756
|
+
*
|
|
2757
|
+
* @remarks
|
|
2758
|
+
* Represents references to base classes or parent compounds in inheritance
|
|
2759
|
+
* hierarchies as documented by Doxygen. This class handles the
|
|
2760
|
+
* 'basecompoundref' XML elements that establish parent-child relationships
|
|
2761
|
+
* in object-oriented documentation structures.
|
|
2762
|
+
*
|
|
2763
|
+
* @public
|
|
2764
|
+
*/
|
|
2765
|
+
export declare class BaseCompoundRefDataModel extends AbstractCompoundRefType {
|
|
2766
|
+
/**
|
|
2767
|
+
* Constructs a new BaseCompoundRefDataModel instance.
|
|
2768
|
+
*
|
|
2769
|
+
* @remarks
|
|
2770
|
+
* Creates a data model object for 'basecompoundref' XML elements,
|
|
2771
|
+
* representing inheritance relationships where the current compound
|
|
2772
|
+
* derives from the referenced base compound.
|
|
2773
|
+
*
|
|
2774
|
+
* @param xml - The XML parser instance for processing elements
|
|
2775
|
+
* @param element - The XML element object to parse
|
|
2776
|
+
*/
|
|
2777
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2780
|
+
/**
|
|
2781
|
+
* Data model for brief description elements within documentation.
|
|
2782
|
+
*
|
|
2783
|
+
* @remarks
|
|
2784
|
+
* Represents brief description elements that provide concise summary
|
|
2785
|
+
* content for entities. This implementation processes Doxygen's
|
|
2786
|
+
* briefdescription elements, which contain short descriptive content
|
|
2787
|
+
* used for entity summaries, overviews, and quick reference information
|
|
2788
|
+
* within documentation structures.
|
|
2789
|
+
*
|
|
2790
|
+
* Brief descriptions are typically displayed in listings, summaries,
|
|
2791
|
+
* and overview sections to provide immediate context about documented
|
|
2792
|
+
* entities without requiring full detailed descriptions.
|
|
2793
|
+
*
|
|
2794
|
+
* @public
|
|
2795
|
+
*/
|
|
2796
|
+
export declare class BriefDescriptionDataModel extends AbstractDescriptionType {
|
|
2797
|
+
/**
|
|
2798
|
+
* Constructs a BriefDescriptionDataModel from XML element data.
|
|
2799
|
+
*
|
|
2800
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
2801
|
+
* @param element - The XML element object containing the brief description
|
|
2802
|
+
* data
|
|
2803
|
+
*
|
|
2804
|
+
* @remarks
|
|
2805
|
+
* This constructor delegates to the parent AbstractDescriptionType whilst
|
|
2806
|
+
* identifying the element as 'briefdescription' for concise summary
|
|
2807
|
+
* content processing and documentation organisation.
|
|
2808
|
+
*/
|
|
2809
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
/**
|
|
2813
|
+
* Configuration options as specified by users in configuration files.
|
|
2814
|
+
*
|
|
2815
|
+
* @remarks
|
|
2816
|
+
* All options are optional and can be either string or boolean values
|
|
2817
|
+
* depending on the specific configuration property.
|
|
2818
|
+
*
|
|
2819
|
+
* @public
|
|
2820
|
+
*/
|
|
2821
|
+
declare type CliConfigurationOptions = Record<string, string | boolean>;
|
|
2822
|
+
|
|
2823
|
+
/**
|
|
2824
|
+
* Comprehensive CLI options class for documentation generation configuration.
|
|
2825
|
+
*
|
|
2826
|
+
* @remarks
|
|
2827
|
+
* The CliOptions class contains all configuration parameters that control
|
|
2828
|
+
* the behaviour of the doxygen2docusaurus conversion process, including
|
|
2829
|
+
* paths, URLs, styling, and feature toggles.
|
|
2830
|
+
*
|
|
2831
|
+
* @public
|
|
2832
|
+
*/
|
|
2833
|
+
export declare class CliOptions {
|
|
2834
|
+
/**
|
|
2835
|
+
* Path to the Doxygen XML input folder relative to the website folder.
|
|
2836
|
+
*
|
|
2837
|
+
* @remarks
|
|
2838
|
+
* Specifies the location of XML files generated by Doxygen, typically
|
|
2839
|
+
* containing the parsed documentation data. Path should not include
|
|
2840
|
+
* initial or final slashes.
|
|
2841
|
+
*
|
|
2842
|
+
* @defaultValue 'doxygen/xml'
|
|
2843
|
+
*/
|
|
2844
|
+
doxygenXmlInputFolderPath: string;
|
|
2845
|
+
/**
|
|
2846
|
+
* Path to the documentation folder relative to the website folder.
|
|
2847
|
+
*
|
|
2848
|
+
* @remarks
|
|
2849
|
+
* Defines the base folder where generated documentation will be placed
|
|
2850
|
+
* within the Docusaurus website structure. Path should not include
|
|
2851
|
+
* initial or final slashes.
|
|
2852
|
+
*
|
|
2853
|
+
* @defaultValue 'docs'
|
|
2854
|
+
*/
|
|
2855
|
+
docsFolderPath: string;
|
|
2856
|
+
/**
|
|
2857
|
+
* Path to the API documentation folder relative to the docs folder.
|
|
2858
|
+
*
|
|
2859
|
+
* @remarks
|
|
2860
|
+
* Specifies the subfolder within the docs folder where API reference
|
|
2861
|
+
* documentation will be generated. Path should not include initial
|
|
2862
|
+
* or final slashes.
|
|
2863
|
+
*
|
|
2864
|
+
* @defaultValue 'api'
|
|
2865
|
+
*/
|
|
2866
|
+
apiFolderPath: string;
|
|
2867
|
+
/**
|
|
2868
|
+
* Base URL for the entire website.
|
|
2869
|
+
*
|
|
2870
|
+
* @remarks
|
|
2871
|
+
* Defines the root URL path for the website, typically '/' for root
|
|
2872
|
+
* deployment or '/project-name/' for GitHub Pages or similar hosting.
|
|
2873
|
+
*
|
|
2874
|
+
* @defaultValue '/'
|
|
2875
|
+
*/
|
|
2876
|
+
baseUrl: string;
|
|
2877
|
+
/**
|
|
2878
|
+
* URL path to the documentation section relative to the website root.
|
|
2879
|
+
*
|
|
2880
|
+
* @remarks
|
|
2881
|
+
* Specifies the URL segment that leads to the documentation section,
|
|
2882
|
+
* without initial or final slashes. Used for navigation and linking.
|
|
2883
|
+
*
|
|
2884
|
+
* @defaultValue 'docs'
|
|
2885
|
+
*/
|
|
2886
|
+
docsBaseUrl: string;
|
|
2887
|
+
/**
|
|
2888
|
+
* URL path to the API documentation relative to the docs section.
|
|
2889
|
+
*
|
|
2890
|
+
* @remarks
|
|
2891
|
+
* Defines the URL segment for API documentation within the docs section,
|
|
2892
|
+
* without initial or final slashes. Used for generating navigation links.
|
|
2893
|
+
*
|
|
2894
|
+
* @defaultValue 'api'
|
|
2895
|
+
*/
|
|
2896
|
+
apiBaseUrl: string;
|
|
2897
|
+
/**
|
|
2898
|
+
* Path for images relative to the `static` folder.
|
|
2899
|
+
*
|
|
2900
|
+
* @remarks
|
|
2901
|
+
* Specifies where Doxygen-generated images will be stored within the
|
|
2902
|
+
* Docusaurus static assets folder structure.
|
|
2903
|
+
*
|
|
2904
|
+
* @defaultValue 'assets/images/doxygen'
|
|
2905
|
+
*/
|
|
2906
|
+
imagesFolderPath: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* Output folder for compatibility redirect files.
|
|
2909
|
+
*
|
|
2910
|
+
* @remarks
|
|
2911
|
+
* Optional path relative to the website/static folder where HTML redirect
|
|
2912
|
+
* files will be generated to maintain compatibility with original Doxygen
|
|
2913
|
+
* URLs. When undefined, no redirect files are created.
|
|
2914
|
+
*/
|
|
2915
|
+
compatibilityRedirectsOutputFolderPath?: string | undefined;
|
|
2916
|
+
/**
|
|
2917
|
+
* Title displayed on the main API documentation page.
|
|
2918
|
+
*
|
|
2919
|
+
* @remarks
|
|
2920
|
+
* When specified, this title overrides the default title generated from
|
|
2921
|
+
* the project brief. When empty, the title is automatically constructed
|
|
2922
|
+
* from the project configuration.
|
|
2923
|
+
*
|
|
2924
|
+
* @defaultValue ''
|
|
2925
|
+
*/
|
|
2926
|
+
mainPageTitle: string;
|
|
2927
|
+
/**
|
|
2928
|
+
* Path to the sidebar category configuration file.
|
|
2929
|
+
*
|
|
2930
|
+
* @remarks
|
|
2931
|
+
* Specifies the location where the generated sidebar category JSON
|
|
2932
|
+
* configuration will be written, relative to the current website folder.
|
|
2933
|
+
*
|
|
2934
|
+
* @defaultValue 'sidebar-category-doxygen.json'
|
|
2935
|
+
*/
|
|
2936
|
+
sidebarCategoryFilePath: string;
|
|
2937
|
+
/**
|
|
2938
|
+
* Label displayed in the Docusaurus sidebar for the API documentation.
|
|
2939
|
+
*
|
|
2940
|
+
* @remarks
|
|
2941
|
+
* Short descriptive text that appears in the sidebar navigation to
|
|
2942
|
+
* identify the API reference section.
|
|
2943
|
+
*
|
|
2944
|
+
* @defaultValue 'API Reference (Doxygen)'
|
|
2945
|
+
*/
|
|
2946
|
+
sidebarCategoryLabel: string;
|
|
2947
|
+
/**
|
|
2948
|
+
* Path to the navbar configuration file.
|
|
2949
|
+
*
|
|
2950
|
+
* @remarks
|
|
2951
|
+
* Specifies the location where the generated navbar dropdown JSON
|
|
2952
|
+
* configuration will be written, relative to the current website folder.
|
|
2953
|
+
*
|
|
2954
|
+
* @defaultValue 'docusaurus-config-navbar-doxygen.json'
|
|
2955
|
+
*/
|
|
2956
|
+
navbarFilePath: string;
|
|
2957
|
+
/**
|
|
2958
|
+
* Label displayed in the top navigation bar.
|
|
2959
|
+
*
|
|
2960
|
+
* @remarks
|
|
2961
|
+
* Short text that appears in the Docusaurus top navigation bar to
|
|
2962
|
+
* provide access to the API documentation section.
|
|
2963
|
+
*
|
|
2964
|
+
* @defaultValue 'Reference'
|
|
2965
|
+
*/
|
|
2966
|
+
navbarLabel: string;
|
|
2967
|
+
/**
|
|
2968
|
+
* Position of the navigation menu in the top bar.
|
|
2969
|
+
*
|
|
2970
|
+
* @remarks
|
|
2971
|
+
* Determines whether the API documentation menu appears on the left
|
|
2972
|
+
* or right side of the Docusaurus navigation bar.
|
|
2973
|
+
*
|
|
2974
|
+
* @defaultValue 'left'
|
|
2975
|
+
*/
|
|
2976
|
+
navbarPosition: 'left' | 'right';
|
|
2977
|
+
/**
|
|
2978
|
+
* Path to the custom CSS file for styling overrides.
|
|
2979
|
+
*
|
|
2980
|
+
* @remarks
|
|
2981
|
+
* Specifies the location where custom CSS styles will be written to
|
|
2982
|
+
* provide Doxygen-specific styling within the Docusaurus theme.
|
|
2983
|
+
* Path is relative to the current website folder.
|
|
2984
|
+
*
|
|
2985
|
+
* @defaultValue 'src/css/custom-doxygen2docusaurus.css'
|
|
2986
|
+
*/
|
|
2987
|
+
customCssFilePath: string;
|
|
2988
|
+
/**
|
|
2989
|
+
* Controls verbose output during the conversion process.
|
|
2990
|
+
*
|
|
2991
|
+
* @remarks
|
|
2992
|
+
* When enabled, provides detailed logging information about the
|
|
2993
|
+
* conversion process, including file processing status and statistics.
|
|
2994
|
+
*
|
|
2995
|
+
* @defaultValue false
|
|
2996
|
+
*/
|
|
2997
|
+
verbose: boolean;
|
|
2998
|
+
/**
|
|
2999
|
+
* Controls debug-level output during the conversion process.
|
|
3000
|
+
*
|
|
3001
|
+
* @remarks
|
|
3002
|
+
* When enabled, provides extensive debugging information useful for
|
|
3003
|
+
* troubleshooting issues. Automatically enables verbose output as well.
|
|
3004
|
+
*
|
|
3005
|
+
* @defaultValue false
|
|
3006
|
+
*/
|
|
3007
|
+
debug: boolean;
|
|
3008
|
+
/**
|
|
3009
|
+
* Controls whether TODO suggestion descriptions are displayed.
|
|
3010
|
+
*
|
|
3011
|
+
* @remarks
|
|
3012
|
+
* When enabled, shows suggestions for improvements or missing content
|
|
3013
|
+
* that could enhance the generated documentation quality.
|
|
3014
|
+
*
|
|
3015
|
+
* @defaultValue false
|
|
3016
|
+
*/
|
|
3017
|
+
suggestToDoDescriptions: boolean;
|
|
3018
|
+
/**
|
|
3019
|
+
* Controls whether pages are listed at the top of the sidebar.
|
|
3020
|
+
*
|
|
3021
|
+
* @remarks
|
|
3022
|
+
* When enabled, places page links prominently at the top of the sidebar
|
|
3023
|
+
* navigation structure for easier access to important pages.
|
|
3024
|
+
*
|
|
3025
|
+
* @defaultValue true
|
|
3026
|
+
*/
|
|
3027
|
+
listPagesAtTop: boolean;
|
|
3028
|
+
/**
|
|
3029
|
+
* Controls program listing rendering in File pages.
|
|
3030
|
+
*
|
|
3031
|
+
* @remarks
|
|
3032
|
+
* When enabled, includes syntax-highlighted source code listings
|
|
3033
|
+
* within the generated File documentation pages.
|
|
3034
|
+
*
|
|
3035
|
+
* @defaultValue true
|
|
3036
|
+
*/
|
|
3037
|
+
renderProgramListing: boolean;
|
|
3038
|
+
/**
|
|
3039
|
+
* Controls program listing rendering in member definition sections.
|
|
3040
|
+
*
|
|
3041
|
+
* @remarks
|
|
3042
|
+
* When enabled, includes inline syntax-highlighted code snippets
|
|
3043
|
+
* within member documentation sections for better context.
|
|
3044
|
+
*
|
|
3045
|
+
* @defaultValue true
|
|
3046
|
+
*/
|
|
3047
|
+
renderProgramListingInline: boolean;
|
|
3048
|
+
/**
|
|
3049
|
+
* Note about the location of original Doxygen pages.
|
|
3050
|
+
*
|
|
3051
|
+
* @remarks
|
|
3052
|
+
* Provides information about where to find the original Doxygen HTML
|
|
3053
|
+
* pages for comparison purposes. When populated, this note is displayed
|
|
3054
|
+
* to inform users about the availability of alternative documentation
|
|
3055
|
+
* formats.
|
|
3056
|
+
*/
|
|
3057
|
+
originalPagesNote: string;
|
|
3058
|
+
/**
|
|
3059
|
+
* String identifier for distinguishing multiple configuration instances.
|
|
3060
|
+
*
|
|
3061
|
+
* @remarks
|
|
3062
|
+
* Used when multiple configuration instances exist to provide unique
|
|
3063
|
+
* identification. Particularly useful in multi-configuration scenarios
|
|
3064
|
+
* where different settings need to be applied to different outputs.
|
|
3065
|
+
*
|
|
3066
|
+
* @defaultValue 'default'
|
|
3067
|
+
*/
|
|
3068
|
+
id: string;
|
|
3069
|
+
/**
|
|
3070
|
+
* Creates a new CliOptions instance with the specified command options.
|
|
3071
|
+
*
|
|
3072
|
+
* @remarks
|
|
3073
|
+
* Initialises the configuration object by setting the ID and optional
|
|
3074
|
+
* flags like verbose and debug. When the ID is not 'default', adjusts
|
|
3075
|
+
* folder paths and file names to include the ID for multi-configuration
|
|
3076
|
+
* scenarios.
|
|
3077
|
+
*
|
|
3078
|
+
* @param commandOptions - Command-line options object containing ID and flags
|
|
3079
|
+
*/
|
|
3080
|
+
constructor(commandOptions: CommandOptions);
|
|
3081
|
+
/**
|
|
3082
|
+
* Parses configuration options from various JSON configuration sources.
|
|
3083
|
+
*
|
|
3084
|
+
* @remarks
|
|
3085
|
+
* Attempts to load configuration from multiple locations in order of
|
|
3086
|
+
* preference: config/doxygen2docusaurus.json, doxygen2docusaurus.json,
|
|
3087
|
+
* and package.json. Validates required properties and enables debug
|
|
3088
|
+
* output if requested.
|
|
3089
|
+
*
|
|
3090
|
+
* @throws Assertion error if required configuration properties are missing
|
|
3091
|
+
*/
|
|
3092
|
+
parse(): Promise<void>;
|
|
3093
|
+
/**
|
|
3094
|
+
* Selects the appropriate configuration from multi-configuration options.
|
|
3095
|
+
*
|
|
3096
|
+
* @remarks
|
|
3097
|
+
* When using a specific ID, returns the corresponding configuration.
|
|
3098
|
+
* For the default ID, returns either the 'default' configuration or
|
|
3099
|
+
* treats the entire object as a single configuration.
|
|
3100
|
+
*
|
|
3101
|
+
* @param multiConfigurations - Configuration object or multi-config map
|
|
3102
|
+
* @returns Selected configuration options or undefined if not found
|
|
3103
|
+
*/
|
|
3104
|
+
selectMultiConfiguration(multiConfigurations: CliConfigurationOptions | MultiConfigurations): CliConfigurationOptions | undefined;
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3107
|
+
/**
|
|
3108
|
+
* Data model for individual code line elements within program listings.
|
|
3109
|
+
*
|
|
3110
|
+
* @remarks
|
|
3111
|
+
* Represents a single line of source code with optional syntax highlighting,
|
|
3112
|
+
* line numbering, and cross-reference information. This implementation
|
|
3113
|
+
* processes Doxygen's codeline elements, which form the fundamental
|
|
3114
|
+
* building blocks of program listings and code examples within the
|
|
3115
|
+
* documentation.
|
|
3116
|
+
*
|
|
3117
|
+
* @public
|
|
3118
|
+
*/
|
|
3119
|
+
export declare class CodeLineDataModel extends AbstractCodeLineType {
|
|
3120
|
+
/**
|
|
3121
|
+
* Constructs a CodeLineDataModel from XML element data.
|
|
3122
|
+
*
|
|
3123
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3124
|
+
* @param element - The XML element object containing the codeline data
|
|
3125
|
+
*
|
|
3126
|
+
* @remarks
|
|
3127
|
+
* This constructor delegates to the parent AbstractCodeLineType to handle
|
|
3128
|
+
* the standard code line processing whilst specifically identifying the
|
|
3129
|
+
* element as a 'codeline' type for proper XML schema compliance.
|
|
3130
|
+
*/
|
|
3131
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3132
|
+
}
|
|
3133
|
+
|
|
3134
|
+
/**
|
|
3135
|
+
* Command line argument options passed to the application.
|
|
3136
|
+
*
|
|
3137
|
+
* @remarks
|
|
3138
|
+
* Represents the parsed command line arguments with flexible typing
|
|
3139
|
+
* to accommodate various option formats and undefined values.
|
|
3140
|
+
*
|
|
3141
|
+
* @public
|
|
3142
|
+
*/
|
|
3143
|
+
declare type CommandOptions = Record<string, string | boolean | undefined>;
|
|
3144
|
+
|
|
3145
|
+
/**
|
|
3146
|
+
* Concrete implementation of compound definition data model.
|
|
3147
|
+
*
|
|
3148
|
+
* @remarks
|
|
3149
|
+
* Provides the primary data model implementation for Doxygen compound
|
|
3150
|
+
* definitions, handling all types of compounds including classes, structures,
|
|
3151
|
+
* files, namespaces, and pages. This class serves as the main entry point
|
|
3152
|
+
* for processing compound definition XML elements in the Doxygen output.
|
|
3153
|
+
*
|
|
3154
|
+
* @public
|
|
3155
|
+
*/
|
|
3156
|
+
export declare class CompoundDefDataModel extends AbstractCompoundDefType {
|
|
3157
|
+
/**
|
|
3158
|
+
* Constructs a new CompoundDefDataModel instance.
|
|
3159
|
+
*
|
|
3160
|
+
* @remarks
|
|
3161
|
+
* Creates a data model object for 'compounddef' XML elements by delegating
|
|
3162
|
+
* to the parent constructor with the appropriate element name. This
|
|
3163
|
+
* represents the root element for all compound definitions in Doxygen XML
|
|
3164
|
+
* output.
|
|
3165
|
+
*
|
|
3166
|
+
* @param xml - The XML parser instance for processing elements
|
|
3167
|
+
* @param element - The XML element object to parse
|
|
3168
|
+
*/
|
|
3169
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3170
|
+
}
|
|
3171
|
+
|
|
3172
|
+
/**
|
|
3173
|
+
* Top-level data model class for orchestrating Doxygen XML parsing and data
|
|
3174
|
+
* organisation.
|
|
3175
|
+
*
|
|
3176
|
+
* @remarks
|
|
3177
|
+
* This class serves as the primary entry point for parsing Doxygen-generated
|
|
3178
|
+
* XML files and constructing a comprehensive data model. It coordinates the
|
|
3179
|
+
* parsing of index files, compound definitions, and configuration files,
|
|
3180
|
+
* maintaining references to all parsed content for subsequent processing.
|
|
3181
|
+
* The class provides methods for sequential parsing operations and ensures
|
|
3182
|
+
* data integrity throughout the parsing workflow.
|
|
3183
|
+
*
|
|
3184
|
+
* @public
|
|
3185
|
+
*/
|
|
3186
|
+
export declare class DataModel {
|
|
3187
|
+
/**
|
|
3188
|
+
* The global configuration options for the parsing operation.
|
|
3189
|
+
*
|
|
3190
|
+
* @remarks
|
|
3191
|
+
* Contains command-line interface options that control the behaviour of
|
|
3192
|
+
* the parser and influence how XML files are processed and data models
|
|
3193
|
+
* are constructed.
|
|
3194
|
+
*/
|
|
3195
|
+
options: CliOptions;
|
|
3196
|
+
/**
|
|
3197
|
+
* The XML parser instance used for processing Doxygen XML files.
|
|
3198
|
+
*
|
|
3199
|
+
* @remarks
|
|
3200
|
+
* Provides low-level XML parsing functionality and utility methods for
|
|
3201
|
+
* extracting elements, attributes, and text content from the parsed XML
|
|
3202
|
+
* structure.
|
|
3203
|
+
*/
|
|
3204
|
+
xml: DoxygenXmlParser;
|
|
3205
|
+
/**
|
|
3206
|
+
* Counter tracking the number of XML files successfully parsed.
|
|
3207
|
+
*
|
|
3208
|
+
* @remarks
|
|
3209
|
+
* Incremented for each XML file processed during the parsing operation,
|
|
3210
|
+
* providing metrics for progress monitoring and diagnostic reporting.
|
|
3211
|
+
*
|
|
3212
|
+
* @defaultValue 0
|
|
3213
|
+
*/
|
|
3214
|
+
parsedFilesCounter: number;
|
|
3215
|
+
/**
|
|
3216
|
+
* The parsed Doxygen index data model from the main index XML file.
|
|
3217
|
+
*
|
|
3218
|
+
* @remarks
|
|
3219
|
+
* Contains the top-level index structure that references all compound
|
|
3220
|
+
* definitions and provides the navigation structure for the documentation.
|
|
3221
|
+
* Populated during the initial parsing phase from `index.xml`.
|
|
3222
|
+
*/
|
|
3223
|
+
doxygenindex?: DoxygenIndexDataModel;
|
|
3224
|
+
/**
|
|
3225
|
+
* Collection of compound definition data models parsed from individual XML
|
|
3226
|
+
* files.
|
|
3227
|
+
*
|
|
3228
|
+
* @remarks
|
|
3229
|
+
* Each compound definition represents a documented entity such as a class,
|
|
3230
|
+
* namespace, or file, along with its members and associated documentation.
|
|
3231
|
+
* Populated by parsing XML files referenced in the index.
|
|
3232
|
+
*/
|
|
3233
|
+
compoundDefs: CompoundDefDataModel[];
|
|
3234
|
+
/**
|
|
3235
|
+
* The parsed Doxyfile configuration data model.
|
|
3236
|
+
*
|
|
3237
|
+
* @remarks
|
|
3238
|
+
* Contains the Doxygen configuration options and settings that influenced
|
|
3239
|
+
* the generation of the XML documentation. Parsed from `Doxyfile.xml` if
|
|
3240
|
+
* present in the input folder.
|
|
3241
|
+
*/
|
|
3242
|
+
doxyfile?: DoxygenFileDataModel;
|
|
3243
|
+
/**
|
|
3244
|
+
* The project version string extracted from the documentation metadata.
|
|
3245
|
+
*
|
|
3246
|
+
* @remarks
|
|
3247
|
+
* Optional version identifier for the documented project, typically derived
|
|
3248
|
+
* from the Doxygen configuration or project metadata during parsing.
|
|
3249
|
+
*/
|
|
3250
|
+
projectVersion?: string;
|
|
3251
|
+
/**
|
|
3252
|
+
* Constructs a new DataModel instance with the specified configuration
|
|
3253
|
+
* options.
|
|
3254
|
+
*
|
|
3255
|
+
* @param options - The command-line interface options for controlling parsing
|
|
3256
|
+
* behaviour
|
|
3257
|
+
*
|
|
3258
|
+
* @remarks
|
|
3259
|
+
* Initialises the data model with the provided configuration options and
|
|
3260
|
+
* creates a new DoxygenXmlParser instance for XML processing. The compound
|
|
3261
|
+
* definitions array is initialised as empty and will be populated during
|
|
3262
|
+
* the parsing phase.
|
|
3263
|
+
*/
|
|
3264
|
+
constructor(options: CliOptions);
|
|
3265
|
+
/**
|
|
3266
|
+
* Orchestrates the complete parsing of Doxygen XML files and data model
|
|
3267
|
+
* construction.
|
|
3268
|
+
*
|
|
3269
|
+
* @remarks
|
|
3270
|
+
* This method performs the complete parsing workflow in sequential phases:
|
|
3271
|
+
* parsing the main index file, processing all referenced compound XML files,
|
|
3272
|
+
* and parsing the Doxyfile configuration. It maintains the original XML
|
|
3273
|
+
* element order and content fidelity throughout the process. Progress
|
|
3274
|
+
* information is logged to the console, with detailed output in verbose mode.
|
|
3275
|
+
*/
|
|
3276
|
+
parse(): Promise<void>;
|
|
3277
|
+
/**
|
|
3278
|
+
* Parses the main Doxygen index XML file and initialises the index data
|
|
3279
|
+
* model.
|
|
3280
|
+
*
|
|
3281
|
+
* @remarks
|
|
3282
|
+
* This method reads and parses the `index.xml` file, ignoring the XML
|
|
3283
|
+
* prologue and top-level text nodes. It extracts the `doxygenindex`
|
|
3284
|
+
* element and constructs the corresponding data model. Any unrecognised
|
|
3285
|
+
* elements are logged for diagnostic purposes.
|
|
3286
|
+
*/
|
|
3287
|
+
parseDoxygenIndex(): Promise<void>;
|
|
3288
|
+
/**
|
|
3289
|
+
* Processes compound definitions from the parsed Doxygen XML elements.
|
|
3290
|
+
*
|
|
3291
|
+
* @param indexCompound - The compound index data model
|
|
3292
|
+
* @param parsedDoxygenElements - The array of parsed XML elements for the
|
|
3293
|
+
* compound
|
|
3294
|
+
*
|
|
3295
|
+
* @remarks
|
|
3296
|
+
* This method iterates through the parsed XML elements, ignoring the XML
|
|
3297
|
+
* prologue and top-level text nodes. For recognised `doxygen` elements, it
|
|
3298
|
+
* constructs the compound definitions and appends them to the internal data
|
|
3299
|
+
* model. Unrecognised elements are logged for further analysis.
|
|
3300
|
+
*/
|
|
3301
|
+
processCompoundDefs(indexCompound: IndexCompoundDataModel, parsedDoxygenElements: XmlElement[]): void;
|
|
3302
|
+
/**
|
|
3303
|
+
* Processes member definitions and updates member kinds where necessary.
|
|
3304
|
+
*
|
|
3305
|
+
* @remarks
|
|
3306
|
+
* This method traverses all compound definitions and their associated
|
|
3307
|
+
* sections. It collects member definitions by their identifiers and, for
|
|
3308
|
+
* each member with an empty kind, assigns the kind from the corresponding
|
|
3309
|
+
* member definition. This ensures that all members are correctly classified
|
|
3310
|
+
* within the internal data model.
|
|
3311
|
+
*/
|
|
3312
|
+
processMemberdefs(): void;
|
|
3313
|
+
/**
|
|
3314
|
+
* Parses the Doxyfile XML and initialises the configuration data model.
|
|
3315
|
+
*
|
|
3316
|
+
* @remarks
|
|
3317
|
+
* This method reads and parses the `Doxyfile.xml` file, ignoring the XML
|
|
3318
|
+
* prologue and top-level text nodes. It extracts the `doxyfile` element and
|
|
3319
|
+
* constructs the corresponding configuration data model. Any unrecognised
|
|
3320
|
+
* elements are logged for diagnostic purposes.
|
|
3321
|
+
*/
|
|
3322
|
+
parseDoxyfile(): Promise<void>;
|
|
3323
|
+
/**
|
|
3324
|
+
* Reads and parses the specified XML file, returning the parsed content.
|
|
3325
|
+
*
|
|
3326
|
+
* @param fileName - The name of the XML file to be parsed
|
|
3327
|
+
* @returns A promise that resolves to the parsed XML content
|
|
3328
|
+
*
|
|
3329
|
+
* @remarks
|
|
3330
|
+
* This method constructs the full file path using the configured input
|
|
3331
|
+
* folder, reads the XML file as a UTF-8 string, and parses it using the
|
|
3332
|
+
* configured XML parser. The method increments the internal counter for
|
|
3333
|
+
* parsed files and, if verbose mode is enabled, logs the file being parsed.
|
|
3334
|
+
*/
|
|
3335
|
+
parseFile({ fileName }: {
|
|
3336
|
+
fileName: string;
|
|
3337
|
+
}): Promise<any>;
|
|
3338
|
+
}
|
|
3339
|
+
|
|
3340
|
+
/**
|
|
3341
|
+
* Data model for default value elements within documentation content.
|
|
3342
|
+
*
|
|
3343
|
+
* @remarks
|
|
3344
|
+
* Represents default value elements that contain parameter default values
|
|
3345
|
+
* within function and method documentation. This implementation processes
|
|
3346
|
+
* Doxygen's defval elements, which contain mixed text and reference content
|
|
3347
|
+
* describing the default values assigned to function parameters when no
|
|
3348
|
+
* explicit value is provided during function calls.
|
|
3349
|
+
*
|
|
3350
|
+
* The linked text structure enables cross-references to constants, enums,
|
|
3351
|
+
* and other symbols used within default value expressions.
|
|
3352
|
+
*
|
|
3353
|
+
* @public
|
|
3354
|
+
*/
|
|
3355
|
+
export declare class DefValDataModel extends AbstractLinkedTextType {
|
|
3356
|
+
/**
|
|
3357
|
+
* Constructs a DefValDataModel from XML element data.
|
|
3358
|
+
*
|
|
3359
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3360
|
+
* @param element - The XML element object containing the default value data
|
|
3361
|
+
*
|
|
3362
|
+
* @remarks
|
|
3363
|
+
* This constructor delegates to the parent AbstractLinkedTextType to
|
|
3364
|
+
* handle linked text processing whilst identifying the element as 'defval'
|
|
3365
|
+
* for proper XML schema compliance and default value content processing.
|
|
3366
|
+
*/
|
|
3367
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3368
|
+
}
|
|
3369
|
+
|
|
3370
|
+
/**
|
|
3371
|
+
* Data model for derived compound references in inheritance relationships.
|
|
3372
|
+
*
|
|
3373
|
+
* @remarks
|
|
3374
|
+
* Represents references to derived classes or child compounds in inheritance
|
|
3375
|
+
* hierarchies as documented by Doxygen. This class handles the
|
|
3376
|
+
* 'derivedcompoundref' XML elements that establish child-parent relationships
|
|
3377
|
+
* in object-oriented documentation structures.
|
|
3378
|
+
*
|
|
3379
|
+
* @public
|
|
3380
|
+
*/
|
|
3381
|
+
export declare class DerivedCompoundRefDataModel extends AbstractCompoundRefType {
|
|
3382
|
+
/**
|
|
3383
|
+
* Constructs a new DerivedCompoundRefDataModel instance.
|
|
3384
|
+
*
|
|
3385
|
+
* @remarks
|
|
3386
|
+
* Creates a data model object for 'derivedcompoundref' XML elements,
|
|
3387
|
+
* representing inheritance relationships where other compounds derive
|
|
3388
|
+
* from the current compound as their base.
|
|
3389
|
+
*
|
|
3390
|
+
* @param xml - The XML parser instance for processing elements
|
|
3391
|
+
* @param element - The XML element object to parse
|
|
3392
|
+
*/
|
|
3393
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3394
|
+
}
|
|
3395
|
+
|
|
3396
|
+
/**
|
|
3397
|
+
* Data model for general description elements within documentation.
|
|
3398
|
+
*
|
|
3399
|
+
* @remarks
|
|
3400
|
+
* Represents general description elements that provide standard documentation
|
|
3401
|
+
* content for entities. This implementation processes Doxygen's description
|
|
3402
|
+
* elements, which contain descriptive content including paragraphs and
|
|
3403
|
+
* other documentation structures for general-purpose descriptions.
|
|
3404
|
+
*
|
|
3405
|
+
* @public
|
|
3406
|
+
*/
|
|
3407
|
+
export declare class DescriptionDataModel extends AbstractDescriptionType {
|
|
3408
|
+
/**
|
|
3409
|
+
* Constructs a DescriptionDataModel from XML element data.
|
|
3410
|
+
*
|
|
3411
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3412
|
+
* @param element - The XML element object containing the description data
|
|
3413
|
+
*
|
|
3414
|
+
* @remarks
|
|
3415
|
+
* This constructor delegates to the parent AbstractDescriptionType whilst
|
|
3416
|
+
* identifying the element as 'description' for general-purpose description
|
|
3417
|
+
* content processing and documentation organisation.
|
|
3418
|
+
*/
|
|
3419
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3420
|
+
}
|
|
3421
|
+
|
|
3422
|
+
/**
|
|
3423
|
+
* @public
|
|
3424
|
+
*/
|
|
3425
|
+
/**
|
|
3426
|
+
* Data model for detailed description elements within documentation.
|
|
3427
|
+
*
|
|
3428
|
+
* @remarks
|
|
3429
|
+
* Represents detailed description elements that provide comprehensive
|
|
3430
|
+
* documentation content for entities. This implementation processes
|
|
3431
|
+
* Doxygen's detaileddescription elements, which contain extensive
|
|
3432
|
+
* descriptive content including paragraphs, sections, lists, and
|
|
3433
|
+
* other rich documentation structures.
|
|
3434
|
+
*
|
|
3435
|
+
* @public
|
|
3436
|
+
*/
|
|
3437
|
+
export declare class DetailedDescriptionDataModel extends AbstractDescriptionType {
|
|
3438
|
+
/**
|
|
3439
|
+
* Constructs a DetailedDescriptionDataModel from XML element data.
|
|
3440
|
+
*
|
|
3441
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3442
|
+
* @param element - The XML element object containing the detailed
|
|
3443
|
+
* description data
|
|
3444
|
+
*
|
|
3445
|
+
* @remarks
|
|
3446
|
+
* This constructor delegates to the parent AbstractDescriptionType whilst
|
|
3447
|
+
* identifying the element as 'detaileddescription' for comprehensive
|
|
3448
|
+
* content processing and documentation organisation.
|
|
3449
|
+
*/
|
|
3450
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3451
|
+
}
|
|
3452
|
+
|
|
3453
|
+
/**
|
|
3454
|
+
* Concrete data model class for doxyfile elements.
|
|
3455
|
+
*
|
|
3456
|
+
* @remarks
|
|
3457
|
+
* Represents the root element of Doxyfile XML configuration files,
|
|
3458
|
+
* extending the abstract base class to provide specific handling for
|
|
3459
|
+
* 'doxyfile' elements. This class serves as the primary entry point
|
|
3460
|
+
* for parsing Doxygen configuration files and provides access to all
|
|
3461
|
+
* configuration options and metadata contained within the file structure.
|
|
3462
|
+
*
|
|
3463
|
+
* @public
|
|
3464
|
+
*/
|
|
3465
|
+
export declare class DoxygenFileDataModel extends AbstractDoxygenFileType {
|
|
3466
|
+
/**
|
|
3467
|
+
* Constructs a new DoxygenFileDataModel instance from XML data.
|
|
3468
|
+
*
|
|
3469
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
3470
|
+
* @param element - The XML element containing the doxyfile data
|
|
3471
|
+
*
|
|
3472
|
+
* @remarks
|
|
3473
|
+
* Initialises the Doxyfile data model by parsing the provided XML element
|
|
3474
|
+
* as a 'doxyfile' element type. The constructor delegates to the parent
|
|
3475
|
+
* class for common configuration processing whilst specifying the element
|
|
3476
|
+
* name for proper XML structure handling.
|
|
3477
|
+
*/
|
|
3478
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3479
|
+
}
|
|
3480
|
+
|
|
3481
|
+
/**
|
|
3482
|
+
* Concrete data model class for Doxyfile option elements.
|
|
3483
|
+
*
|
|
3484
|
+
* @remarks
|
|
3485
|
+
* Represents individual configuration option elements found within
|
|
3486
|
+
* Doxyfile XML structures. This class extends the abstract base to
|
|
3487
|
+
* provide specific handling for 'option' elements, which define
|
|
3488
|
+
* individual Doxygen configuration settings including their identifiers,
|
|
3489
|
+
* types, default status, and associated values. Each option corresponds
|
|
3490
|
+
* to a specific configuration parameter that controls Doxygen's
|
|
3491
|
+
* documentation generation behaviour.
|
|
3492
|
+
*
|
|
3493
|
+
* @public
|
|
3494
|
+
*/
|
|
3495
|
+
export declare class DoxygenFileOptionDataModel extends AbstractDoxygenFileOptionType {
|
|
3496
|
+
/**
|
|
3497
|
+
* Constructs a new DoxygenFileOptionDataModel instance from XML data.
|
|
3498
|
+
*
|
|
3499
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
3500
|
+
* @param element - The XML element containing the option data
|
|
3501
|
+
*
|
|
3502
|
+
* @remarks
|
|
3503
|
+
* Initialises the option data model by parsing the provided XML element
|
|
3504
|
+
* as an 'option' element type. The constructor delegates to the parent
|
|
3505
|
+
* class for common option processing whilst specifying the element name
|
|
3506
|
+
* for proper XML structure handling.
|
|
3507
|
+
*/
|
|
3508
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3509
|
+
}
|
|
3510
|
+
|
|
3511
|
+
/**
|
|
3512
|
+
* Concrete data model class for doxygenindex elements.
|
|
3513
|
+
*
|
|
3514
|
+
* @remarks
|
|
3515
|
+
* Represents the root element of Doxygen index XML files, extending the
|
|
3516
|
+
* abstract base class to provide specific handling for 'doxygenindex'
|
|
3517
|
+
* elements. This class serves as the primary entry point for parsing
|
|
3518
|
+
* index files and provides access to all compound definitions and
|
|
3519
|
+
* metadata contained within the index structure.
|
|
3520
|
+
*
|
|
3521
|
+
* @public
|
|
3522
|
+
*/
|
|
3523
|
+
export declare class DoxygenIndexDataModel extends AbstractIndexDoxygenType {
|
|
3524
|
+
/**
|
|
3525
|
+
* Constructs a new DoxygenIndexDataModel instance from XML data.
|
|
3526
|
+
*
|
|
3527
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
3528
|
+
* @param element - The XML element containing the doxygenindex data
|
|
3529
|
+
*
|
|
3530
|
+
* @remarks
|
|
3531
|
+
* Initialises the Doxygen index data model by parsing the provided XML
|
|
3532
|
+
* element as a 'doxygenindex' element type. The constructor delegates
|
|
3533
|
+
* to the parent class for common processing whilst specifying the
|
|
3534
|
+
* element name for proper XML structure handling.
|
|
3535
|
+
*/
|
|
3536
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
/**
|
|
3540
|
+
* XML parser for Doxygen-generated documentation files.
|
|
3541
|
+
*
|
|
3542
|
+
* @remarks
|
|
3543
|
+
* This class initialises the XML parser with options that preserve the order
|
|
3544
|
+
* and structure of the original XML content, ensuring accurate conversion
|
|
3545
|
+
* for documentation purposes. It maintains a counter for the number of files
|
|
3546
|
+
* parsed and stores the resulting data model.
|
|
3547
|
+
*
|
|
3548
|
+
* The parser is configured to handle Doxygen's specific XML format whilst
|
|
3549
|
+
* maintaining fidelity to the source structure and content organisation.
|
|
3550
|
+
*
|
|
3551
|
+
* @example
|
|
3552
|
+
* ```typescript
|
|
3553
|
+
* const parser = new DoxygenXmlParser({ options });
|
|
3554
|
+
* const dataModel = await parser.parse();
|
|
3555
|
+
* ```
|
|
3556
|
+
*
|
|
3557
|
+
* @public
|
|
3558
|
+
*/
|
|
3559
|
+
export declare class DoxygenXmlParser {
|
|
3560
|
+
/**
|
|
3561
|
+
* The global configuration options for the parsing operation.
|
|
3562
|
+
*
|
|
3563
|
+
* @remarks
|
|
3564
|
+
* Contains the command-line interface options that control the behaviour
|
|
3565
|
+
* of the parser throughout the XML processing workflow.
|
|
3566
|
+
*/
|
|
3567
|
+
options: CliOptions;
|
|
3568
|
+
/**
|
|
3569
|
+
* The XML parser instance configured specifically for Doxygen XML format.
|
|
3570
|
+
*
|
|
3571
|
+
* @remarks
|
|
3572
|
+
* Configured with settings that preserve element order, remove namespace
|
|
3573
|
+
* prefixes, and maintain fidelity to the original XML structure for
|
|
3574
|
+
* accurate data model construction.
|
|
3575
|
+
*/
|
|
3576
|
+
xmlParser: XMLParser;
|
|
3577
|
+
/**
|
|
3578
|
+
* Collection of image references extracted during XML parsing.
|
|
3579
|
+
*
|
|
3580
|
+
* @remarks
|
|
3581
|
+
* Accumulates image elements found in the documentation content,
|
|
3582
|
+
* allowing for centralised image processing and reference management.
|
|
3583
|
+
*/
|
|
3584
|
+
images: AbstractDocImageType[];
|
|
3585
|
+
/**
|
|
3586
|
+
* Constructs a new instance of the DoxygenXmlParser class.
|
|
3587
|
+
*
|
|
3588
|
+
* @param options - The global configuration options
|
|
3589
|
+
*
|
|
3590
|
+
* @remarks
|
|
3591
|
+
* This constructor initialises the XML parser with settings that preserve the
|
|
3592
|
+
* order and structure of the original XML content, remove namespace prefixes,
|
|
3593
|
+
* and ensure that both tag and attribute values are parsed. The values are
|
|
3594
|
+
* not trimmed, maintaining fidelity to the source XML. The provided options
|
|
3595
|
+
* are stored for use throughout the parsing process.
|
|
3596
|
+
*/
|
|
3597
|
+
constructor(options: CliOptions);
|
|
3598
|
+
/**
|
|
3599
|
+
* Determines whether the specified XML element has any attributes.
|
|
3600
|
+
*
|
|
3601
|
+
* @param element - The XML element to inspect for attributes
|
|
3602
|
+
* @returns True if the element has attributes; otherwise, false
|
|
3603
|
+
*
|
|
3604
|
+
* @remarks
|
|
3605
|
+
* This method checks for the presence of the ':\@' property on the XML
|
|
3606
|
+
* element, which is the convention used by the XML parser for storing
|
|
3607
|
+
* attributes. If this property exists, the element has attributes; if not,
|
|
3608
|
+
* the element has no attributes. This is a prerequisite check before calling
|
|
3609
|
+
* {@link DoxygenXmlParser.getAttributesNames} or other attribute-related
|
|
3610
|
+
* methods.
|
|
3611
|
+
*/
|
|
3612
|
+
hasAttributes(element: object): boolean;
|
|
3613
|
+
/**
|
|
3614
|
+
* Retrieves the names of all attributes present on the specified XML element.
|
|
3615
|
+
*
|
|
3616
|
+
* @param element - The XML element to inspect for attribute names
|
|
3617
|
+
* @returns An array of strings containing the names of all attributes
|
|
3618
|
+
*
|
|
3619
|
+
* @remarks
|
|
3620
|
+
* This method accesses the ':\@' property of the XML element, which is the
|
|
3621
|
+
* convention used by the XML parser for storing attributes, and returns the
|
|
3622
|
+
* keys of this object as an array of attribute names. The method assumes the
|
|
3623
|
+
* element has attributes and does not perform validation - use
|
|
3624
|
+
* {@link DoxygenXmlParser.hasAttributes} to check for attribute presence
|
|
3625
|
+
* first.
|
|
3626
|
+
*/
|
|
3627
|
+
getAttributesNames(element: object): string[];
|
|
3628
|
+
/**
|
|
3629
|
+
* Determines whether the specified attribute exists on the given XML element.
|
|
3630
|
+
*
|
|
3631
|
+
* @param element - The XML element to inspect
|
|
3632
|
+
* @param name - The name of the attribute to check for
|
|
3633
|
+
* @returns True if the attribute exists; otherwise, false
|
|
3634
|
+
*
|
|
3635
|
+
* @remarks
|
|
3636
|
+
* This method checks for the presence of an attribute within the ':\@'
|
|
3637
|
+
* property of the XML element, which is the convention used by the XML
|
|
3638
|
+
* parser for storing attributes. It returns true if the attribute is found,
|
|
3639
|
+
* otherwise false.
|
|
3640
|
+
*/
|
|
3641
|
+
hasAttribute(element: object, name: string): boolean;
|
|
3642
|
+
/**
|
|
3643
|
+
* Retrieves the value of a named attribute as a string.
|
|
3644
|
+
*
|
|
3645
|
+
* @param element - The XML element containing the attribute
|
|
3646
|
+
* @param name - The name of the attribute to retrieve
|
|
3647
|
+
* @returns The attribute value as a string
|
|
3648
|
+
* @throws If the attribute does not exist
|
|
3649
|
+
*
|
|
3650
|
+
* @remarks
|
|
3651
|
+
* This method checks whether the specified attribute exists on the XML
|
|
3652
|
+
* element and returns its value as a string. If the attribute value is
|
|
3653
|
+
* originally a number (as the XML parser may return numeric strings as
|
|
3654
|
+
* numbers), it is converted to a string to maintain consistency with the
|
|
3655
|
+
* DTD specification. If the attribute is missing, an error is thrown to
|
|
3656
|
+
* indicate the absence.
|
|
3657
|
+
*/
|
|
3658
|
+
getAttributeStringValue(element: object, name: string): string;
|
|
3659
|
+
/**
|
|
3660
|
+
* Retrieves the value of a named attribute as a number.
|
|
3661
|
+
*
|
|
3662
|
+
* @param element - The XML element containing the attribute
|
|
3663
|
+
* @param name - The name of the attribute to retrieve
|
|
3664
|
+
* @returns The attribute value as a number
|
|
3665
|
+
* @throws If the attribute does not exist or is not a number
|
|
3666
|
+
*
|
|
3667
|
+
* @remarks
|
|
3668
|
+
* This method checks whether the specified attribute exists on the XML
|
|
3669
|
+
* element and returns its value as a number. If the attribute is missing
|
|
3670
|
+
* or its value is not a number, an error is thrown to indicate the absence
|
|
3671
|
+
* or incorrect type.
|
|
3672
|
+
*/
|
|
3673
|
+
getAttributeNumberValue(element: object, name: string): number;
|
|
3674
|
+
/**
|
|
3675
|
+
* Retrieves the value of a named attribute as a boolean.
|
|
3676
|
+
*
|
|
3677
|
+
* @param element - The XML element containing the attribute
|
|
3678
|
+
* @param name - The name of the attribute to retrieve
|
|
3679
|
+
* @returns True if the attribute value is 'yes' (case-insensitive);
|
|
3680
|
+
* otherwise, false
|
|
3681
|
+
* @throws If the attribute does not exist or is not a string
|
|
3682
|
+
*
|
|
3683
|
+
* @remarks
|
|
3684
|
+
* This method checks whether the specified attribute exists on the XML
|
|
3685
|
+
* element, and returns true if its value is the string 'yes'
|
|
3686
|
+
* (case-insensitive). If the attribute is missing or its value is not a
|
|
3687
|
+
* string, an error is thrown.
|
|
3688
|
+
*/
|
|
3689
|
+
getAttributeBooleanValue(element: object, name: string): boolean;
|
|
3690
|
+
/**
|
|
3691
|
+
* Determines whether the specified inner element exists on the given XML
|
|
3692
|
+
* element.
|
|
3693
|
+
*
|
|
3694
|
+
* @param element - The XML element to inspect
|
|
3695
|
+
* @param name - The name of the inner element to check for
|
|
3696
|
+
* @returns True if the inner element exists; otherwise, false
|
|
3697
|
+
*
|
|
3698
|
+
* @remarks
|
|
3699
|
+
* This method checks for the presence of a named property on the XML element.
|
|
3700
|
+
* For text nodes ('#text'), it verifies the value is a string, number, or
|
|
3701
|
+
* boolean. For other elements, it confirms the property is an array, as
|
|
3702
|
+
* per the XML parser's convention.
|
|
3703
|
+
*/
|
|
3704
|
+
hasInnerElement(element: object, name: string): boolean;
|
|
3705
|
+
/**
|
|
3706
|
+
* Determines whether a named inner element contains text.
|
|
3707
|
+
*
|
|
3708
|
+
* @param element - The XML element to inspect
|
|
3709
|
+
* @param name - The name of the inner element
|
|
3710
|
+
* @returns True if the inner element contains text or is empty;
|
|
3711
|
+
* otherwise, false
|
|
3712
|
+
*
|
|
3713
|
+
* @remarks
|
|
3714
|
+
* This method checks if the specified inner element exists and contains a
|
|
3715
|
+
* single text node, or is an empty array (representing an empty string).
|
|
3716
|
+
* It asserts the expected structure and type of the value for robustness.
|
|
3717
|
+
*/
|
|
3718
|
+
isInnerElementText(element: object, name: string): boolean;
|
|
3719
|
+
/**
|
|
3720
|
+
* Determines whether the XML element contains a text node.
|
|
3721
|
+
*
|
|
3722
|
+
* @param element - The XML element to inspect
|
|
3723
|
+
* @returns True if the element contains a text node; otherwise, false
|
|
3724
|
+
*
|
|
3725
|
+
* @remarks
|
|
3726
|
+
* This method checks for the presence of a '#text' property on the XML
|
|
3727
|
+
* element, and verifies that its value is a string, number, or boolean.
|
|
3728
|
+
*/
|
|
3729
|
+
hasInnerText(element: object): boolean;
|
|
3730
|
+
/**
|
|
3731
|
+
* Retrieves an array of named child elements from the given XML element.
|
|
3732
|
+
*
|
|
3733
|
+
* @typeParam T - The expected type of the child elements array
|
|
3734
|
+
* (defaults to XmlElement[])
|
|
3735
|
+
* @param element - The XML element containing the child elements
|
|
3736
|
+
* @param name - The name of the child elements to retrieve
|
|
3737
|
+
* @returns The array of child elements
|
|
3738
|
+
* @throws If the child elements do not exist
|
|
3739
|
+
*
|
|
3740
|
+
* @remarks
|
|
3741
|
+
* This method accesses the specified property on the XML element and
|
|
3742
|
+
* returns it as an array of child elements. If the property is undefined,
|
|
3743
|
+
* an error is thrown indicating the absence of the expected child element.
|
|
3744
|
+
*/
|
|
3745
|
+
getInnerElements<T = XmlElement[]>(element: object, name: string): T;
|
|
3746
|
+
/**
|
|
3747
|
+
* Retrieves the text content of a named child element.
|
|
3748
|
+
*
|
|
3749
|
+
* @param element - The XML element containing the child element
|
|
3750
|
+
* @param name - The name of the child element
|
|
3751
|
+
* @returns The text content of the child element
|
|
3752
|
+
* @throws If the child element does not exist or contains more than one
|
|
3753
|
+
* element
|
|
3754
|
+
*
|
|
3755
|
+
* @remarks
|
|
3756
|
+
* This method accesses the specified child element and returns its text
|
|
3757
|
+
* content. If the child element is missing, an error is thrown. If the
|
|
3758
|
+
* child element is empty, an empty string is returned. If there is more
|
|
3759
|
+
* than one child element, an error is thrown to indicate unexpected
|
|
3760
|
+
* structure.
|
|
3761
|
+
*/
|
|
3762
|
+
getInnerElementText(element: object, name: string): string;
|
|
3763
|
+
/**
|
|
3764
|
+
* Retrieves the numeric value of a named child element.
|
|
3765
|
+
*
|
|
3766
|
+
* @param element - The XML element containing the child element
|
|
3767
|
+
* @param name - The name of the child element
|
|
3768
|
+
* @returns The numeric value of the child element
|
|
3769
|
+
* @throws If the child element does not exist or contains more than one
|
|
3770
|
+
* element
|
|
3771
|
+
*
|
|
3772
|
+
* @remarks
|
|
3773
|
+
* This method accesses the specified child element and returns its value
|
|
3774
|
+
* as a number. If the child element is missing, an error is thrown. If the
|
|
3775
|
+
* child element is empty, NaN is returned. If there is more than one child
|
|
3776
|
+
* element, an error is thrown to indicate unexpected structure.
|
|
3777
|
+
*/
|
|
3778
|
+
getInnerElementNumber(element: object, name: string): number;
|
|
3779
|
+
/**
|
|
3780
|
+
* Retrieves the boolean value of a named child element.
|
|
3781
|
+
*
|
|
3782
|
+
* @param element - The XML element containing the child element
|
|
3783
|
+
* @param name - The name of the child element
|
|
3784
|
+
* @returns True if the child element's text is 'true'
|
|
3785
|
+
* (case-insensitive); otherwise, false
|
|
3786
|
+
* @throws If the child element does not exist or contains more than one
|
|
3787
|
+
* element
|
|
3788
|
+
*
|
|
3789
|
+
* @remarks
|
|
3790
|
+
* This method accesses the specified child element and returns its value
|
|
3791
|
+
* as a boolean. If the child element is missing, an error is thrown. If
|
|
3792
|
+
* the child element is empty, false is returned. If there is more than one
|
|
3793
|
+
* child element, an error is thrown to indicate unexpected structure.
|
|
3794
|
+
*/
|
|
3795
|
+
getInnerElementBoolean(element: object, name: string): boolean;
|
|
3796
|
+
/**
|
|
3797
|
+
* Retrieves the text content of the XML element.
|
|
3798
|
+
*
|
|
3799
|
+
* @param element - The XML element to retrieve text from
|
|
3800
|
+
* @returns The text content of the element
|
|
3801
|
+
* @throws If the element does not contain a valid text node
|
|
3802
|
+
*
|
|
3803
|
+
* @remarks
|
|
3804
|
+
* This method accesses the '#text' property of the XML element and
|
|
3805
|
+
* returns its value as a string. It asserts that the value is of type
|
|
3806
|
+
* string, number, or boolean before converting it to a string. If the
|
|
3807
|
+
* property is missing or the value is of an unexpected type, an error is
|
|
3808
|
+
* thrown.
|
|
3809
|
+
*/
|
|
3810
|
+
getInnerText(element: object): string;
|
|
3811
|
+
}
|
|
3812
|
+
|
|
3813
|
+
/**
|
|
3814
|
+
* Concrete implementation of enumeration value data model.
|
|
3815
|
+
*
|
|
3816
|
+
* @remarks
|
|
3817
|
+
* Represents a single enumeration value as parsed from Doxygen XML
|
|
3818
|
+
* output. Inherits all functionality from the abstract base class
|
|
3819
|
+
* and provides the specific element name for parsing.
|
|
3820
|
+
*
|
|
3821
|
+
* @public
|
|
3822
|
+
*/
|
|
3823
|
+
export declare class EnumValueDataModel extends AbstractEnumValueType {
|
|
3824
|
+
/**
|
|
3825
|
+
* Creates a new enumeration value data model from XML.
|
|
3826
|
+
*
|
|
3827
|
+
* @remarks
|
|
3828
|
+
* Parses the XML element representing an enumeration value using
|
|
3829
|
+
* the inherited parsing logic with the 'enumvalue' element name.
|
|
3830
|
+
*
|
|
3831
|
+
* @param xml - The XML parser instance
|
|
3832
|
+
* @param element - The XML element to parse
|
|
3833
|
+
*/
|
|
3834
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
/**
|
|
3838
|
+
* Data model for syntax highlight elements within code listings.
|
|
3839
|
+
*
|
|
3840
|
+
* @remarks
|
|
3841
|
+
* Represents individual syntax highlighting segments that specify how
|
|
3842
|
+
* portions of source code should be styled in the generated documentation.
|
|
3843
|
+
* This implementation processes Doxygen's highlight elements, which contain
|
|
3844
|
+
* the highlight class information and associated text content for proper
|
|
3845
|
+
* syntax colouring.
|
|
3846
|
+
*
|
|
3847
|
+
* @public
|
|
3848
|
+
*/
|
|
3849
|
+
export declare class HighlightDataModel extends AbstractHighlightType {
|
|
3850
|
+
/**
|
|
3851
|
+
* Constructs a HighlightDataModel from XML element data.
|
|
3852
|
+
*
|
|
3853
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3854
|
+
* @param element - The XML element object containing the highlight data
|
|
3855
|
+
*
|
|
3856
|
+
* @remarks
|
|
3857
|
+
* This constructor delegates to the parent AbstractHighlightType to handle
|
|
3858
|
+
* the standard highlight processing whilst specifically identifying the
|
|
3859
|
+
* element as a 'highlight' type for proper XML schema compliance.
|
|
3860
|
+
*/
|
|
3861
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3862
|
+
}
|
|
3863
|
+
|
|
3864
|
+
/**
|
|
3865
|
+
* Data model for in-body description elements within documentation.
|
|
3866
|
+
*
|
|
3867
|
+
* @remarks
|
|
3868
|
+
* Represents in-body description elements that provide documentation
|
|
3869
|
+
* content embedded within source code bodies. This implementation
|
|
3870
|
+
* processes Doxygen's inbodydescription elements for documentation
|
|
3871
|
+
* that appears inline within code implementations.
|
|
3872
|
+
*
|
|
3873
|
+
* @public
|
|
3874
|
+
*/
|
|
3875
|
+
export declare class InbodyDescriptionDataModel extends AbstractDescriptionType {
|
|
3876
|
+
/**
|
|
3877
|
+
* Constructs an InbodyDescriptionDataModel from XML element data.
|
|
3878
|
+
*
|
|
3879
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3880
|
+
* @param element - The XML element object containing the in-body
|
|
3881
|
+
* description data
|
|
3882
|
+
*
|
|
3883
|
+
* @remarks
|
|
3884
|
+
* This constructor delegates to the parent AbstractDescriptionType whilst
|
|
3885
|
+
* identifying the element as 'inbodydescription' for inline documentation
|
|
3886
|
+
* content processing within code implementations.
|
|
3887
|
+
*/
|
|
3888
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3891
|
+
/**
|
|
3892
|
+
* Data model for includedby elements within documentation content.
|
|
3893
|
+
*
|
|
3894
|
+
* @remarks
|
|
3895
|
+
* Represents includedby elements that document files which include the
|
|
3896
|
+
* current source file. This implementation processes Doxygen's includedby
|
|
3897
|
+
* elements, which contain information about files that incorporate the
|
|
3898
|
+
* current file through preprocessor directives, establishing reverse
|
|
3899
|
+
* inclusion relationships within the documentation system.
|
|
3900
|
+
*
|
|
3901
|
+
* The includedby relationship indicates a dependency where other files
|
|
3902
|
+
* incorporate content from the current file during compilation.
|
|
3903
|
+
*
|
|
3904
|
+
* @public
|
|
3905
|
+
*/
|
|
3906
|
+
export declare class IncludedByDataModel extends AbstractIncType {
|
|
3907
|
+
/**
|
|
3908
|
+
* Constructs an IncludedByDataModel from XML element data.
|
|
3909
|
+
*
|
|
3910
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3911
|
+
* @param element - The XML element object containing the includedby data
|
|
3912
|
+
*
|
|
3913
|
+
* @remarks
|
|
3914
|
+
* This constructor delegates to the parent AbstractIncType to handle
|
|
3915
|
+
* include processing whilst identifying the element as 'includedby' for
|
|
3916
|
+
* proper XML schema compliance and reverse include relationship handling.
|
|
3917
|
+
* The processed data represents files that include the current source file
|
|
3918
|
+
* through preprocessor directives, establishing dependency relationships.
|
|
3919
|
+
*/
|
|
3920
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3921
|
+
}
|
|
3922
|
+
|
|
3923
|
+
/**
|
|
3924
|
+
* Data model for includes elements within documentation content.
|
|
3925
|
+
*
|
|
3926
|
+
* @remarks
|
|
3927
|
+
* Represents includes elements that document files included by the current
|
|
3928
|
+
* source file. This implementation processes Doxygen's includes elements,
|
|
3929
|
+
* which contain information about files that are included through preprocessor
|
|
3930
|
+
* directives such as #include statements within the documented source code.
|
|
3931
|
+
*
|
|
3932
|
+
* The includes relationship indicates a dependency where the current file
|
|
3933
|
+
* incorporates content from the referenced file during compilation.
|
|
3934
|
+
*
|
|
3935
|
+
* @public
|
|
3936
|
+
*/
|
|
3937
|
+
export declare class IncludesDataModel extends AbstractIncType {
|
|
3938
|
+
/**
|
|
3939
|
+
* Constructs an IncludesDataModel from XML element data.
|
|
3940
|
+
*
|
|
3941
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
3942
|
+
* @param element - The XML element object containing the includes data
|
|
3943
|
+
*
|
|
3944
|
+
* @remarks
|
|
3945
|
+
* This constructor delegates to the parent AbstractIncType to handle
|
|
3946
|
+
* include processing whilst identifying the element as 'includes' for
|
|
3947
|
+
* proper XML schema compliance and include relationship documentation.
|
|
3948
|
+
* The processed data represents files that are included by the current
|
|
3949
|
+
* source file through preprocessor directives.
|
|
3950
|
+
*/
|
|
3951
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3952
|
+
}
|
|
3953
|
+
|
|
3954
|
+
/**
|
|
3955
|
+
* Concrete data model class for index compound elements.
|
|
3956
|
+
*
|
|
3957
|
+
* @remarks
|
|
3958
|
+
* Represents individual compound elements found within Doxygen index XML
|
|
3959
|
+
* structures. This class extends the abstract base to provide specific
|
|
3960
|
+
* handling for 'compound' elements, which reference documented entities
|
|
3961
|
+
* such as classes, namespaces, files, and other structural components
|
|
3962
|
+
* within the indexed documentation. Each compound serves as an entry
|
|
3963
|
+
* point for accessing detailed documentation in separate XML files.
|
|
3964
|
+
*
|
|
3965
|
+
* @public
|
|
3966
|
+
*/
|
|
3967
|
+
export declare class IndexCompoundDataModel extends AbstractIndexCompoundType {
|
|
3968
|
+
/**
|
|
3969
|
+
* Constructs a new IndexCompoundDataModel instance from XML data.
|
|
3970
|
+
*
|
|
3971
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
3972
|
+
* @param element - The XML element containing the compound data
|
|
3973
|
+
*
|
|
3974
|
+
* @remarks
|
|
3975
|
+
* Initialises the compound data model by parsing the provided XML element
|
|
3976
|
+
* as a 'compound' element type. The constructor delegates to the parent
|
|
3977
|
+
* class for common compound processing whilst specifying the element name
|
|
3978
|
+
* for proper XML structure handling.
|
|
3979
|
+
*/
|
|
3980
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
3981
|
+
}
|
|
3982
|
+
|
|
3983
|
+
/**
|
|
3984
|
+
* Concrete data model class for index member elements.
|
|
3985
|
+
*
|
|
3986
|
+
* @remarks
|
|
3987
|
+
* Represents individual member elements found within Doxygen index XML
|
|
3988
|
+
* structures. This class extends the abstract base to provide specific
|
|
3989
|
+
* handling for 'member' elements, which reference documented members
|
|
3990
|
+
* such as functions, variables, and other programming constructs within
|
|
3991
|
+
* the indexed documentation.
|
|
3992
|
+
*
|
|
3993
|
+
* @public
|
|
3994
|
+
*/
|
|
3995
|
+
export declare class IndexMemberDataModel extends AbstractIndexMemberType {
|
|
3996
|
+
/**
|
|
3997
|
+
* Constructs a new IndexMemberDataModel instance from XML data.
|
|
3998
|
+
*
|
|
3999
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
4000
|
+
* @param element - The XML element containing the member data
|
|
4001
|
+
*
|
|
4002
|
+
* @remarks
|
|
4003
|
+
* Initialises the member data model by parsing the provided XML element
|
|
4004
|
+
* as a 'member' element type. The constructor delegates to the parent
|
|
4005
|
+
* class for common member processing whilst specifying the element name.
|
|
4006
|
+
*/
|
|
4007
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4008
|
+
}
|
|
4009
|
+
|
|
4010
|
+
/**
|
|
4011
|
+
* Data model for initializer elements within documentation content.
|
|
4012
|
+
*
|
|
4013
|
+
* @remarks
|
|
4014
|
+
* Represents initializer elements that contain variable or member
|
|
4015
|
+
* initialization expressions within source code documentation. This
|
|
4016
|
+
* implementation processes Doxygen's initializer elements, which contain
|
|
4017
|
+
* mixed text and reference content describing the initial values assigned
|
|
4018
|
+
* to variables, constants, or class members.
|
|
4019
|
+
*
|
|
4020
|
+
* The linked text structure enables cross-references to types and symbols
|
|
4021
|
+
* used within initialization expressions.
|
|
4022
|
+
*
|
|
4023
|
+
* @public
|
|
4024
|
+
*/
|
|
4025
|
+
export declare class InitializerDataModel extends AbstractLinkedTextType {
|
|
4026
|
+
/**
|
|
4027
|
+
* Constructs an InitializerDataModel from XML element data.
|
|
4028
|
+
*
|
|
4029
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
4030
|
+
* @param element - The XML element object containing the initializer data
|
|
4031
|
+
*
|
|
4032
|
+
* @remarks
|
|
4033
|
+
* This constructor delegates to the parent AbstractLinkedTextType to
|
|
4034
|
+
* handle linked text processing whilst identifying the element as
|
|
4035
|
+
* 'initializer' for proper XML schema compliance and initialization
|
|
4036
|
+
* expression content processing.
|
|
4037
|
+
*/
|
|
4038
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4039
|
+
}
|
|
4040
|
+
|
|
4041
|
+
/**
|
|
4042
|
+
* Data model for inner class reference elements.
|
|
4043
|
+
*
|
|
4044
|
+
* @remarks
|
|
4045
|
+
* Represents a reference to an inner class within Doxygen XML documentation,
|
|
4046
|
+
* corresponding to the innerclass XML element. This class manages references
|
|
4047
|
+
* to classes that are contained within the current documentation context,
|
|
4048
|
+
* providing linking and navigation capabilities to detailed class
|
|
4049
|
+
* documentation. Inner classes typically represent nested classes, inner
|
|
4050
|
+
* types, or classes defined within other classes or namespaces.
|
|
4051
|
+
*
|
|
4052
|
+
* @public
|
|
4053
|
+
*/
|
|
4054
|
+
export declare class InnerClassDataModel extends AbstractRefType {
|
|
4055
|
+
/**
|
|
4056
|
+
* Constructs a new inner class reference data model from XML.
|
|
4057
|
+
*
|
|
4058
|
+
* @param xml - The Doxygen XML parser instance
|
|
4059
|
+
* @param element - The XML element containing inner class reference data
|
|
4060
|
+
*
|
|
4061
|
+
* @remarks
|
|
4062
|
+
* Creates a complete inner class reference data model by parsing the
|
|
4063
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4064
|
+
* handle all standard parsing operations for the innerclass element type,
|
|
4065
|
+
* establishing the reference to the contained class entity.
|
|
4066
|
+
*/
|
|
4067
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4068
|
+
}
|
|
4069
|
+
|
|
4070
|
+
/**
|
|
4071
|
+
* Data model for inner folder reference elements.
|
|
4072
|
+
*
|
|
4073
|
+
* @remarks
|
|
4074
|
+
* Represents a reference to an inner folder within Doxygen XML documentation,
|
|
4075
|
+
* corresponding to the innerdir XML element. This class manages references
|
|
4076
|
+
* to folders that are contained within the current documentation context,
|
|
4077
|
+
* providing linking and navigation capabilities to detailed folder
|
|
4078
|
+
* documentation. Inner folders typically represent subdirectories within
|
|
4079
|
+
* the project structure that contain related source files and documentation.
|
|
4080
|
+
*
|
|
4081
|
+
* @public
|
|
4082
|
+
*/
|
|
4083
|
+
export declare class InnerDirDataModel extends AbstractRefType {
|
|
4084
|
+
/**
|
|
4085
|
+
* Constructs a new inner folder reference data model from XML.
|
|
4086
|
+
*
|
|
4087
|
+
* @param xml - The Doxygen XML parser instance
|
|
4088
|
+
* @param element - The XML element containing inner folder reference data
|
|
4089
|
+
*
|
|
4090
|
+
* @remarks
|
|
4091
|
+
* Creates a complete inner folder reference data model by parsing the
|
|
4092
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4093
|
+
* handle all standard parsing operations for the innerdir element type,
|
|
4094
|
+
* establishing the reference to the contained folder entity.
|
|
4095
|
+
*/
|
|
4096
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4097
|
+
}
|
|
4098
|
+
|
|
4099
|
+
/**
|
|
4100
|
+
* Data model for inner file reference elements.
|
|
4101
|
+
*
|
|
4102
|
+
* @remarks
|
|
4103
|
+
* Represents a reference to an inner file within Doxygen XML documentation,
|
|
4104
|
+
* corresponding to the innerfile XML element. This class manages references
|
|
4105
|
+
* to files that are contained within the current documentation context,
|
|
4106
|
+
* providing linking and navigation capabilities to detailed file
|
|
4107
|
+
* documentation. Inner files typically represent source code files, headers,
|
|
4108
|
+
* or other documented files within the project structure.
|
|
4109
|
+
*
|
|
4110
|
+
* @public
|
|
4111
|
+
*/
|
|
4112
|
+
export declare class InnerFileDataModel extends AbstractRefType {
|
|
4113
|
+
/**
|
|
4114
|
+
* Constructs a new inner file reference data model from XML.
|
|
4115
|
+
*
|
|
4116
|
+
* @param xml - The Doxygen XML parser instance
|
|
4117
|
+
* @param element - The XML element containing inner file reference data
|
|
4118
|
+
*
|
|
4119
|
+
* @remarks
|
|
4120
|
+
* Creates a complete inner file reference data model by parsing the
|
|
4121
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4122
|
+
* handle all standard parsing operations for the innerfile element type,
|
|
4123
|
+
* establishing the reference to the contained file entity.
|
|
4124
|
+
*/
|
|
4125
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4126
|
+
}
|
|
4127
|
+
|
|
4128
|
+
/**
|
|
4129
|
+
* Data model for inner group reference elements.
|
|
4130
|
+
*
|
|
4131
|
+
* @remarks
|
|
4132
|
+
* Represents a reference to an inner group within Doxygen XML documentation,
|
|
4133
|
+
* corresponding to the innergroup XML element. This class manages references
|
|
4134
|
+
* to groups that are contained within the current documentation context,
|
|
4135
|
+
* providing linking and navigation capabilities to detailed group
|
|
4136
|
+
* documentation. Inner groups typically represent logical collections or
|
|
4137
|
+
* modules of related functionality that are organised within the current
|
|
4138
|
+
* documentation scope.
|
|
4139
|
+
*
|
|
4140
|
+
* @public
|
|
4141
|
+
*/
|
|
4142
|
+
export declare class InnerGroupDataModel extends AbstractRefType {
|
|
4143
|
+
/**
|
|
4144
|
+
* Constructs a new inner group reference data model from XML.
|
|
4145
|
+
*
|
|
4146
|
+
* @param xml - The Doxygen XML parser instance
|
|
4147
|
+
* @param element - The XML element containing inner group reference data
|
|
4148
|
+
*
|
|
4149
|
+
* @remarks
|
|
4150
|
+
* Creates a complete inner group reference data model by parsing the
|
|
4151
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4152
|
+
* handle all standard parsing operations for the innergroup element type,
|
|
4153
|
+
* establishing the reference to the contained group entity.
|
|
4154
|
+
*/
|
|
4155
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4156
|
+
}
|
|
4157
|
+
|
|
4158
|
+
/**
|
|
4159
|
+
* Data model for inner namespace reference elements.
|
|
4160
|
+
*
|
|
4161
|
+
* @remarks
|
|
4162
|
+
* Represents a reference to an inner namespace within Doxygen XML
|
|
4163
|
+
* documentation, corresponding to the innernamespace XML element. This class
|
|
4164
|
+
* manages references to namespaces that are contained within the current
|
|
4165
|
+
* documentation context, providing linking and navigation capabilities to
|
|
4166
|
+
* detailed namespace documentation. Inner namespaces typically represent
|
|
4167
|
+
* nested namespaces or namespace aliases defined within other namespaces.
|
|
4168
|
+
*
|
|
4169
|
+
* @public
|
|
4170
|
+
*/
|
|
4171
|
+
export declare class InnerNamespaceDataModel extends AbstractRefType {
|
|
4172
|
+
/**
|
|
4173
|
+
* Constructs a new inner namespace reference data model from XML.
|
|
4174
|
+
*
|
|
4175
|
+
* @param xml - The Doxygen XML parser instance
|
|
4176
|
+
* @param element - The XML element containing inner namespace reference data
|
|
4177
|
+
*
|
|
4178
|
+
* @remarks
|
|
4179
|
+
* Creates a complete inner namespace reference data model by parsing the
|
|
4180
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4181
|
+
* handle all standard parsing operations for the innernamespace element
|
|
4182
|
+
* type, establishing the reference to the contained namespace entity.
|
|
4183
|
+
*/
|
|
4184
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4185
|
+
}
|
|
4186
|
+
|
|
4187
|
+
/**
|
|
4188
|
+
* Data model for inner page reference elements.
|
|
4189
|
+
*
|
|
4190
|
+
* @remarks
|
|
4191
|
+
* Represents a reference to an inner page within Doxygen XML documentation,
|
|
4192
|
+
* corresponding to the innerpage XML element. This class manages references
|
|
4193
|
+
* to pages that are contained within the current documentation context,
|
|
4194
|
+
* providing linking and navigation capabilities to detailed page
|
|
4195
|
+
* documentation. Inner pages typically represent documentation pages,
|
|
4196
|
+
* tutorials, or other narrative content that is logically contained within
|
|
4197
|
+
* the current documentation scope.
|
|
4198
|
+
*
|
|
4199
|
+
* @public
|
|
4200
|
+
*/
|
|
4201
|
+
export declare class InnerPageDataModel extends AbstractRefType {
|
|
4202
|
+
/**
|
|
4203
|
+
* Constructs a new inner page reference data model from XML.
|
|
4204
|
+
*
|
|
4205
|
+
* @param xml - The Doxygen XML parser instance
|
|
4206
|
+
* @param element - The XML element containing inner page reference data
|
|
4207
|
+
*
|
|
4208
|
+
* @remarks
|
|
4209
|
+
* Creates a complete inner page reference data model by parsing the
|
|
4210
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4211
|
+
* handle all standard parsing operations for the innerpage element type,
|
|
4212
|
+
* establishing the reference to the contained page entity.
|
|
4213
|
+
*/
|
|
4214
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4215
|
+
}
|
|
4216
|
+
|
|
4217
|
+
/**
|
|
4218
|
+
* Concrete implementation for listofallmembers elements within compound
|
|
4219
|
+
* documentation.
|
|
4220
|
+
*
|
|
4221
|
+
* @remarks
|
|
4222
|
+
* Provides specific handling for listofallmembers XML elements that contain
|
|
4223
|
+
* comprehensive member inventories within class and compound documentation.
|
|
4224
|
+
* This implementation extends the abstract base class functionality to
|
|
4225
|
+
* process the complete collection of member references, including both
|
|
4226
|
+
* directly declared and inherited members.
|
|
4227
|
+
*
|
|
4228
|
+
* The class ensures proper instantiation of member reference data models
|
|
4229
|
+
* whilst maintaining the hierarchical structure and accessibility information
|
|
4230
|
+
* required for comprehensive documentation generation.
|
|
4231
|
+
*
|
|
4232
|
+
* @public
|
|
4233
|
+
*/
|
|
4234
|
+
export declare class ListOfAllMembersDataModel extends AbstractListOfAllMembersType {
|
|
4235
|
+
/**
|
|
4236
|
+
* Constructs a new listofallmembers data model instance.
|
|
4237
|
+
*
|
|
4238
|
+
* @param xml - The XML parser instance for processing elements
|
|
4239
|
+
* @param element - The source XML element containing listofallmembers data
|
|
4240
|
+
*
|
|
4241
|
+
* @remarks
|
|
4242
|
+
* Initialises the data model with the specific element name
|
|
4243
|
+
* 'listofallmembers' and delegates processing to the abstract base class
|
|
4244
|
+
* implementation. This ensures consistent handling of member reference
|
|
4245
|
+
* collections whilst maintaining proper element identification.
|
|
4246
|
+
*
|
|
4247
|
+
* @public
|
|
4248
|
+
*/
|
|
4249
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4250
|
+
}
|
|
4251
|
+
|
|
4252
|
+
/**
|
|
4253
|
+
* Concrete implementation for location elements within documentation.
|
|
4254
|
+
*
|
|
4255
|
+
* @remarks
|
|
4256
|
+
* Provides specific handling for location XML elements that contain
|
|
4257
|
+
* comprehensive source code positioning information. This implementation
|
|
4258
|
+
* extends the abstract base class functionality to process location
|
|
4259
|
+
* elements with the specific element name 'location'.
|
|
4260
|
+
*
|
|
4261
|
+
* The class ensures proper instantiation of location data models whilst
|
|
4262
|
+
* maintaining all the detailed positioning information required for
|
|
4263
|
+
* accurate source code navigation and reference generation.
|
|
4264
|
+
*
|
|
4265
|
+
* @public
|
|
4266
|
+
*/
|
|
4267
|
+
export declare class LocationDataModel extends AbstractLocationType {
|
|
4268
|
+
/**
|
|
4269
|
+
* Constructs a new location data model instance.
|
|
4270
|
+
*
|
|
4271
|
+
* @param xml - The XML parser instance for processing elements
|
|
4272
|
+
* @param element - The source XML element containing location data
|
|
4273
|
+
*
|
|
4274
|
+
* @remarks
|
|
4275
|
+
* Initialises the data model with the specific element name 'location'
|
|
4276
|
+
* and delegates processing to the abstract base class implementation.
|
|
4277
|
+
* This ensures consistent handling of location information whilst
|
|
4278
|
+
* maintaining proper element identification.
|
|
4279
|
+
*
|
|
4280
|
+
* @public
|
|
4281
|
+
*/
|
|
4282
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4283
|
+
}
|
|
4284
|
+
|
|
4285
|
+
/**
|
|
4286
|
+
* Main entry point for the doxygen2docusaurus CLI tool.
|
|
4287
|
+
*
|
|
4288
|
+
* @remarks
|
|
4289
|
+
* Orchestrates the complete conversion process from Doxygen XML to Docusaurus
|
|
4290
|
+
* documentation. Handles command-line argument parsing, configuration loading,
|
|
4291
|
+
* data model creation, workspace initialisation, and documentation generation.
|
|
4292
|
+
* Provides timing information and appropriate exit codes for integration.
|
|
4293
|
+
*
|
|
4294
|
+
* @param argv - Command line arguments array
|
|
4295
|
+
* @returns Promise that resolves to the exit code (0 for success, 1 for error)
|
|
4296
|
+
*
|
|
4297
|
+
* @public
|
|
4298
|
+
*/
|
|
4299
|
+
export declare function main(argv: string[]): Promise<number>;
|
|
4300
|
+
|
|
4301
|
+
/**
|
|
4302
|
+
* Concrete implementation for member elements within documentation.
|
|
4303
|
+
*
|
|
4304
|
+
* @remarks
|
|
4305
|
+
* Provides specific handling for member XML elements that contain
|
|
4306
|
+
* simplified member information within various documentation contexts.
|
|
4307
|
+
* This implementation extends the abstract base class functionality
|
|
4308
|
+
* to process member elements with the specific element name 'member'.
|
|
4309
|
+
*
|
|
4310
|
+
* The class represents lightweight member references that serve as
|
|
4311
|
+
* cross-reference points to more detailed member definitions, maintaining
|
|
4312
|
+
* essential identification data whilst enabling efficient navigation
|
|
4313
|
+
* within the documentation system. These elements are commonly used
|
|
4314
|
+
* in member lists and summary sections where full member details
|
|
4315
|
+
* are not required.
|
|
4316
|
+
*
|
|
4317
|
+
* @public
|
|
4318
|
+
*/
|
|
4319
|
+
export declare class MemberDataModel extends AbstractMemberType {
|
|
4320
|
+
/**
|
|
4321
|
+
* Constructs a new member data model instance.
|
|
4322
|
+
*
|
|
4323
|
+
* @param xml - The XML parser instance for processing elements
|
|
4324
|
+
* @param element - The source XML element containing member data
|
|
4325
|
+
*
|
|
4326
|
+
* @remarks
|
|
4327
|
+
* Initialises the data model with the specific element name 'member'
|
|
4328
|
+
* and delegates processing to the abstract base class implementation.
|
|
4329
|
+
* This ensures consistent handling of simplified member information
|
|
4330
|
+
* whilst maintaining proper element identification for cross-referencing
|
|
4331
|
+
* and navigation functionality.
|
|
4332
|
+
*
|
|
4333
|
+
* @public
|
|
4334
|
+
*/
|
|
4335
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4336
|
+
}
|
|
4337
|
+
|
|
4338
|
+
/**
|
|
4339
|
+
* Concrete implementation for memberdef elements within compound documentation.
|
|
4340
|
+
*
|
|
4341
|
+
* @remarks
|
|
4342
|
+
* Provides specific handling for memberdef XML elements that contain
|
|
4343
|
+
* comprehensive member definition information within classes, structures,
|
|
4344
|
+
* namespaces, and other compound types. This implementation extends the
|
|
4345
|
+
* abstract base class functionality to process the complete range of
|
|
4346
|
+
* member definitions including functions, variables, typedefs, enums,
|
|
4347
|
+
* and specialised language constructs.
|
|
4348
|
+
*
|
|
4349
|
+
* The class ensures proper instantiation of member definition data models
|
|
4350
|
+
* whilst maintaining all the detailed metadata required for accurate
|
|
4351
|
+
* documentation generation including cross-references, location information,
|
|
4352
|
+
* and language-specific attributes.
|
|
4353
|
+
*
|
|
4354
|
+
* @public
|
|
4355
|
+
*/
|
|
4356
|
+
export declare class MemberDefDataModel extends AbstractMemberDefType {
|
|
4357
|
+
/**
|
|
4358
|
+
* Constructs a new memberdef data model instance.
|
|
4359
|
+
*
|
|
4360
|
+
* @param xml - The XML parser instance for processing elements
|
|
4361
|
+
* @param element - The source XML element containing memberdef data
|
|
4362
|
+
*
|
|
4363
|
+
* @remarks
|
|
4364
|
+
* Initialises the data model with the specific element name 'memberdef'
|
|
4365
|
+
* and delegates processing to the abstract base class implementation.
|
|
4366
|
+
* This ensures consistent handling of member definition information
|
|
4367
|
+
* whilst maintaining proper element identification.
|
|
4368
|
+
*
|
|
4369
|
+
* @public
|
|
4370
|
+
*/
|
|
4371
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4372
|
+
}
|
|
4373
|
+
|
|
4374
|
+
/**
|
|
4375
|
+
* Concrete implementation for member reference elements within documentation.
|
|
4376
|
+
*
|
|
4377
|
+
* @remarks
|
|
4378
|
+
* Provides specific handling for member XML elements that contain
|
|
4379
|
+
* comprehensive member reference information within class and compound
|
|
4380
|
+
* documentation. This implementation extends the abstract base class
|
|
4381
|
+
* functionality to process member references with the specific element
|
|
4382
|
+
* name 'member'.
|
|
4383
|
+
*
|
|
4384
|
+
* The class ensures proper instantiation of member reference data models
|
|
4385
|
+
* whilst maintaining all the cross-referencing metadata required for
|
|
4386
|
+
* accurate documentation linking and navigation between related members
|
|
4387
|
+
* within the documentation system.
|
|
4388
|
+
*
|
|
4389
|
+
* @public
|
|
4390
|
+
*/
|
|
4391
|
+
export declare class MemberRefDataModel extends AbstractMemberRefType {
|
|
4392
|
+
/**
|
|
4393
|
+
* Constructs a new member reference data model instance.
|
|
4394
|
+
*
|
|
4395
|
+
* @param xml - The XML parser instance for processing elements
|
|
4396
|
+
* @param element - The source XML element containing member reference data
|
|
4397
|
+
*
|
|
4398
|
+
* @remarks
|
|
4399
|
+
* Initialises the data model with the specific element name 'member'
|
|
4400
|
+
* and delegates processing to the abstract base class implementation.
|
|
4401
|
+
* This ensures consistent handling of member reference information
|
|
4402
|
+
* whilst maintaining proper element identification for cross-referencing
|
|
4403
|
+
* functionality.
|
|
4404
|
+
*
|
|
4405
|
+
* @public
|
|
4406
|
+
*/
|
|
4407
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4408
|
+
}
|
|
4409
|
+
|
|
4410
|
+
/**
|
|
4411
|
+
* Multiple configuration sets for different build scenarios.
|
|
4412
|
+
*
|
|
4413
|
+
* @remarks
|
|
4414
|
+
* Allows defining different configuration profiles that can be selected
|
|
4415
|
+
* based on the build context or command line parameters.
|
|
4416
|
+
*
|
|
4417
|
+
* @public
|
|
4418
|
+
*/
|
|
4419
|
+
declare type MultiConfigurations = Record<string, CliConfigurationOptions>;
|
|
4420
|
+
|
|
4421
|
+
/**
|
|
4422
|
+
* Concrete implementation for parameter elements within function documentation.
|
|
4423
|
+
*
|
|
4424
|
+
* @remarks
|
|
4425
|
+
* Provides specific handling for param XML elements that contain
|
|
4426
|
+
* comprehensive parameter information within function and method
|
|
4427
|
+
* documentation. This implementation extends the abstract base class
|
|
4428
|
+
* functionality to process parameter elements with the specific
|
|
4429
|
+
* element name 'param'.
|
|
4430
|
+
*
|
|
4431
|
+
* The class ensures proper instantiation of parameter data models
|
|
4432
|
+
* whilst maintaining all the detailed parameter metadata required
|
|
4433
|
+
* for accurate function signature documentation including type
|
|
4434
|
+
* information, naming variations, default values, constraints,
|
|
4435
|
+
* and descriptive information.
|
|
4436
|
+
*
|
|
4437
|
+
* @public
|
|
4438
|
+
*/
|
|
4439
|
+
export declare class ParamDataModel extends AbstractParamType {
|
|
4440
|
+
/**
|
|
4441
|
+
* Constructs a new parameter data model instance.
|
|
4442
|
+
*
|
|
4443
|
+
* @param xml - The XML parser instance for processing elements
|
|
4444
|
+
* @param element - The source XML element containing parameter data
|
|
4445
|
+
*
|
|
4446
|
+
* @remarks
|
|
4447
|
+
* Initialises the data model with the specific element name 'param'
|
|
4448
|
+
* and delegates processing to the abstract base class implementation.
|
|
4449
|
+
* This ensures consistent handling of parameter information whilst
|
|
4450
|
+
* maintaining proper element identification for function signature
|
|
4451
|
+
* documentation and API reference generation.
|
|
4452
|
+
*
|
|
4453
|
+
* @public
|
|
4454
|
+
*/
|
|
4455
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4456
|
+
}
|
|
4457
|
+
|
|
4458
|
+
/**
|
|
4459
|
+
* Data model for programlisting XML elements containing source code.
|
|
4460
|
+
*
|
|
4461
|
+
* @remarks
|
|
4462
|
+
* Represents program listings that contain source code with optional
|
|
4463
|
+
* syntax highlighting and line numbering. This implementation processes
|
|
4464
|
+
* Doxygen's programlisting elements, which are commonly used to display
|
|
4465
|
+
* code examples, function implementations, and other programming content
|
|
4466
|
+
* within documentation.
|
|
4467
|
+
*
|
|
4468
|
+
* @public
|
|
4469
|
+
*/
|
|
4470
|
+
export declare class ProgramListingDataModel extends AbstractListingType {
|
|
4471
|
+
/**
|
|
4472
|
+
* Constructs a ProgramListingDataModel from XML element data.
|
|
4473
|
+
*
|
|
4474
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
4475
|
+
* @param element - The XML element object containing the programlisting data
|
|
4476
|
+
*
|
|
4477
|
+
* @remarks
|
|
4478
|
+
* This constructor delegates to the parent AbstractListingType to handle
|
|
4479
|
+
* the standard listing processing whilst specifically identifying the
|
|
4480
|
+
* element as a 'programlisting' type for proper XML schema compliance.
|
|
4481
|
+
*/
|
|
4482
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4483
|
+
}
|
|
4484
|
+
|
|
4485
|
+
/**
|
|
4486
|
+
* Data model for reference relationship elements.
|
|
4487
|
+
*
|
|
4488
|
+
* @remarks
|
|
4489
|
+
* Represents a forward reference relationship within Doxygen XML
|
|
4490
|
+
* documentation, corresponding to the references XML element. This class
|
|
4491
|
+
* manages relationships where the current entity references or depends upon
|
|
4492
|
+
* another documented entity. The relationship captures both the descriptive
|
|
4493
|
+
* information and precise location data, enabling comprehensive dependency
|
|
4494
|
+
* tracking and navigation capabilities. Forward references help document
|
|
4495
|
+
* how entities use or depend on other components within the codebase.
|
|
4496
|
+
*
|
|
4497
|
+
* @public
|
|
4498
|
+
*/
|
|
4499
|
+
export declare class ReferenceDataModel extends AbstractReferenceType {
|
|
4500
|
+
/**
|
|
4501
|
+
* Constructs a new reference relationship data model from XML.
|
|
4502
|
+
*
|
|
4503
|
+
* @param xml - The Doxygen XML parser instance
|
|
4504
|
+
* @param element - The XML element containing reference relationship data
|
|
4505
|
+
*
|
|
4506
|
+
* @remarks
|
|
4507
|
+
* Creates a complete forward reference relationship data model by parsing
|
|
4508
|
+
* the provided XML element. This constructor delegates to the parent class
|
|
4509
|
+
* to handle all standard parsing operations for the references element type,
|
|
4510
|
+
* establishing the forward dependency relationship between the current
|
|
4511
|
+
* entity and the referenced component.
|
|
4512
|
+
*/
|
|
4513
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4514
|
+
}
|
|
4515
|
+
|
|
4516
|
+
/**
|
|
4517
|
+
* Data model for referenced-by relationship elements.
|
|
4518
|
+
*
|
|
4519
|
+
* @remarks
|
|
4520
|
+
* Represents a reverse reference relationship within Doxygen XML
|
|
4521
|
+
* documentation, corresponding to the referencedby XML element. This class
|
|
4522
|
+
* manages relationships where the current entity is referenced or used by
|
|
4523
|
+
* another documented entity. The relationship provides bidirectional
|
|
4524
|
+
* dependency information, enabling comprehensive understanding of how
|
|
4525
|
+
* entities are utilised throughout the codebase. Referenced-by relationships
|
|
4526
|
+
* are essential for impact analysis and understanding the scope of changes
|
|
4527
|
+
* when modifying documented components.
|
|
4528
|
+
*
|
|
4529
|
+
* @public
|
|
4530
|
+
*/
|
|
4531
|
+
export declare class ReferencedByDataModel extends AbstractReferenceType {
|
|
4532
|
+
/**
|
|
4533
|
+
* Constructs a new referenced-by relationship data model from XML.
|
|
4534
|
+
*
|
|
4535
|
+
* @param xml - The Doxygen XML parser instance
|
|
4536
|
+
* @param element - The XML element containing referenced-by relationship data
|
|
4537
|
+
*
|
|
4538
|
+
* @remarks
|
|
4539
|
+
* Creates a complete reverse reference relationship data model by parsing
|
|
4540
|
+
* the provided XML element. This constructor delegates to the parent class
|
|
4541
|
+
* to handle all standard parsing operations for the referencedby element
|
|
4542
|
+
* type, establishing the reverse dependency relationship indicating how
|
|
4543
|
+
* other entities utilise the current component.
|
|
4544
|
+
*/
|
|
4545
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4546
|
+
}
|
|
4547
|
+
|
|
4548
|
+
/**
|
|
4549
|
+
* Data model for reimplement relationship elements.
|
|
4550
|
+
*
|
|
4551
|
+
* @remarks
|
|
4552
|
+
* Represents a specific reimplement relationship within Doxygen XML
|
|
4553
|
+
* documentation, corresponding to the reimplements XML element. This class
|
|
4554
|
+
* manages relationships where the current entity reimplements or overrides
|
|
4555
|
+
* behaviour from a base class or interface. The relationship captures both
|
|
4556
|
+
* the descriptive information and the reference to the original implementation,
|
|
4557
|
+
* enabling comprehensive documentation of polymorphic behaviours and
|
|
4558
|
+
* inheritance patterns within object-oriented codebases.
|
|
4559
|
+
*
|
|
4560
|
+
* @public
|
|
4561
|
+
*/
|
|
4562
|
+
export declare class ReimplementDataModel extends AbstractReimplementType {
|
|
4563
|
+
/**
|
|
4564
|
+
* Constructs a new reimplement relationship data model from XML.
|
|
4565
|
+
*
|
|
4566
|
+
* @param xml - The Doxygen XML parser instance
|
|
4567
|
+
* @param element - The XML element containing reimplement relationship data
|
|
4568
|
+
*
|
|
4569
|
+
* @remarks
|
|
4570
|
+
* Creates a complete reimplement relationship data model by parsing the
|
|
4571
|
+
* provided XML element. This constructor delegates to the parent class to
|
|
4572
|
+
* handle all standard parsing operations for the reimplements element type,
|
|
4573
|
+
* establishing the relationship between the current entity and the
|
|
4574
|
+
* reimplemented base implementation.
|
|
4575
|
+
*/
|
|
4576
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4577
|
+
}
|
|
4578
|
+
|
|
4579
|
+
/**
|
|
4580
|
+
* Concrete data model for section definition elements.
|
|
4581
|
+
*
|
|
4582
|
+
* @remarks
|
|
4583
|
+
* Represents a specific section definition within Doxygen XML documentation,
|
|
4584
|
+
* corresponding to the sectiondef XML element. This class provides the
|
|
4585
|
+
* complete implementation for parsing and managing section definition data,
|
|
4586
|
+
* including all supported attributes, elements, and member collections. Each
|
|
4587
|
+
* instance represents a single section within a compound or group structure.
|
|
4588
|
+
*
|
|
4589
|
+
* @public
|
|
4590
|
+
*/
|
|
4591
|
+
export declare class SectionDefDataModel extends AbstractSectionDefType {
|
|
4592
|
+
/**
|
|
4593
|
+
* Constructs a new section definition data model from XML.
|
|
4594
|
+
*
|
|
4595
|
+
* @param xml - The Doxygen XML parser instance
|
|
4596
|
+
* @param element - The XML element containing section definition data
|
|
4597
|
+
*
|
|
4598
|
+
* @remarks
|
|
4599
|
+
* Creates a complete section definition data model by parsing the provided
|
|
4600
|
+
* XML element. This constructor delegates to the parent class to handle all
|
|
4601
|
+
* standard parsing operations for the sectiondef element type.
|
|
4602
|
+
*/
|
|
4603
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4604
|
+
}
|
|
4605
|
+
|
|
4606
|
+
/**
|
|
4607
|
+
* Concrete data model class for table of contents elements.
|
|
4608
|
+
*
|
|
4609
|
+
* @remarks
|
|
4610
|
+
* Represents individual table of contents elements found within Doxygen
|
|
4611
|
+
* compound XML structures. This class extends the abstract base to provide
|
|
4612
|
+
* specific handling for 'tableofcontents' elements, which define the
|
|
4613
|
+
* structural navigation and organisation of documentation content. Each
|
|
4614
|
+
* table of contents provides hierarchical access to documentation sections
|
|
4615
|
+
* and subsections.
|
|
4616
|
+
*
|
|
4617
|
+
* @public
|
|
4618
|
+
*/
|
|
4619
|
+
export declare class TableOfContentsDataModel extends AbstractTableOfContentsType {
|
|
4620
|
+
/**
|
|
4621
|
+
* Constructs a new TableOfContentsDataModel instance from XML data.
|
|
4622
|
+
*
|
|
4623
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
4624
|
+
* @param element - The XML element containing the table of contents data
|
|
4625
|
+
*
|
|
4626
|
+
* @remarks
|
|
4627
|
+
* Initialises the table of contents data model by parsing the provided
|
|
4628
|
+
* XML element as a 'tableofcontents' element type. The constructor
|
|
4629
|
+
* delegates to the parent class for common table of contents processing
|
|
4630
|
+
* whilst specifying the element name for proper XML structure handling.
|
|
4631
|
+
*/
|
|
4632
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4633
|
+
}
|
|
4634
|
+
|
|
4635
|
+
/**
|
|
4636
|
+
* Concrete data model class for template parameter list elements.
|
|
4637
|
+
*
|
|
4638
|
+
* @remarks
|
|
4639
|
+
* Represents individual template parameter list elements found within
|
|
4640
|
+
* Doxygen compound XML structures. This class extends the abstract base
|
|
4641
|
+
* to provide specific handling for 'templateparamlist' elements, which
|
|
4642
|
+
* define the template parameters for templated constructs such as template
|
|
4643
|
+
* classes, template functions, and template variables. Each template
|
|
4644
|
+
* parameter list contains parameter definitions that specify the generic
|
|
4645
|
+
* types and values used in template instantiation.
|
|
4646
|
+
*
|
|
4647
|
+
* @public
|
|
4648
|
+
*/
|
|
4649
|
+
export declare class TemplateParamListDataModel extends AbstractTemplateParamListType {
|
|
4650
|
+
/**
|
|
4651
|
+
* Constructs a new TemplateParamListDataModel instance from XML data.
|
|
4652
|
+
*
|
|
4653
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
4654
|
+
* @param element - The XML element containing the template parameter list
|
|
4655
|
+
* data
|
|
4656
|
+
*
|
|
4657
|
+
* @remarks
|
|
4658
|
+
* Initialises the template parameter list data model by parsing the
|
|
4659
|
+
* provided XML element as a 'templateparamlist' element type. The
|
|
4660
|
+
* constructor delegates to the parent class for common parameter list
|
|
4661
|
+
* processing whilst specifying the element name for proper XML structure
|
|
4662
|
+
* handling.
|
|
4663
|
+
*/
|
|
4664
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4665
|
+
}
|
|
4666
|
+
|
|
4667
|
+
/**
|
|
4668
|
+
* Concrete data model class for table of contents section elements.
|
|
4669
|
+
*
|
|
4670
|
+
* @remarks
|
|
4671
|
+
* Represents individual table of contents section elements found within
|
|
4672
|
+
* Doxygen XML structures. This class extends the abstract base to provide
|
|
4673
|
+
* specific handling for 'tocsect' elements, which define named sections
|
|
4674
|
+
* within the table of contents hierarchy. Each section includes a name,
|
|
4675
|
+
* reference, and potentially nested subsections for comprehensive
|
|
4676
|
+
* documentation navigation.
|
|
4677
|
+
*
|
|
4678
|
+
* @public
|
|
4679
|
+
*/
|
|
4680
|
+
export declare class TocSectDataModel extends AbstractTableOfContentsKindType {
|
|
4681
|
+
/**
|
|
4682
|
+
* Constructs a new TocSectDataModel instance from XML data.
|
|
4683
|
+
*
|
|
4684
|
+
* @param xml - The Doxygen XML parser instance for processing XML elements
|
|
4685
|
+
* @param element - The XML element containing the table of contents section
|
|
4686
|
+
* data
|
|
4687
|
+
*
|
|
4688
|
+
* @remarks
|
|
4689
|
+
* Initialises the table of contents section data model by parsing the
|
|
4690
|
+
* provided XML element as a 'tocsect' element type. The constructor
|
|
4691
|
+
* delegates to the parent class for common section processing whilst
|
|
4692
|
+
* specifying the element name for proper XML structure handling.
|
|
4693
|
+
*/
|
|
4694
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4695
|
+
}
|
|
4696
|
+
|
|
4697
|
+
/**
|
|
4698
|
+
* Data model for type constraint elements within documentation content.
|
|
4699
|
+
*
|
|
4700
|
+
* @remarks
|
|
4701
|
+
* Represents type constraint elements that contain template and generic
|
|
4702
|
+
* type constraint information within source code documentation. This
|
|
4703
|
+
* implementation processes Doxygen's typeconstraint elements, which contain
|
|
4704
|
+
* mixed text and reference content describing constraints applied to
|
|
4705
|
+
* template parameters and generic types.
|
|
4706
|
+
*
|
|
4707
|
+
* The linked text structure enables cross-references to constraint types,
|
|
4708
|
+
* concepts, and related template documentation within constraint expressions.
|
|
4709
|
+
*
|
|
4710
|
+
* @public
|
|
4711
|
+
*/
|
|
4712
|
+
export declare class TypeConstraintDataModel extends AbstractLinkedTextType {
|
|
4713
|
+
/**
|
|
4714
|
+
* Constructs a TypeConstraintDataModel from XML element data.
|
|
4715
|
+
*
|
|
4716
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
4717
|
+
* @param element - The XML element object containing the type constraint data
|
|
4718
|
+
*
|
|
4719
|
+
* @remarks
|
|
4720
|
+
* This constructor delegates to the parent AbstractLinkedTextType to
|
|
4721
|
+
* handle linked text processing whilst identifying the element as
|
|
4722
|
+
* 'typeconstraint' for proper XML schema compliance and type constraint
|
|
4723
|
+
* content processing.
|
|
4724
|
+
*/
|
|
4725
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4726
|
+
}
|
|
4727
|
+
|
|
4728
|
+
/**
|
|
4729
|
+
* Data model for type elements within documentation content.
|
|
4730
|
+
*
|
|
4731
|
+
* @remarks
|
|
4732
|
+
* Represents type elements that contain type information and declarations
|
|
4733
|
+
* within source code documentation. This implementation processes Doxygen's
|
|
4734
|
+
* type elements, which contain mixed text and reference content describing
|
|
4735
|
+
* data types, including primitive types, class names, template parameters,
|
|
4736
|
+
* and complex type expressions.
|
|
4737
|
+
*
|
|
4738
|
+
* The linked text structure enables cross-references to type definitions
|
|
4739
|
+
* and related documentation within the type expressions.
|
|
4740
|
+
*
|
|
4741
|
+
* @public
|
|
4742
|
+
*/
|
|
4743
|
+
export declare class TypeDataModel extends AbstractLinkedTextType {
|
|
4744
|
+
/**
|
|
4745
|
+
* Constructs a TypeDataModel from XML element data.
|
|
4746
|
+
*
|
|
4747
|
+
* @param xml - The Doxygen XML parser instance for processing XML content
|
|
4748
|
+
* @param element - The XML element object containing the type data
|
|
4749
|
+
*
|
|
4750
|
+
* @remarks
|
|
4751
|
+
* This constructor delegates to the parent AbstractLinkedTextType to
|
|
4752
|
+
* handle linked text processing whilst identifying the element as 'type'
|
|
4753
|
+
* for proper XML schema compliance and type information content processing.
|
|
4754
|
+
*/
|
|
4755
|
+
constructor(xml: DoxygenXmlParser, element: object);
|
|
4756
|
+
}
|
|
4757
|
+
|
|
4758
|
+
/**
|
|
4759
|
+
* Represents a generic XML element in the parsed structure.
|
|
4760
|
+
*
|
|
4761
|
+
* @remarks
|
|
4762
|
+
* Defines the structure used by the XML parser for representing parsed
|
|
4763
|
+
* XML elements, including text content, attributes, and child elements.
|
|
4764
|
+
* Each element maps keys to arrays of child elements.
|
|
4765
|
+
*
|
|
4766
|
+
* @public
|
|
4767
|
+
*/
|
|
4768
|
+
export declare interface XmlElement {
|
|
4769
|
+
(key: string): XmlElement[];
|
|
4770
|
+
'#text': string | number | boolean;
|
|
4771
|
+
':@'?: Record<string, string | number | boolean>;
|
|
4772
|
+
}
|
|
4773
|
+
|
|
4774
|
+
export { }
|