Doxygen XLinks
by
V: 2511R0
Website: doxygen
Loading...
Searching...
No Matches
dxl::Target Class Reference

Description:

This class represents a doxygen XLink target. The targets are read from doxygen tag-files, are inserted into the string tree implemented with class Index and indexed by a hashtable within the same class.

Definition at line 22 of file target.hpp.

#include <target.hpp>

Inheritance diagram for dxl::Target:
dxl::TGTConcept dxl::TGTDir dxl::TGTDocAnchor dxl::TGTFile dxl::TGTFilePathComponent dxl::TGTGroup dxl::TGTMember dxl::TGTNamespace dxl::TGTPage dxl::TGTRecord

Inner Type Index:

struct  FunctionArguments
class  KindStats
struct  TemplateArguments

Public Type Index:

enum  Kinds : unsigned {
  Dir = (1 << 0) , File = (1 << 1) , Page = (1 << 2) , Group = (1 << 3) ,
  DocAnchor = (1 << 4) , Namespace = (1 << 5) , Struct = (1 << 6) , Class = (1 << 7) ,
  Union = (1 << 8) , Concept = (1 << 9) , Macro = (1 <<10) , Typedef = (1 <<11) ,
  Variable = (1 <<12) , Function = (1 <<13) , Enumeration = (1 <<14) , EnumElement = (1 <<15) ,
  GenericMember = (1 <<16) , FILEPATH_COMPONENT = (1 <<17) , UNKNOWN_COMPOUND = (1 <<18) , UNSPECIFIED = (1 <<19) ,
  MAX_KIND = 19 , ROOT = (1 <<20) , UNRESOLVED = (1 <<21) , MEMBER = Macro + Typedef + Variable + Function + Enumeration + EnumElement ,
  RECORD = Struct + Class + Union , COMPOUND = RECORD + Namespace
}
 Enumerates the kinds of compounds found in a the Doxygen tagfile. More...

Public Static Field Index:

static size_t MAX_TEMPLATE_ARGS = 64

Public Static Method Index:

static TargetGetRootNodeTarget ()

Public Field Index:

alib::String HTMLFile
 The HTML file that this target links to (or into).
int LineNo
 The line number in the Doxygen tag-file where this entity is defined.

Public Method Index:

bool IsA (Kinds aKind) const
Kinds Kind () const

Protected Field Index:

Kinds kind
 The kind of this target.

Protected Method Index:

 Target (Kinds pKind, const alib::String &htmlFile, int lineNo)

Enumeration Details:

◆ Kinds

enum dxl::Target::Kinds : unsigned

Enumerates the kinds of compounds found in a the Doxygen tagfile.

Enumerator
Dir 

Denotes a source folder.

File 

Denotes a source file.

Page 

Denotes a page.

Group 

Denotes a group.

DocAnchor 

Denotes a preprocessor definition.

Namespace 

Denotes a namespace.

Struct 

Denotes a struct.

Class 

Denotes a class.

Union 

Denotes a union.

Concept 

Denotes a C++20 concept.

Macro 

Denotes a preprocessor definition.

Typedef 

Denotes a type definition.

Variable 

Denotes a namespace- or member-variable.

Function 

Denotes a namespace- or member-function.

Enumeration 

Denotes an enumeration.

EnumElement 

Denotes an enumeration element.

GenericMember 

An unknown or uninteresting group member type.

FILEPATH_COMPONENT 

A node of a file path (not a doxygen kind).

UNKNOWN_COMPOUND 

This is set when creating paths to compounds. They should be replaced later, with true compound types. Otherwise a compound was not doxed!

UNSPECIFIED 

Used with the field XLink::KindSpec.

MAX_KIND 

The highest bit defining a kind.

ROOT 

The kind attached to the root node of the tree.

UNRESOLVED 

The kind attached to the root node of the tree.

MEMBER 

Mask to identify member types. Here the word "member" is not meant in the C++ sense, but in the sense of "compound member"

RECORD 

Mask to identify records types.

COMPOUND 

Mask to identify compound types.

Definition at line 28 of file target.hpp.

Field Details:

◆ HTMLFile

alib::String dxl::Target::HTMLFile

The HTML file that this target links to (or into).

Definition at line 219 of file target.hpp.

◆ kind

Kinds dxl::Target::kind
protected

The kind of this target.

Definition at line 211 of file target.hpp.

◆ LineNo

int dxl::Target::LineNo

The line number in the Doxygen tag-file where this entity is defined.

Definition at line 216 of file target.hpp.

◆ MAX_TEMPLATE_ARGS

size_t dxl::Target::MAX_TEMPLATE_ARGS = 64
static

The maximum number of template arguments to parse and compare. If exceeded, a parse error will be set for the XLink.

Definition at line 26 of file target.hpp.

Constructor(s) / Destructor Details:

◆ Target()

dxl::Target::Target ( Kinds pKind,
const alib::String & htmlFile,
int lineNo )
inlineprotected

Constructor.

Parameters
pKindThe kind of this target.
htmlFileThe html file that this instance targets.
lineNoThe definition line number in the Doxygen tag-file.

Definition at line 226 of file target.hpp.

Method Details:

◆ GetRootNodeTarget()

Target * dxl::Target::GetRootNodeTarget ( )
inlinestatic

Static method that returns a likewise static target which class Index attaches to its StringTree's root-node.

Returns
A pointer to the target of type ROOT.

Definition at line 247 of file target.hpp.

◆ IsA()

bool dxl::Target::IsA ( Kinds aKind) const
inline

Tests if an instance is of a given aKind.

Parameters
aKindThe kind to test this instance for.
Returns
true if this instance is of the given kind, false otherwise.

Definition at line 240 of file target.hpp.

◆ Kind()

Kinds dxl::Target::Kind ( ) const
inline

Returns the kind of this target. The result may be used to cast a pointer to the corresponding descendant

Returns
The kind of this target.

Definition at line 235 of file target.hpp.


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