Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
Node< _Tp > Class Template Reference

The Node class is the base class for all the nodes in QDoc's parse tree. More...

#include <lalr.h>

+ Inheritance diagram for Node< _Tp >:
+ Collaboration diagram for Node< _Tp >:

Public Types

enum  NodeType : unsigned char {
  NoType , Namespace , Class , Struct ,
  Union , HeaderFile , Page , Enum ,
  Example , ExternalPage , Function , Typedef ,
  TypeAlias , Property , Variable , Group ,
  Module , QmlType , QmlModule , QmlProperty ,
  QmlValueType , SharedComment , Collection , Proxy
}
 An unsigned char value that identifies an object as a particular subclass of Node. More...
 
enum  Genus : unsigned char {
  DontCare = 0x0 , CPP = 0x1 , QML = 0x4 , DOC = 0x8 ,
  API = CPP | QML
}
 An unsigned char value that specifies whether the Node represents a C++ element, a QML element, or a text document. More...
 
enum  Status : unsigned char {
  Deprecated , Preliminary , Active , Internal ,
  DontDocument
}
 An unsigned char that specifies the status of the documentation element in the documentation set. More...
 
enum  ThreadSafeness : unsigned char { UnspecifiedSafeness , NonReentrant , Reentrant , ThreadSafe }
 An unsigned char that specifies the degree of thread-safeness of the element. More...
 
enum  SignatureOption : unsigned char { SignaturePlain = 0x0 , SignatureDefaultValues = 0x1 , SignatureReturnType = 0x2 , SignatureTemplateParams = 0x4 }
 
enum  LinkType : unsigned char { StartLink , NextLink , PreviousLink , ContentsLink }
 An unsigned char value that probably should be moved out of the Node base class. More...
 
enum  FlagValue { FlagValueDefault = -1 , FlagValueFalse = 0 , FlagValueTrue = 1 }
 A value used in PropertyNode and QmlPropertyNode that can be -1, 0, or +1. More...
 
typedef std::set< Node< _Tp > > Repository
 
typedef Repository::iterator iterator
 
typedef std::list< iterator >::iterator edge_iterator
 

Public Member Functions

std::pair< edge_iterator, bool > insertEdge (iterator other) const
 
edge_iterator begin () const
 
edge_iterator end () const
 
bool operator== (const Node< _Tp > &other) const
 
bool operator!= (const Node< _Tp > &other) const
 
bool operator< (const Node< _Tp > &other) const
 
virtual ~Node ()=default
 The default destructor is virtual so any subclass of Node can be deleted by deleting a pointer to Node.
 
virtual Nodeclone (Aggregate *)
 When reimplemented in a subclass, this function creates a clone of this node on the heap and makes the clone a child of parent.
 
virtual Treetree () const
 Returns a pointer to the Tree this node is in.
 
Aggregateroot () const
 
NodeType nodeType () const
 Returns this node's type.
 
QString nodeTypeString () const
 Returns this node's type as a string for use as an attribute value in XML or HTML.
 
Genus genus () const
 Returns this node's Genus.
 
void setGenus (Genus t)
 
bool isActive () const
 Returns true if this node's status is Active.
 
bool isClass () const
 Returns true if the node type is Class.
 
bool isCppNode () const
 Returns true if this node's Genus value is CPP.
 
bool isDontDocument () const
 Returns true if this node's status is DontDocument.
 
bool isEnumType () const
 Returns true if the node type is Enum.
 
bool isExample () const
 Returns true if the node type is Example.
 
bool isExternalPage () const
 Returns true if the node type is ExternalPage.
 
bool isFunction (Genus g=DontCare) const
 Returns true if this is a FunctionNode and its Genus is set to g.
 
bool isGroup () const
 Returns true if the node type is Group.
 
bool isHeader () const
 Returns true if the node type is HeaderFile.
 
bool isIndexNode () const
 Returns true if this node was created from something in an index file.
 
bool isModule () const
 Returns true if the node type is Module.
 
bool isNamespace () const
 Returns true if the node type is Namespace.
 
bool isPage () const
 Returns true if the node type is Page.
 
bool isPreliminary () const
 Returns true if this node's status is Preliminary.
 
bool isPrivate () const
 Returns true if this node's access is Private.
 
bool isProperty () const
 Returns true if the node type is Property.
 
bool isProxyNode () const
 Returns true if the node type is Proxy.
 
bool isPublic () const
 Returns true if this node's access is Public.
 
bool isProtected () const
 Returns true if this node's access is Protected.
 
bool isQmlBasicType () const
 Returns true if the node type is QmlBasicType.
 
bool isQmlModule () const
 Returns true if the node type is QmlModule.
 
bool isQmlNode () const
 Returns true if this node's Genus value is QML.
 
bool isQmlProperty () const
 Returns true if the node type is QmlProperty.
 
bool isQmlType () const
 Returns true if the node type is QmlType or QmlValueType.
 
bool isRelatedNonmember () const
 Returns true if this is a related nonmember of something.
 
bool isStruct () const
 Returns true if the node type is Struct.
 
bool isSharedCommentNode () const
 Returns true if the node type is SharedComment.
 
bool isTypeAlias () const
 Returns true if the node type is Typedef.
 
bool isTypedef () const
 Returns true if the node type is Typedef.
 
bool isUnion () const
 Returns true if the node type is Union.
 
bool isVariable () const
 Returns true if the node type is Variable.
 
bool isGenericCollection () const
 Returns true if the node type is Collection.
 
virtual bool isDeprecated () const
 Returns true if this node's status is Deprecated.
 
virtual bool isAbstract () const
 Returns true if the ClassNode or QmlTypeNode is marked abstract.
 
virtual bool isAggregate () const
 Returns true if this node is an aggregate, which means it inherits Aggregate and can therefore have children.
 
virtual bool isFirstClassAggregate () const
 Returns true if this Node is an Aggregate but not a ProxyNode.
 
virtual bool isAlias () const
 Returns true if this QML property is marked as an alias.
 
virtual bool isAttached () const
 Returns true if the QML property or QML method node is marked as attached.
 
virtual bool isClassNode () const
 Returns true if this is an instance of ClassNode.
 
virtual bool isCollectionNode () const
 Returns true if this is an instance of CollectionNode.
 
virtual bool isDefault () const
 Returns true if the QML property node is marked as default.
 
virtual bool isInternal () const
 Returns true if the node's status is Internal, or if its parent is a class with Internal status.
 
virtual bool isMacro () const
 returns true if either FunctionNode::isMacroWithParams() or FunctionNode::isMacroWithoutParams() returns true.
 
virtual bool isPageNode () const
 Returns true if this node represents something that generates a documentation page.
 
virtual bool isRelatableType () const
 Returns true if this node is something you can relate things to with the relates command.
 
virtual bool isMarkedReimp () const
 Returns true if the FunctionNode is marked as a reimplemented function.
 
virtual bool isPropertyGroup () const
 Returns true if the node is a SharedCommentNode for documenting multiple C++ properties or multiple QML properties.
 
virtual bool isStatic () const
 Returns true if the FunctionNode represents a static function.
 
virtual bool isTextPageNode () const
 Returns true if the node is a PageNode but not an Aggregate.
 
virtual bool isWrapper () const
 Returns true if the node is a class node or a QML type node that is marked as being a wrapper class or wrapper QML type, or if it is a member of a wrapper class or type.
 
QString plainName () const
 Returns this node's name member.
 
QString plainFullName (const Node *relative=nullptr) const
 Constructs and returns the node's fully qualified name by recursively ascending the parent links and prepending each parent name + "::".
 
QString plainSignature () const
 Constructs and returns the node's fully qualified signature by recursively ascending the parent links and prepending each parent name + "::" to the plain signature.
 
QString fullName (const Node *relative=nullptr) const
 Constructs and returns this node's full name.
 
virtual QString signature (Node::SignatureOptions) const
 void Node::setGenus(Genus t) Sets this node's Genus to t.
 
const QStringfileNameBase () const
 Returns the node's file name base string, which is built once, when Generator::fileBase() is called and stored in the Node.
 
bool hasFileNameBase () const
 Returns true if the node's file name base has been set.
 
void setFileNameBase (const QString &t)
 Sets the node's file name base to t.
 
void setAccess (Access t)
 Sets the node's access type to t.
 
void setLocation (const Location &t)
 Sets the node's declaration location, its definition location, or both, depending on the suffix of the file name from the file path in location t.
 
void setDoc (const Doc &doc, bool replace=false)
 Sets this Node's Doc to doc.
 
void setStatus (Status t)
 Sets the node's status to t.
 
void setThreadSafeness (ThreadSafeness t)
 Sets the node's thread safeness to t.
 
void setSince (const QString &since)
 Sets the information about the project and version a node was introduced in, unless the version is lower than the 'ignoresince.
 
void setPhysicalModuleName (const QString &name)
 Sets the node's physical module name.
 
void setUrl (const QString &url)
 Sets the node's URL to url, which is the url to the page that the node represents.
 
void setTemplateDecl (std::optional< RelaxedTemplateDeclaration > t)
 
void setReconstitutedBrief (const QString &t)
 When reading an index file, this function is called with the reconstituted brief clause t to set the node's brief clause.
 
void setParent (Aggregate *n)
 Sets the node's parent pointer to n.
 
void setIndexNodeFlag (bool isIndexNode=true)
 Sets a flag in this Node that indicates the node was created for something in an index file.
 
void setHadDoc ()
 
void setComparisonCategory (const ComparisonCategory &category)
 
ComparisonCategory comparisonCategory () const
 
virtual void setRelatedNonmember (bool b)
 Sets a flag in the node indicating whether this node is a related nonmember of something.
 
virtual void addMember (Node *)
 In a CollectionNode, this function adds node to the collection node's members list.
 
virtual bool hasNamespaces () const
 Returns true if this is a CollectionNode and its members list contains namespace nodes.
 
virtual bool hasClasses () const
 Returns true if this is a CollectionNode and its members list contains class nodes.
 
virtual void setAbstract (bool)
 If this node is a ClassNode or a QmlTypeNode, the node's abstract flag data member is set to b.
 
virtual void setWrapper ()
 If this node is a ClassNode or a QmlTypeNode, the node's wrapper flag data member is set to true.
 
virtual void setDataType (const QString &)
 If this node is a PropertyNode or a QmlPropertyNode, its data type data member is set to dataType.
 
virtual bool wasSeen () const
 Returns the seen flag data member of this node if it is a NamespaceNode or a CollectionNode.
 
virtual void appendGroupName (const QString &)
 
virtual QString element () const
 If this node is a QmlPropertyNode or a FunctionNode, this function returns the name of the parent node.
 
virtual bool docMustBeGenerated () const
 This function is called to perform a test to decide if the node must have documentation generated.
 
virtual QString title () const
 Returns a string that can be used to print a title in the documentation for whatever this Node is.
 
virtual QString subtitle () const
 Returns a string that can be used to print a subtitle in the documentation for whatever this Node is.
 
virtual QString fullTitle () const
 Returns a string that can be used as the full title for the documentation of this node.
 
virtual bool setTitle (const QString &)
 Sets the node's title, which is used for the title of the documentation page, if one is generated for this node.
 
virtual bool setSubtitle (const QString &)
 Sets the node's subtitle, which is used for the subtitle of the documentation page, if one is generated for this node.
 
void markInternal ()
 Sets the node's access to Private and its status to Internal.
 
virtual void markDefault ()
 If this node is a QmlPropertyNode, it is marked as the default property.
 
virtual void markReadOnly (bool)
 If this node is a QmlPropertyNode, then the property's read-only flag is set to flag.
 
Aggregateparent () const
 Returns the node's parent pointer.
 
const QStringname () const
 Returns the node's name data member.
 
QString physicalModuleName () const
 
QString url () const
 Returns the node's URL, which is the url of the documentation page created for the node or the url of an external page if the node is an ExternalPageNode.
 
virtual void setQtVariable (const QString &)
 If this node is a CollectionNode, its QT variable is set to v.
 
virtual QString qtVariable () const
 If this node is a CollectionNode, its QT variable is returned.
 
virtual void setCMakePackage (const QString &)
 
virtual void setCMakeComponent (const QString &)
 
virtual void setCMakeTargetItem (const QString &)
 
virtual QString cmakePackage () const
 
virtual QString cmakeComponent () const
 
virtual QString cmakeTargetItem () const
 
virtual bool hasTag (const QString &) const
 If this node is a FunctionNode, the function returns true if the function has the tag t.
 
void setDeprecated (const QString &sinceVersion)
 Sets the Node status to Node::Deprecated, unless sinceVersion represents a future version.
 
const QStringdeprecatedSince () const
 
const QMap< LinkType, std::pair< QString, QString > > & links () const
 Returns a reference to this node's link map.
 
void setLink (LinkType linkType, const QString &link, const QString &desc)
 This function creates a pair that describes a link.
 
Access access () const
 Returns the node's Access setting, which can be Public, Protected, or Private.
 
const LocationdeclLocation () const
 Returns the Location where this node's declaration was seen.
 
const LocationdefLocation () const
 Returns the Location where this node's dedefinition was seen.
 
const Locationlocation () const
 If this node's definition location is empty, this function returns this node's declaration location.
 
const Docdoc () const
 Returns a reference to the node's Doc data member.
 
bool isInAPI () const
 
bool hasDoc () const
 Returns true if this node is documented, or it represents a documented node read from the index ('had doc'), or this node is sharing a non-empty doc with other nodes.
 
bool hadDoc () const
 
Status status () const
 Returns the node's status value.
 
ThreadSafeness threadSafeness () const
 Returns the thread safeness value for whatever this node represents.
 
ThreadSafeness inheritedThreadSafeness () const
 If this node has a parent, the parent's thread safeness value is returned.
 
QString since () const
 Returns the node's since string, which can be empty.
 
const std::optional< RelaxedTemplateDeclaration > & templateDecl () const
 
const QStringreconstitutedBrief () const
 
bool isSharingComment () const
 This function returns true if the node is sharing a comment with other nodes.
 
void setSharedCommentNode (SharedCommentNode *t)
 
SharedCommentNodesharedCommentNode ()
 
QString extractClassName (const QString &string) const
 Extract a class name from the type string and return it.
 
virtual QString qmlTypeName () const
 If this is a QmlPropertyNode or a FunctionNode representing a QML method, this function returns the qmlTypeName() of the parent() node.
 
virtual QString qmlFullBaseName () const
 If this is a QmlTypeNode, this function returns the QML full base name.
 
virtual QString logicalModuleName () const
 If this is a CollectionNode, this function returns the logical module name.
 
virtual QString logicalModuleVersion () const
 If this is a CollectionNode, this function returns the logical module version number.
 
virtual QString logicalModuleIdentifier () const
 If this is a CollectionNode, this function returns the logical module identifier.
 
virtual void setLogicalModuleInfo (const QStringList &)
 If this node is a CollectionNode, this function splits arg on the blank character to get a logical module name and version number.
 
virtual CollectionNodelogicalModule () const
 If this is a QmlTypeNode, a pointer to its QML module is returned, which is a pointer to a CollectionNode.
 
virtual void setQmlModule (CollectionNode *)
 If this is a QmlTypeNode, this function sets the QML type's QML module pointer to the CollectionNode t.
 
virtual ClassNodeclassNode ()
 If this is a QmlTypeNode, this function returns the pointer to the C++ ClassNode that this QML type represents.
 
virtual void setClassNode (ClassNode *)
 If this is a QmlTypeNode, this function sets the C++ class node to cn.
 
QString fullDocumentName () const
 Construct the full document name for this node and return it.
 
QString qualifyCppName ()
 Returns the CPP node's qualified name by prepending the namespaces name + "::" if there isw a namespace.
 
QString qualifyQmlName ()
 Returns the QML node's qualified name by prepending the logical module name.
 
QString qualifyWithParentName ()
 Return the name of this node qualified with the parent name and "::" if there is a parent name.
 

Static Public Member Functions

static iterator get (_Tp data)
 
static iterator begin_nodes ()
 
static iterator end_nodes ()
 
static Repositoryrepository ()
 
static Genus getGenus (NodeType t)
 Determines the appropriate Genus value for the NodeType value t and returns that Genus value.
 
static FlagValue toFlagValue (bool b)
 Converts the boolean value b to an enum representation of the boolean type, which includes an enum value for the {default value} of the item, i.e.
 
static bool fromFlagValue (FlagValue fv, bool defaultValue)
 Converts the enum fv back to a boolean value.
 
static QString nodeTypeString (NodeType t)
 Returns the node type t as a string for use as an attribute value in XML or HTML.
 
static bool nodeNameLessThan (const Node *first, const Node *second)
 Returns true if the node n1 is less than node n2.
 
static bool nodeSortKeyOrNameLessThan (const Node *n1, const Node *n2)
 Returns true if node n1 is less than node n2 when comparing the sort keys, defined with.
 

Public Attributes

bool root
 Returns a pointer to the root of the Tree this node is in.
 
int dfn
 
_Tp data
 
std::list< iteratorouts
 

Protected Member Functions

 Node ()
 
 Node (_Tp d)
 
 Node (NodeType type, Aggregate *parent, QString name)
 Construct a node with the given type and having the given parent and name.
 

Detailed Description

template<typename _Tp>
class Node< _Tp >

The Node class is the base class for all the nodes in QDoc's parse tree.

Class Node is the base class of all the node subclasses. There is a subclass of Node for each type of entity that QDoc can document. The types of entities that QDoc can document are listed in the enum type NodeType.

After ClangCodeParser has parsed all the header files to build its precompiled header, it then visits the clang Abstract Syntax Tree (AST). For each node in the AST that it determines is in the public API and must be documented, it creates an instance of one of the Node subclasses and adds it to the QDoc Tree.

Each instance of a sublass of Node has a parent pointer to link it into the Tree. The parent pointer is obtained by calling \l {parent()}, which returns a pointer to an instance of the Node subclass, Aggregate, which is never instantiated directly, but as the base class for certain subclasses of Node that can have children. For example, ClassNode and QmlTypeNode can have children, so they both inherit Aggregate, while PropertyNode and QmlPropertyNode can not have children, so they both inherit Node.

See also
Aggregate, ClassNode, PropertyNode

Definition at line 135 of file lalr.h.

Member Typedef Documentation

◆ edge_iterator

template<typename _Tp >
std::list<iterator>::iterator Node< _Tp >::edge_iterator

Definition at line 140 of file lalr.h.

◆ iterator

template<typename _Tp >
Repository::iterator Node< _Tp >::iterator

Definition at line 139 of file lalr.h.

◆ Repository

template<typename _Tp >
std::set<Node<_Tp> > Node< _Tp >::Repository

Definition at line 138 of file lalr.h.

Member Enumeration Documentation

◆ FlagValue

template<typename _Tp >
enum Node::FlagValue

A value used in PropertyNode and QmlPropertyNode that can be -1, 0, or +1.

Properties and QML properties have flags, which can be 0 or 1, false or true, or not set. FlagValueDefault is the not set value. In other words, if a flag is set to FlagValueDefault, the meaning is the flag has not been set.

\value FlagValueDefault -1 Not set. \value FlagValueFalse 0 False. \value FlagValueTrue 1 True.

Enumerator
FlagValueDefault 
FlagValueFalse 
FlagValueTrue 

Definition at line 114 of file node.h.

◆ Genus

template<typename _Tp >
enum Node::Genus : unsigned char

An unsigned char value that specifies whether the Node represents a C++ element, a QML element, or a text document.

The Genus values are also passed to search functions to specify the Genus of Tree Node that can satisfy the search.

\value DontCare The Genus is not specified. Used when calling Tree search functions to indicate the search can accept any Genus of Node. \value CPP The Node represents a C++ element. \value QML The Node represents a QML element. \value DOC The Node represents a text document.

Enumerator
DontCare 
CPP 
QML 
DOC 
API 

Definition at line 81 of file node.h.

◆ LinkType

template<typename _Tp >
enum Node::LinkType : unsigned char

An unsigned char value that probably should be moved out of the Node base class.

\value StartLink \value NextLink \value PreviousLink \value ContentsLink

Enumerator
StartLink 
NextLink 
PreviousLink 
ContentsLink 

Definition at line 112 of file node.h.

◆ NodeType

template<typename _Tp >
enum Node::NodeType : unsigned char

An unsigned char value that identifies an object as a particular subclass of Node.

\value NoType The node type has not been set yet. \value Namespace The Node subclass is NamespaceNode, which represents a C++ namespace. \value Class The Node subclass is ClassNode, which represents a C++ class. \value Struct The Node subclass is ClassNode, which represents a C struct. \value Union The Node subclass is ClassNode, which represents a C union (currently no known uses). \value HeaderFile The Node subclass is HeaderNode, which represents a header file. \value Page The Node subclass is PageNode, which represents a text page from a .qdoc file. \value Enum The Node subclass is EnumNode, which represents an enum type or enum class. \value Example The Node subclass is ExampleNode, which represents an example subdirectory. \value ExternalPage The Node subclass is ExternalPageNode, which is for linking to an external page. \value Function The Node subclass is FunctionNode, which can represent C++, and QML functions. \value Typedef The Node subclass is TypedefNode, which represents a C++ typedef. \value Property The Node subclass is PropertyNode, which represents a use of Q_Property. \value Variable The Node subclass is VariableNode, which represents a global variable or class data member. \value Group The Node subclass is CollectionNode, which represents a group of documents. \value Module The Node subclass is CollectionNode, which represents a C++ module. \value QmlType The Node subclass is QmlTypeNode, which represents a QML type. \value QmlModule The Node subclass is CollectionNode, which represents a QML module. \value QmlProperty The Node subclass is QmlPropertyNode, which represents a property in a QML type. \value QmlBasicType The Node subclass is QmlTypeNode, which represents a value type like int, etc. \value SharedComment The Node subclass is SharedCommentNode, which represents a collection of nodes that share the same documentation comment. \omitvalue Collection \value Proxy The Node subclass is ProxyNode, which represents one or more entities that are documented in the current module but which actually reside in a different module. \omitvalue LastType

Enumerator
NoType 
Namespace 
Class 
Struct 
Union 
HeaderFile 
Page 
Enum 
Example 
ExternalPage 
Function 
Typedef 
TypeAlias 
Property 
Variable 
Group 
Module 
QmlType 
QmlModule 
QmlProperty 
QmlValueType 
SharedComment 
Collection 
Proxy 

Definition at line 54 of file node.h.

◆ SignatureOption

template<typename _Tp >
enum Node::SignatureOption : unsigned char
Enumerator
SignaturePlain 
SignatureDefaultValues 
SignatureReturnType 
SignatureTemplateParams 

Definition at line 104 of file node.h.

◆ Status

template<typename _Tp >
enum Node::Status : unsigned char

An unsigned char that specifies the status of the documentation element in the documentation set.

\value Deprecated The element has been deprecated. \value Preliminary The element is new; the documentation is preliminary. \value Active The element is current. \value Internal The element is for internal use only, not to be published. \value DontDocument The element is not to be documented.

Enumerator
Deprecated 
Preliminary 
Active 
Internal 
DontDocument 

Definition at line 89 of file node.h.

◆ ThreadSafeness

template<typename _Tp >
enum Node::ThreadSafeness : unsigned char

An unsigned char that specifies the degree of thread-safeness of the element.

\value UnspecifiedSafeness The thread-safeness is not specified. \value NonReentrant The element is not reentrant. \value Reentrant The element is reentrant. \value ThreadSafe The element is threadsafe.

Enumerator
UnspecifiedSafeness 
NonReentrant 
Reentrant 
ThreadSafe 

Definition at line 97 of file node.h.

Constructor & Destructor Documentation

◆ Node() [1/3]

template<typename _Tp >
Node< _Tp >::Node ( )
inlineprotected

Definition at line 181 of file lalr.h.

◆ Node() [2/3]

template<typename _Tp >
Node< _Tp >::Node ( _Tp d)
inlineprotected

Definition at line 183 of file lalr.h.

References Node< _Tp >::data, Node< _Tp >::dfn, and Node< _Tp >::root.

◆ ~Node()

template<typename _Tp >
virtual Node< _Tp >::~Node ( )
virtualdefault

The default destructor is virtual so any subclass of Node can be deleted by deleting a pointer to Node.

◆ Node() [3/3]

template<typename _Tp >
Node< _Tp >::Node ( NodeType type,
Aggregate * parent,
QString name )
protected

Construct a node with the given type and having the given parent and name.

The new node is added to the parent's child list.

Definition at line 584 of file node.cpp.

References Node< _Tp >::Node(), Aggregate::addChild(), Node< _Tp >::getGenus(), and Node< _Tp >::setGenus().

Referenced by Node< _Tp >::Node().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Function Documentation

◆ access()

template<typename _Tp >
Access Node< _Tp >::access ( ) const
inlinenodiscard

Returns the node's Access setting, which can be Public, Protected, or Private.

Definition at line 264 of file node.h.

Referenced by CodeMarker::extraSynopsis(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateSortedNames(), Node< _Tp >::nodeNameLessThan(), CppCodeParser::processTopicCommand(), and Generator::supplementAlsoList().

+ Here is the caller graph for this function:

◆ addMember()

template<typename _Tp >
virtual void Node< _Tp >::addMember ( Node< _Tp > * node)
inlinevirtual

In a CollectionNode, this function adds node to the collection node's members list.

It does nothing if this node is not a CollectionNode.

Reimplemented in CollectionNode.

Definition at line 219 of file node.h.

◆ appendGroupName()

template<typename _Tp >
virtual void Node< _Tp >::appendGroupName ( const QString & )
inlinevirtual

Reimplemented in PageNode.

Definition at line 226 of file node.h.

◆ begin()

template<typename _Tp >
edge_iterator Node< _Tp >::begin ( ) const
inline

Definition at line 147 of file lalr.h.

◆ begin_nodes()

template<typename _Tp >
static iterator Node< _Tp >::begin_nodes ( )
inlinestatic

Definition at line 162 of file lalr.h.

References Node< _Tp >::repository().

+ Here is the call graph for this function:

◆ classNode()

template<typename _Tp >
virtual ClassNode * Node< _Tp >::classNode ( )
inlinevirtual

If this is a QmlTypeNode, this function returns the pointer to the C++ ClassNode that this QML type represents.

Otherwise the nullptr is returned.

Reimplemented in QmlTypeNode.

Definition at line 299 of file node.h.

◆ clone()

template<typename _Tp >
virtual Node * Node< _Tp >::clone ( Aggregate * parent)
inlinevirtual

When reimplemented in a subclass, this function creates a clone of this node on the heap and makes the clone a child of parent.

A pointer to the clone is returned.

Here in the base class, this function does nothing and returns nullptr.

Reimplemented in EnumNode, FunctionNode, SharedCommentNode, TypeAliasNode, TypedefNode, and VariableNode.

Definition at line 117 of file node.h.

◆ cmakeComponent()

template<typename _Tp >
virtual QString Node< _Tp >::cmakeComponent ( ) const
inlinenodiscardvirtual

Reimplemented in CollectionNode.

Definition at line 254 of file node.h.

◆ cmakePackage()

template<typename _Tp >
virtual QString Node< _Tp >::cmakePackage ( ) const
inlinenodiscardvirtual

Reimplemented in CollectionNode.

Definition at line 253 of file node.h.

◆ cmakeTargetItem()

template<typename _Tp >
virtual QString Node< _Tp >::cmakeTargetItem ( ) const
inlinenodiscardvirtual

Reimplemented in CollectionNode.

Definition at line 255 of file node.h.

◆ comparisonCategory()

template<typename _Tp >
ComparisonCategory Node< _Tp >::comparisonCategory ( ) const
inlinenodiscard

Definition at line 217 of file node.h.

Referenced by Generator::generateComparisonCategory().

+ Here is the caller graph for this function:

◆ declLocation()

template<typename _Tp >
const Location & Node< _Tp >::declLocation ( ) const
inlinenodiscard

Returns the Location where this node's declaration was seen.

Normally the declaration location is in an include file. The declaration location is used in qdoc error/warning messages about the declaration.

Definition at line 265 of file node.h.

Referenced by ClassNode::docMustBeGenerated().

+ Here is the caller graph for this function:

◆ defLocation()

template<typename _Tp >
const Location & Node< _Tp >::defLocation ( ) const
inlinenodiscard

Returns the Location where this node's dedefinition was seen.

Normally the definition location is in a .cpp file. The definition location is used in qdoc error/warning messages when the error is discovered at the location of the definition, although the way to correct the problem often requires changing the declaration.

Definition at line 266 of file node.h.

◆ deprecatedSince()

template<typename _Tp >
const QString & Node< _Tp >::deprecatedSince ( ) const
inlinenodiscard

Definition at line 259 of file node.h.

◆ doc()

◆ docMustBeGenerated()

template<typename _Tp >
virtual bool Node< _Tp >::docMustBeGenerated ( ) const
inlinenodiscardvirtual

This function is called to perform a test to decide if the node must have documentation generated.

In the Node base class, it always returns false.

In the ProxyNode class it always returns true. There aren't many proxy nodes, but when one appears, it must generate documentation. In the overrides in NamespaceNode and ClassNode, a meaningful test is performed to decide if documentation must be generated.

Reimplemented in ClassNode, HeaderNode, NamespaceNode, and ProxyNode.

Definition at line 228 of file node.h.

Referenced by DocBookGenerator::generateDocumentation(), and Generator::generateDocumentation().

+ Here is the caller graph for this function:

◆ element()

template<typename _Tp >
virtual QString Node< _Tp >::element ( ) const
inlinenodiscardvirtual

If this node is a QmlPropertyNode or a FunctionNode, this function returns the name of the parent node.

Otherwise it returns an empty string.

Reimplemented in FunctionNode, and QmlPropertyNode.

Definition at line 227 of file node.h.

◆ end()

template<typename _Tp >
edge_iterator Node< _Tp >::end ( ) const
inline

Definition at line 150 of file lalr.h.

◆ end_nodes()

template<typename _Tp >
static iterator Node< _Tp >::end_nodes ( )
inlinestatic

Definition at line 165 of file lalr.h.

References Node< _Tp >::repository().

+ Here is the call graph for this function:

◆ extractClassName()

template<typename _Tp >
QString Node< _Tp >::extractClassName ( const QString & string) const
nodiscard

Extract a class name from the type string and return it.

Definition at line 798 of file node.cpp.

◆ fileNameBase()

template<typename _Tp >
const QString & Node< _Tp >::fileNameBase ( ) const
inlinenodiscard

Returns the node's file name base string, which is built once, when Generator::fileBase() is called and stored in the Node.

Definition at line 199 of file node.h.

◆ fromFlagValue()

template<typename _Tp >
bool Node< _Tp >::fromFlagValue ( FlagValue fv,
bool defaultValue )
static

Converts the enum fv back to a boolean value.

If fv is neither the true enum value nor the false enum value, the boolean value returned is defaultValue.

Definition at line 748 of file node.cpp.

References Node< _Tp >::FlagValueFalse, and Node< _Tp >::FlagValueTrue.

Referenced by QmlPropertyNode::isReadOnly(), QmlPropertyNode::isReadOnly(), QmlPropertyNode::isRequired(), PropertyNode::isStored(), QmlPropertyNode::isStored(), and PropertyNode::isWritable().

+ Here is the caller graph for this function:

◆ fullDocumentName()

template<typename _Tp >
QString Node< _Tp >::fullDocumentName ( ) const
nodiscard

Construct the full document name for this node and return it.

Definition at line 961 of file node.cpp.

References Node< _Tp >::isQmlType(), Node< _Tp >::isRelatedNonmember(), Node< _Tp >::isTextPageNode(), and Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ fullName()

template<typename _Tp >
QString Node< _Tp >::fullName ( const Node< _Tp > * relative = nullptr) const

Constructs and returns this node's full name.

The full name is often just the title(). When it is not the title, it is the plainFullName().

Definition at line 531 of file node.cpp.

◆ fullTitle()

template<typename _Tp >
virtual QString Node< _Tp >::fullTitle ( ) const
inlinenodiscardvirtual

Returns a string that can be used as the full title for the documentation of this node.

In this base class, the name() is returned. In a PageNode, title() is returned. In a HeaderNode, if the title() is empty, the name() is returned. If the title() is not empty then name-title is returned. In a CollectionNode, the title() is returned.

Reimplemented in CollectionNode, HeaderNode, and PageNode.

Definition at line 232 of file node.h.

◆ genus()

template<typename _Tp >
Genus Node< _Tp >::genus ( ) const
inlinenodiscard

Returns this node's Genus.

See also
Genus

Definition at line 124 of file node.h.

Referenced by SharedCommentNode::append(), Aggregate::findChildNode(), DocBookGenerator::generateCollectionNode(), HtmlGenerator::generateCollectionNode(), TargetRec::genus(), QDocDatabase::getModuleNode(), Node< _Tp >::isCppNode(), Node< _Tp >::isFunction(), Node< _Tp >::isQmlNode(), Generator::outputPrefix(), and Generator::outputSuffix().

+ Here is the caller graph for this function:

◆ get()

template<typename _Tp >
Node< _Tp >::iterator Node< _Tp >::get ( _Tp data)
static

Definition at line 188 of file lalr.h.

References Node< _Tp >::repository().

+ Here is the call graph for this function:

◆ getGenus()

template<typename _Tp >
Node::Genus Node< _Tp >::getGenus ( Node< _Tp >::NodeType t)
static

Determines the appropriate Genus value for the NodeType value t and returns that Genus value.

Note that this function is called in the Node() constructor. It always returns Node::CPP when t is Node::Function, which means the FunctionNode() constructor must determine its own Genus value separately, because class FunctionNode is a subclass of Node.

Definition at line 607 of file node.cpp.

References Node< _Tp >::Class, Node< _Tp >::Collection, Node< _Tp >::CPP, Node< _Tp >::DOC, Node< _Tp >::DontCare, Node< _Tp >::Enum, Node< _Tp >::Example, Node< _Tp >::ExternalPage, Node< _Tp >::Function, Node< _Tp >::Group, Node< _Tp >::HeaderFile, Node< _Tp >::Module, Node< _Tp >::Namespace, Node< _Tp >::Page, Node< _Tp >::Property, Node< _Tp >::Proxy, Node< _Tp >::QML, Node< _Tp >::QmlModule, Node< _Tp >::QmlProperty, Node< _Tp >::QmlType, Node< _Tp >::QmlValueType, Node< _Tp >::SharedComment, Node< _Tp >::Struct, Node< _Tp >::TypeAlias, Node< _Tp >::Typedef, Node< _Tp >::Union, and Node< _Tp >::Variable.

Referenced by Node< _Tp >::Node().

+ Here is the caller graph for this function:

◆ hadDoc()

template<typename _Tp >
bool Node< _Tp >::hadDoc ( ) const
inlinenodiscard

Definition at line 277 of file node.h.

◆ hasClasses()

template<typename _Tp >
virtual bool Node< _Tp >::hasClasses ( ) const
inlinenodiscardvirtual

Returns true if this is a CollectionNode and its members list contains class nodes.

Otherwise it returns false.

Reimplemented in CollectionNode.

Definition at line 221 of file node.h.

◆ hasDoc()

template<typename _Tp >
bool Node< _Tp >::hasDoc ( ) const
nodiscard

Returns true if this node is documented, or it represents a documented node read from the index ('had doc'), or this node is sharing a non-empty doc with other nodes.

See also
Doc

Definition at line 906 of file node.cpp.

References Node< _Tp >::hasDoc(), and Doc::isEmpty().

Referenced by Sections::buildStdRefPageSections(), ClassNode::docMustBeGenerated(), DocBookGenerator::generateBody(), Generator::generateBody(), HtmlGenerator::generateCppReferencePage(), DocBookGenerator::generateHeader(), Node< _Tp >::hasDoc(), FunctionNode::isIgnored(), Node< _Tp >::isInAPI(), nodeToTestForDistribution(), and Aggregate::normalizeOverloads().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasFileNameBase()

template<typename _Tp >
bool Node< _Tp >::hasFileNameBase ( ) const
inlinenodiscard

Returns true if the node's file name base has been set.

See also
Node::fileNameBase()

Definition at line 200 of file node.h.

Referenced by Generator::fileBase().

+ Here is the caller graph for this function:

◆ hasNamespaces()

template<typename _Tp >
virtual bool Node< _Tp >::hasNamespaces ( ) const
inlinenodiscardvirtual

Returns true if this is a CollectionNode and its members list contains namespace nodes.

Otherwise it returns false.

Reimplemented in CollectionNode.

Definition at line 220 of file node.h.

◆ hasTag()

template<typename _Tp >
virtual bool Node< _Tp >::hasTag ( const QString & t) const
inlinenodiscardvirtual

If this node is a FunctionNode, the function returns true if the function has the tag t.

Otherwise the function returns false. I don't know what the tag is used for.

Reimplemented in FunctionNode.

Definition at line 256 of file node.h.

◆ inheritedThreadSafeness()

template<typename _Tp >
Node::ThreadSafeness Node< _Tp >::inheritedThreadSafeness ( ) const
nodiscard

If this node has a parent, the parent's thread safeness value is returned.

Otherwise, this node's thread safeness value is returned. Why?

Definition at line 838 of file node.cpp.

References Node< _Tp >::inheritedThreadSafeness(), and Node< _Tp >::UnspecifiedSafeness.

Referenced by Node< _Tp >::inheritedThreadSafeness(), and Node< _Tp >::threadSafeness().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertEdge()

template<typename _Tp >
std::pair< typename std::list< typename Node< _Tp >::iterator >::iterator, bool > Node< _Tp >::insertEdge ( iterator other) const

Definition at line 200 of file lalr.h.

◆ isAbstract()

template<typename _Tp >
virtual bool Node< _Tp >::isAbstract ( ) const
inlinenodiscardvirtual

Returns true if the ClassNode or QmlTypeNode is marked abstract.

Reimplemented in ClassNode, and QmlTypeNode.

Definition at line 169 of file node.h.

Referenced by Sections::buildStdQmlTypeRefPageSections(), Section::insert(), Node< _Tp >::isInternal(), and XmlGenerator::linkForNode().

+ Here is the caller graph for this function:

◆ isActive()

template<typename _Tp >
bool Node< _Tp >::isActive ( ) const
inlinenodiscard

Returns true if this node's status is Active.

Definition at line 128 of file node.h.

References Node< _Tp >::Active.

◆ isAggregate()

template<typename _Tp >
virtual bool Node< _Tp >::isAggregate ( ) const
inlinenodiscardvirtual

◆ isAlias()

template<typename _Tp >
virtual bool Node< _Tp >::isAlias ( ) const
inlinenodiscardvirtual

Returns true if this QML property is marked as an alias.

Reimplemented in QmlPropertyNode.

Definition at line 175 of file node.h.

◆ isAttached()

template<typename _Tp >
virtual bool Node< _Tp >::isAttached ( ) const
inlinenodiscardvirtual

Returns true if the QML property or QML method node is marked as attached.

Reimplemented in FunctionNode, and QmlPropertyNode.

Definition at line 176 of file node.h.

Referenced by Generator::fullDocumentLocation(), and XmlGenerator::refForNode().

+ Here is the caller graph for this function:

◆ isClass()

template<typename _Tp >
bool Node< _Tp >::isClass ( ) const
inlinenodiscard

Returns true if the node type is Class.

Definition at line 129 of file node.h.

References Node< _Tp >::Class.

Referenced by DocBookGenerator::generateCppReferencePage(), DocBookGenerator::generateDocBookSynopsis(), and nodeToSynopsisTag().

+ Here is the caller graph for this function:

◆ isClassNode()

◆ isCollectionNode()

template<typename _Tp >
virtual bool Node< _Tp >::isCollectionNode ( ) const
inlinenodiscardvirtual

Returns true if this is an instance of CollectionNode.

Reimplemented in CollectionNode.

Definition at line 178 of file node.h.

Referenced by Generator::fileBase(), Generator::fullDocumentLocation(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), WebXMLGenerator::generateDocumentation(), XmlGenerator::hasBrief(), Generator::outputPrefix(), and CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ isCppNode()

template<typename _Tp >
bool Node< _Tp >::isCppNode ( ) const
inlinenodiscard

Returns true if this node's Genus value is CPP.

Definition at line 130 of file node.h.

References Node< _Tp >::CPP, and Node< _Tp >::genus().

Referenced by FnMatchError::isParentInternal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isDefault()

template<typename _Tp >
virtual bool Node< _Tp >::isDefault ( ) const
inlinenodiscardvirtual

Returns true if the QML property node is marked as default.

Reimplemented in FunctionNode, and QmlPropertyNode.

Definition at line 179 of file node.h.

◆ isDeprecated()

template<typename _Tp >
virtual bool Node< _Tp >::isDeprecated ( ) const
inlinenodiscardvirtual

Returns true if this node's status is Deprecated.

Reimplemented in FunctionNode.

Definition at line 168 of file node.h.

References Node< _Tp >::Deprecated.

Referenced by WebXMLGenerator::addAtomElements(), HtmlGenerator::fileBase(), Generator::fullDocumentLocation(), DocBookGenerator::generateAtom(), HtmlGenerator::generateAtom(), Section::insert(), FunctionNode::isDeprecated(), and nodeStatusAsString().

+ Here is the caller graph for this function:

◆ isDontDocument()

template<typename _Tp >
bool Node< _Tp >::isDontDocument ( ) const
inlinenodiscard

Returns true if this node's status is DontDocument.

Definition at line 131 of file node.h.

References Node< _Tp >::DontDocument.

Referenced by ClassNode::docMustBeGenerated(), Node< _Tp >::isInAPI(), and ClassNode::removePrivateAndInternalBases().

+ Here is the caller graph for this function:

◆ isEnumType()

template<typename _Tp >
bool Node< _Tp >::isEnumType ( ) const
inlinenodiscard

Returns true if the node type is Enum.

Definition at line 132 of file node.h.

References Node< _Tp >::Enum.

Referenced by WebXMLGenerator::addAtomElements(), Aggregate::addChild(), Aggregate::adoptChild(), findNodeForCursor(), HtmlGenerator::generateAtom(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), Section::insert(), CppCodeMarker::markedUpEnumValue(), and nodeToSynopsisTag().

+ Here is the caller graph for this function:

◆ isExample()

template<typename _Tp >
bool Node< _Tp >::isExample ( ) const
inlinenodiscard

Returns true if the node type is Example.

Definition at line 133 of file node.h.

References Node< _Tp >::Example.

Referenced by WebXMLGenerator::append(), Generator::fileBase(), DocBookGenerator::generateExampleFilePage(), HtmlGenerator::generatePageNode(), Generator::generateRequiredLinks(), CppCodeParser::processMetaCommand(), and XmlGenerator::setImageFileName().

+ Here is the caller graph for this function:

◆ isExternalPage()

template<typename _Tp >
bool Node< _Tp >::isExternalPage ( ) const
inlinenodiscard

Returns true if the node type is ExternalPage.

Definition at line 134 of file node.h.

References Node< _Tp >::ExternalPage.

Referenced by DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), and WebXMLGenerator::generateDocumentation().

+ Here is the caller graph for this function:

◆ isFirstClassAggregate()

template<typename _Tp >
virtual bool Node< _Tp >::isFirstClassAggregate ( ) const
inlinenodiscardvirtual

Returns true if this Node is an Aggregate but not a ProxyNode.

Reimplemented in ClassNode, HeaderNode, NamespaceNode, and QmlTypeNode.

Definition at line 171 of file node.h.

◆ isFunction()

template<typename _Tp >
bool Node< _Tp >::isFunction ( Genus g = DontCare) const
inlinenodiscard

Returns true if this is a FunctionNode and its Genus is set to g.

Definition at line 135 of file node.h.

References Node< _Tp >::DontCare, Node< _Tp >::Function, and Node< _Tp >::genus().

Referenced by Aggregate::addChild(), Aggregate::adoptChild(), findNodeForCursor(), DocBookGenerator::generateAddendum(), Generator::generateAddendum(), DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), Generator::getOverloadedSignalCode(), Section::insert(), CppCodeMarker::markedUpName(), QmlCodeMarker::markedUpName(), CppCodeMarker::markedUpQmlItem(), Node< _Tp >::nodeNameLessThan(), nodeToSynopsisTag(), Node< _Tp >::nodeTypeString(), CppCodeParser::processMetaCommand(), sortName(), Generator::supplementAlsoList(), and CodeMarker::taggedQmlNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isGenericCollection()

template<typename _Tp >
bool Node< _Tp >::isGenericCollection ( ) const
inlinenodiscard

Returns true if the node type is Collection.

Definition at line 166 of file node.h.

References Node< _Tp >::Collection.

Referenced by DocBookGenerator::generateDocumentation(), and Generator::generateDocumentation().

+ Here is the caller graph for this function:

◆ isGroup()

template<typename _Tp >
bool Node< _Tp >::isGroup ( ) const
inlinenodiscard

Returns true if the node type is Group.

Definition at line 139 of file node.h.

References Node< _Tp >::Group.

Referenced by WebXMLGenerator::append(), DocBookGenerator::generateCollectionNode(), DocBookGenerator::generateDocBookSynopsis(), and WebXMLGenerator::generateIndexSections().

+ Here is the caller graph for this function:

◆ isHeader()

template<typename _Tp >
bool Node< _Tp >::isHeader ( ) const
inlinenodiscard

Returns true if the node type is HeaderFile.

Definition at line 140 of file node.h.

References Node< _Tp >::HeaderFile.

Referenced by DocBookGenerator::generateCppReferencePage(), HtmlGenerator::generateCppReferencePage(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), WebXMLGenerator::generateDocumentation(), CppCodeMarker::markedUpEnumValue(), CppCodeMarker::markedUpSynopsis(), and Node< _Tp >::plainFullName().

+ Here is the caller graph for this function:

◆ isInAPI()

template<typename _Tp >
bool Node< _Tp >::isInAPI ( ) const
inlinenodiscard

Definition at line 272 of file node.h.

References Node< _Tp >::hasDoc(), Node< _Tp >::isDontDocument(), Node< _Tp >::isInternal(), and Node< _Tp >::isPrivate().

Referenced by checkModuleInclusion(), HeaderNode::docMustBeGenerated(), NamespaceNode::docMustBeGenerated(), CollectionNode::hasClasses(), HeaderNode::hasDocumentedChildren(), NamespaceNode::hasDocumentedChildren(), and CollectionNode::hasNamespaces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isIndexNode()

template<typename _Tp >
bool Node< _Tp >::isIndexNode ( ) const
inlinenodiscard

Returns true if this node was created from something in an index file.

Definition at line 141 of file node.h.

Referenced by Aggregate::addChild(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), and WebXMLGenerator::generateDocumentation().

+ Here is the caller graph for this function:

◆ isInternal()

template<typename _Tp >
bool Node< _Tp >::isInternal ( ) const
nodiscardvirtual

Returns true if the node's status is Internal, or if its parent is a class with Internal status.

Reimplemented in QmlTypeNode.

Definition at line 849 of file node.cpp.

References Node< _Tp >::Internal, Node< _Tp >::isAbstract(), Node< _Tp >::parent(), and Node< _Tp >::status().

Referenced by QmlTypeNode::addInheritedBy(), ClassNode::docMustBeGenerated(), Aggregate::findFunctionChild(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), WebXMLGenerator::generateDocumentation(), DocBookGenerator::generateQmlRequisites(), Section::insert(), Node< _Tp >::isInAPI(), keep(), XmlGenerator::linkForNode(), Aggregate::normalizeOverloads(), CppCodeParser::processMetaCommand(), and ClassNode::removePrivateAndInternalBases().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isMacro()

template<typename _Tp >
virtual bool Node< _Tp >::isMacro ( ) const
inlinenodiscardvirtual

returns true if either FunctionNode::isMacroWithParams() or FunctionNode::isMacroWithoutParams() returns true.

Reimplemented in FunctionNode.

Definition at line 181 of file node.h.

Referenced by CppCodeMarker::markedUpName(), and Generator::supplementAlsoList().

+ Here is the caller graph for this function:

◆ isMarkedReimp()

template<typename _Tp >
virtual bool Node< _Tp >::isMarkedReimp ( ) const
inlinenodiscardvirtual

Returns true if the FunctionNode is marked as a reimplemented function.

That means it is virtual in the base class and it is reimplemented in the subclass.

Reimplemented in FunctionNode.

Definition at line 184 of file node.h.

Referenced by DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the caller graph for this function:

◆ isModule()

template<typename _Tp >
bool Node< _Tp >::isModule ( ) const
inlinenodiscard

Returns true if the node type is Module.

Definition at line 142 of file node.h.

References Node< _Tp >::Module.

Referenced by WebXMLGenerator::append(), Generator::fileBase(), DocBookGenerator::generateCollectionNode(), HtmlGenerator::generateCollectionNode(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateStatus(), Generator::generateStatus(), and CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ isNamespace()

◆ isPage()

template<typename _Tp >
bool Node< _Tp >::isPage ( ) const
inlinenodiscard

Returns true if the node type is Page.

Definition at line 144 of file node.h.

References Node< _Tp >::Page.

◆ isPageNode()

template<typename _Tp >
virtual bool Node< _Tp >::isPageNode ( ) const
inlinenodiscardvirtual

Returns true if this node represents something that generates a documentation page.

In other words, if this Node's subclass inherits PageNode, then this function will return true.

Reimplemented in PageNode.

Definition at line 182 of file node.h.

Referenced by Generator::beginSubPage(), Generator::fileBase(), QDocDatabase::findNodeForAtom(), DocBookGenerator::generateDocBookSynopsis(), XmlGenerator::hasBrief(), XmlGenerator::linkForNode(), Node< _Tp >::nodeNameLessThan(), nodeToSynopsisTag(), Generator::outputPrefix(), and Generator::outputSuffix().

+ Here is the caller graph for this function:

◆ isPreliminary()

template<typename _Tp >
bool Node< _Tp >::isPreliminary ( ) const
inlinenodiscard

Returns true if this node's status is Preliminary.

Definition at line 145 of file node.h.

References Node< _Tp >::Preliminary.

◆ isPrivate()

template<typename _Tp >
bool Node< _Tp >::isPrivate ( ) const
inlinenodiscard

Returns true if this node's access is Private.

Definition at line 146 of file node.h.

Referenced by Sections::buildStdCppClassRefPageSections(), ClassNode::docMustBeGenerated(), Section::insert(), Section::insertReimplementedMember(), Node< _Tp >::isInAPI(), keep(), XmlGenerator::linkForNode(), and ClassNode::removePrivateAndInternalBases().

+ Here is the caller graph for this function:

◆ isProperty()

template<typename _Tp >
bool Node< _Tp >::isProperty ( ) const
inlinenodiscard

Returns true if the node type is Property.

Definition at line 147 of file node.h.

References Node< _Tp >::Property.

Referenced by WebXMLGenerator::addAtomElements(), Sections::buildStdCppClassRefPageSections(), DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), CppCodeMarker::markedUpSynopsis(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isPropertyGroup()

template<typename _Tp >
virtual bool Node< _Tp >::isPropertyGroup ( ) const
inlinenodiscardvirtual

Returns true if the node is a SharedCommentNode for documenting multiple C++ properties or multiple QML properties.

Reimplemented in SharedCommentNode.

Definition at line 185 of file node.h.

Referenced by Generator::fullDocumentLocation(), XmlGenerator::linkForNode(), and XmlGenerator::refForNode().

+ Here is the caller graph for this function:

◆ isProtected()

template<typename _Tp >
bool Node< _Tp >::isProtected ( ) const
inlinenodiscard

Returns true if this node's access is Protected.

Definition at line 150 of file node.h.

◆ isProxyNode()

template<typename _Tp >
bool Node< _Tp >::isProxyNode ( ) const
inlinenodiscard

Returns true if the node type is Proxy.

Definition at line 148 of file node.h.

References Node< _Tp >::Proxy.

Referenced by Generator::fileBase(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), DocBookGenerator::generateProxyPage(), HtmlGenerator::generateProxyPage(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isPublic()

template<typename _Tp >
bool Node< _Tp >::isPublic ( ) const
inlinenodiscard

Returns true if this node's access is Public.

Definition at line 149 of file node.h.

◆ isQmlBasicType()

template<typename _Tp >
bool Node< _Tp >::isQmlBasicType ( ) const
inlinenodiscard

Returns true if the node type is QmlBasicType.

Definition at line 151 of file node.h.

References Node< _Tp >::QmlValueType.

Referenced by DocBookGenerator::generateQmlTypePage(), and HtmlGenerator::generateQmlTypePage().

+ Here is the caller graph for this function:

◆ isQmlModule()

template<typename _Tp >
bool Node< _Tp >::isQmlModule ( ) const
inlinenodiscard

Returns true if the node type is QmlModule.

Definition at line 152 of file node.h.

References Node< _Tp >::QmlModule.

Referenced by Generator::fileBase(), DocBookGenerator::generateCollectionNode(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateStatus(), Generator::generateStatus(), and CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ isQmlNode()

template<typename _Tp >
bool Node< _Tp >::isQmlNode ( ) const
inlinenodiscard

Returns true if this node's Genus value is QML.

Definition at line 153 of file node.h.

References Node< _Tp >::genus(), and Node< _Tp >::QML.

Referenced by Generator::generateStatus(), and CppCodeMarker::markedUpSynopsis().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isQmlProperty()

template<typename _Tp >
bool Node< _Tp >::isQmlProperty ( ) const
inlinenodiscard

Returns true if the node type is QmlProperty.

Definition at line 154 of file node.h.

References Node< _Tp >::QmlProperty.

Referenced by DocBookGenerator::generateDocBookSynopsis(), Generator::generateEnumValuesForQmlProperty(), CppCodeMarker::markedUpEnumValue(), CppCodeMarker::markedUpQmlItem(), nodeToSynopsisTag(), CppCodeParser::processMetaCommand(), and CodeMarker::taggedQmlNode().

+ Here is the caller graph for this function:

◆ isQmlType()

template<typename _Tp >
bool Node< _Tp >::isQmlType ( ) const
inlinenodiscard

◆ isRelatableType()

template<typename _Tp >
virtual bool Node< _Tp >::isRelatableType ( ) const
inlinenodiscardvirtual

Returns true if this node is something you can relate things to with the relates command.

NamespaceNode, ClassNode, HeaderNode, and ProxyNode are relatable types.

Reimplemented in ClassNode, HeaderNode, NamespaceNode, and ProxyNode.

Definition at line 183 of file node.h.

◆ isRelatedNonmember()

template<typename _Tp >
bool Node< _Tp >::isRelatedNonmember ( ) const
inlinenodiscard

Returns true if this is a related nonmember of something.

Definition at line 156 of file node.h.

Referenced by Sections::buildStdCppClassRefPageSections(), Node< _Tp >::fullDocumentName(), Section::insert(), Section::insertReimplementedMember(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isSharedCommentNode()

template<typename _Tp >
bool Node< _Tp >::isSharedCommentNode ( ) const
inlinenodiscard

Returns true if the node type is SharedComment.

Definition at line 158 of file node.h.

References Node< _Tp >::SharedComment.

Referenced by Aggregate::adoptChild(), Sections::buildStdCppClassRefPageSections(), DocBookGenerator::generateDocBookSynopsis(), Generator::generateNoexceptNote(), nodeToTestForDistribution(), CppCodeParser::processMetaCommand(), and CppCodeParser::processMetaCommands().

+ Here is the caller graph for this function:

◆ isSharingComment()

template<typename _Tp >
bool Node< _Tp >::isSharingComment ( ) const
inlinenodiscard

This function returns true if the node is sharing a comment with other nodes.

For example, multiple functions can be documented with a single qdoc comment by listing the {\fn} signatures for all the functions in the single qdoc comment.

Definition at line 285 of file node.h.

Referenced by Sections::buildStdRefPageSections(), DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the caller graph for this function:

◆ isStatic()

template<typename _Tp >
virtual bool Node< _Tp >::isStatic ( ) const
inlinenodiscardvirtual

Returns true if the FunctionNode represents a static function.

Reimplemented in FunctionNode, and VariableNode.

Definition at line 186 of file node.h.

◆ isStruct()

template<typename _Tp >
bool Node< _Tp >::isStruct ( ) const
inlinenodiscard

Returns true if the node type is Struct.

Definition at line 157 of file node.h.

References Node< _Tp >::Struct.

◆ isTextPageNode()

template<typename _Tp >
virtual bool Node< _Tp >::isTextPageNode ( ) const
inlinenodiscardvirtual

Returns true if the node is a PageNode but not an Aggregate.

Reimplemented in PageNode.

Definition at line 187 of file node.h.

Referenced by XmlGenerator::anchorForNode(), WebXMLGenerator::append(), Generator::fileBase(), Generator::fullDocumentLocation(), Node< _Tp >::fullDocumentName(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), WebXMLGenerator::generateDocumentation(), and CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ isTypeAlias()

template<typename _Tp >
bool Node< _Tp >::isTypeAlias ( ) const
inlinenodiscard

Returns true if the node type is Typedef.

Definition at line 159 of file node.h.

References Node< _Tp >::TypeAlias.

Referenced by CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ isTypedef()

template<typename _Tp >
bool Node< _Tp >::isTypedef ( ) const
inlinenodiscard

Returns true if the node type is Typedef.

Definition at line 160 of file node.h.

References Node< _Tp >::TypeAlias, and Node< _Tp >::Typedef.

Referenced by findNodeForCursor(), DocBookGenerator::generateDocBookSynopsis(), Section::insert(), and nodeToSynopsisTag().

+ Here is the caller graph for this function:

◆ isUnion()

template<typename _Tp >
bool Node< _Tp >::isUnion ( ) const
inlinenodiscard

Returns true if the node type is Union.

Definition at line 164 of file node.h.

References Node< _Tp >::Union.

◆ isVariable()

template<typename _Tp >
bool Node< _Tp >::isVariable ( ) const
inlinenodiscard

Returns true if the node type is Variable.

Definition at line 165 of file node.h.

References Node< _Tp >::Variable.

Referenced by WebXMLGenerator::addAtomElements(), findNodeForCursor(), DocBookGenerator::generateDocBookSynopsis(), Section::insert(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isWrapper()

template<typename _Tp >
bool Node< _Tp >::isWrapper ( ) const
nodiscardvirtual

Returns true if the node is a class node or a QML type node that is marked as being a wrapper class or wrapper QML type, or if it is a member of a wrapper class or type.

Reimplemented in ClassNode, and QmlTypeNode.

Definition at line 953 of file node.cpp.

References Node< _Tp >::isWrapper().

Referenced by Generator::generateBody(), and Node< _Tp >::isWrapper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ links()

template<typename _Tp >
const QMap< LinkType, std::pair< QString, QString > > & Node< _Tp >::links ( ) const
inlinenodiscard

Returns a reference to this node's link map.

The link map should probably be moved to the PageNode, because it contains links to the start page, next page, previous page, and contents page, and these are only used in PageNode, I think.

Definition at line 261 of file node.h.

◆ location()

template<typename _Tp >
const Location & Node< _Tp >::location ( ) const
inlinenodiscard

If this node's definition location is empty, this function returns this node's declaration location.

Otherwise it returns the definition location.

See also
Location

Definition at line 267 of file node.h.

Referenced by WebXMLGenerator::addAtomElements(), Generator::addImageToCopy(), DocBookGenerator::generateAtom(), HtmlGenerator::generateAtom(), Generator::generateBody(), HtmlGenerator::generateCppReferencePage(), Generator::generateDocumentation(), WebXMLGenerator::generateIndexSections(), Generator::generateOverloadedSignal(), Node< _Tp >::nodeNameLessThan(), Generator::openSubPageFile(), and CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ logicalModule()

template<typename _Tp >
virtual CollectionNode * Node< _Tp >::logicalModule ( ) const
inlinenodiscardvirtual

If this is a QmlTypeNode, a pointer to its QML module is returned, which is a pointer to a CollectionNode.

Otherwise the nullptr is returned.

Reimplemented in QmlTypeNode.

Definition at line 297 of file node.h.

◆ logicalModuleIdentifier()

template<typename _Tp >
virtual QString Node< _Tp >::logicalModuleIdentifier ( ) const
inlinenodiscardvirtual

If this is a CollectionNode, this function returns the logical module identifier.

Otherwise it returns an empty string.

Reimplemented in CollectionNode, FunctionNode, QmlPropertyNode, and QmlTypeNode.

Definition at line 294 of file node.h.

◆ logicalModuleName()

template<typename _Tp >
virtual QString Node< _Tp >::logicalModuleName ( ) const
inlinenodiscardvirtual

If this is a CollectionNode, this function returns the logical module name.

Otherwise it returns an empty string.

Reimplemented in CollectionNode, FunctionNode, QmlPropertyNode, and QmlTypeNode.

Definition at line 292 of file node.h.

◆ logicalModuleVersion()

template<typename _Tp >
virtual QString Node< _Tp >::logicalModuleVersion ( ) const
inlinenodiscardvirtual

If this is a CollectionNode, this function returns the logical module version number.

Otherwise it returns an empty string.

Reimplemented in CollectionNode, FunctionNode, QmlPropertyNode, and QmlTypeNode.

Definition at line 293 of file node.h.

◆ markDefault()

template<typename _Tp >
virtual void Node< _Tp >::markDefault ( )
inlinevirtual

If this node is a QmlPropertyNode, it is marked as the default property.

Otherwise the function does nothing.

Reimplemented in QmlPropertyNode.

Definition at line 241 of file node.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ markInternal()

template<typename _Tp >
void Node< _Tp >::markInternal ( )
inline

Sets the node's access to Private and its status to Internal.

Definition at line 236 of file node.h.

References Node< _Tp >::Internal, Node< _Tp >::setAccess(), and Node< _Tp >::setStatus().

Referenced by CppCodeParser::processMetaCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ markReadOnly()

template<typename _Tp >
virtual void Node< _Tp >::markReadOnly ( bool flag)
inlinevirtual

If this node is a QmlPropertyNode, then the property's read-only flag is set to flag.

Reimplemented in QmlPropertyNode.

Definition at line 242 of file node.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ name()

template<typename _Tp >
const QString & Node< _Tp >::name ( ) const
inlinenodiscard

Returns the node's name data member.

Definition at line 245 of file node.h.

Referenced by testing.tools.encode_pdf_filter._PdfStream::RegisterByName().

+ Here is the caller graph for this function:

◆ nodeNameLessThan()

template<typename _Tp >
bool Node< _Tp >::nodeNameLessThan ( const Node< _Tp > * n1,
const Node< _Tp > * n2 )
staticnodiscard

Returns true if the node n1 is less than node n2.

The comparison is performed by comparing properties of the nodes in order of increasing complexity.

Definition at line 57 of file node.cpp.

References Node< _Tp >::access(), FunctionNode::isConst(), Node< _Tp >::isFunction(), Node< _Tp >::isPageNode(), Node< _Tp >::location(), Node< _Tp >::nodeType(), and Node< _Tp >::SignatureReturnType.

Referenced by DocBookGenerator::generateAddendum(), Generator::generateAddendum(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateRequisites(), Node< _Tp >::nodeSortKeyOrNameLessThan(), and Aggregate::nonfunctionList().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nodeSortKeyOrNameLessThan()

template<typename _Tp >
bool Node< _Tp >::nodeSortKeyOrNameLessThan ( const Node< _Tp > * n1,
const Node< _Tp > * n2 )
staticnodiscard

Returns true if node n1 is less than node n2 when comparing the sort keys, defined with.

\badcode \meta sortkey {

}

in the respective nodes' documentation. If the two sort keys are equal, falls back to nodeNameLessThan(). If n1 defines a sort key and n2 does not, then n1 < n2.

Definition at line 99 of file node.cpp.

References Node< _Tp >::doc(), Doc::metaTagMap(), and Node< _Tp >::nodeNameLessThan().

+ Here is the call graph for this function:

◆ nodeType()

◆ nodeTypeString() [1/2]

template<typename _Tp >
QString Node< _Tp >::nodeTypeString ( ) const
nodiscard

Returns this node's type as a string for use as an attribute value in XML or HTML.

Definition at line 664 of file node.cpp.

References Node< _Tp >::isFunction().

+ Here is the call graph for this function:

◆ nodeTypeString() [2/2]

◆ operator!=()

template<typename _Tp >
bool Node< _Tp >::operator!= ( const Node< _Tp > & other) const
inline

Definition at line 156 of file lalr.h.

References Node< _Tp >::data.

◆ operator<()

template<typename _Tp >
bool Node< _Tp >::operator< ( const Node< _Tp > & other) const
inline

Definition at line 159 of file lalr.h.

References Node< _Tp >::data.

◆ operator==()

template<typename _Tp >
bool Node< _Tp >::operator== ( const Node< _Tp > & other) const
inline

Definition at line 153 of file lalr.h.

References Node< _Tp >::data.

◆ parent()

template<typename _Tp >
Aggregate * Node< _Tp >::parent ( ) const
inlinenodiscard

Returns the node's parent pointer.

Definition at line 244 of file node.h.

Referenced by SharedCommentNode::SharedCommentNode(), WebXMLGenerator::addAtomElements(), Aggregate::adoptChild(), FunctionNode::element(), QmlPropertyNode::element(), Generator::fileBase(), Generator::fullDocumentLocation(), Node< _Tp >::fullDocumentName(), DocBookGenerator::generateAtom(), HtmlGenerator::generateAtom(), DocBookGenerator::generateBody(), Generator::generateBody(), HtmlGenerator::generateCppReferencePage(), DocBookGenerator::generateDocumentation(), Generator::generateDocumentation(), WebXMLGenerator::generateDocumentation(), Generator::getOverloadedSignalCode(), FunctionNode::hasOverloads(), Section::insert(), Section::insertReimplementedMember(), Node< _Tp >::isInternal(), QmlPropertyNode::isReadOnly(), XmlGenerator::linkForNode(), FunctionNode::logicalModuleIdentifier(), QmlPropertyNode::logicalModuleIdentifier(), FunctionNode::logicalModuleName(), QmlPropertyNode::logicalModuleName(), FunctionNode::logicalModuleVersion(), QmlPropertyNode::logicalModuleVersion(), CppCodeMarker::markedUpEnumValue(), CppCodeMarker::markedUpSynopsis(), CppCodeParser::parseMacroArg(), Node< _Tp >::plainFullName(), Node< _Tp >::plainSignature(), CppCodeParser::processMetaCommand(), CppCodeParser::processTopicCommand(), FunctionNode::qmlTypeName(), QmlPropertyNode::qmlTypeName(), PageNode::setTitle(), FunctionNode::setVirtualness(), Generator::supplementAlsoList(), and NamespaceNode::tree().

+ Here is the caller graph for this function:

◆ physicalModuleName()

template<typename _Tp >
QString Node< _Tp >::physicalModuleName ( ) const
inlinenodiscard

Definition at line 246 of file node.h.

◆ plainFullName()

template<typename _Tp >
QString Node< _Tp >::plainFullName ( const Node< _Tp > * relative = nullptr) const

Constructs and returns the node's fully qualified name by recursively ascending the parent links and prepending each parent name + "::".

Breaks out when reaching a HeaderNode, or when the parent pointer is relative. Typically, calls to this function pass nullptr for relative.

Definition at line 485 of file node.cpp.

References Node< _Tp >::isHeader(), and Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ plainName()

template<typename _Tp >
QString Node< _Tp >::plainName ( ) const
nodiscard

Returns this node's name member.

Appends "()" to the returned name if this node is a function node, but not if it is a macro because macro names normally appear without parentheses.

Definition at line 471 of file node.cpp.

◆ plainSignature()

template<typename _Tp >
QString Node< _Tp >::plainSignature ( ) const
nodiscard

Constructs and returns the node's fully qualified signature by recursively ascending the parent links and prepending each parent name + "::" to the plain signature.

The return type is not included.

Definition at line 509 of file node.cpp.

References Node< _Tp >::parent(), and Node< _Tp >::SignaturePlain.

+ Here is the call graph for this function:

◆ qmlFullBaseName()

template<typename _Tp >
virtual QString Node< _Tp >::qmlFullBaseName ( ) const
inlinenodiscardvirtual

If this is a QmlTypeNode, this function returns the QML full base name.

Otherwise it returns an empty string.

Reimplemented in QmlTypeNode.

Definition at line 291 of file node.h.

◆ qmlTypeName()

template<typename _Tp >
virtual QString Node< _Tp >::qmlTypeName ( ) const
inlinenodiscardvirtual

If this is a QmlPropertyNode or a FunctionNode representing a QML method, this function returns the qmlTypeName() of the parent() node.

Otherwise it returns the name data member.

Reimplemented in FunctionNode, and QmlPropertyNode.

Definition at line 290 of file node.h.

◆ qtVariable()

template<typename _Tp >
virtual QString Node< _Tp >::qtVariable ( ) const
inlinenodiscardvirtual

If this node is a CollectionNode, its QT variable is returned.

Otherwise an empty string is returned. I don't know what the QT variable is used for.

Reimplemented in CollectionNode.

Definition at line 249 of file node.h.

◆ qualifyCppName()

template<typename _Tp >
QString Node< _Tp >::qualifyCppName ( )

Returns the CPP node's qualified name by prepending the namespaces name + "::" if there isw a namespace.

Definition at line 921 of file node.cpp.

◆ qualifyQmlName()

template<typename _Tp >
QString Node< _Tp >::qualifyQmlName ( )

Returns the QML node's qualified name by prepending the logical module name.

Definition at line 943 of file node.cpp.

◆ qualifyWithParentName()

template<typename _Tp >
QString Node< _Tp >::qualifyWithParentName ( )

Return the name of this node qualified with the parent name and "::" if there is a parent name.

Definition at line 932 of file node.cpp.

◆ reconstitutedBrief()

template<typename _Tp >
const QString & Node< _Tp >::reconstitutedBrief ( ) const
inlinenodiscard

Definition at line 283 of file node.h.

◆ repository()

template<typename _Tp >
static Repository & Node< _Tp >::repository ( )
inlinestatic

Definition at line 168 of file lalr.h.

Referenced by Node< _Tp >::begin_nodes(), Node< _Tp >::end_nodes(), and Node< _Tp >::get().

+ Here is the caller graph for this function:

◆ root()

template<typename _Tp >
Aggregate * Node< _Tp >::root ( ) const
nodiscard

Referenced by QDocDatabase::findNodeForAtom(), and Node< _Tp >::tree().

+ Here is the caller graph for this function:

◆ setAbstract()

template<typename _Tp >
virtual void Node< _Tp >::setAbstract ( bool b)
inlinevirtual

If this node is a ClassNode or a QmlTypeNode, the node's abstract flag data member is set to b.

Reimplemented in ClassNode, and QmlTypeNode.

Definition at line 222 of file node.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ setAccess()

template<typename _Tp >
void Node< _Tp >::setAccess ( Access t)
inline

Sets the node's access type to t.

See also
Access

Definition at line 203 of file node.h.

Referenced by Node< _Tp >::markInternal(), and CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ setClassNode()

template<typename _Tp >
virtual void Node< _Tp >::setClassNode ( ClassNode< _Tp > * cn)
inlinevirtual

If this is a QmlTypeNode, this function sets the C++ class node to cn.

The C++ ClassNode is the C++ implementation of the QML type.

Reimplemented in QmlTypeNode.

Definition at line 300 of file node.h.

◆ setCMakeComponent()

template<typename _Tp >
virtual void Node< _Tp >::setCMakeComponent ( const QString & )
inlinevirtual

Reimplemented in CollectionNode.

Definition at line 251 of file node.h.

◆ setCMakePackage()

template<typename _Tp >
virtual void Node< _Tp >::setCMakePackage ( const QString & )
inlinevirtual

Reimplemented in CollectionNode.

Definition at line 250 of file node.h.

◆ setCMakeTargetItem()

template<typename _Tp >
virtual void Node< _Tp >::setCMakeTargetItem ( const QString & )
inlinevirtual

Reimplemented in CollectionNode.

Definition at line 252 of file node.h.

◆ setComparisonCategory()

template<typename _Tp >
void Node< _Tp >::setComparisonCategory ( const ComparisonCategory & category)
inline

Definition at line 216 of file node.h.

◆ setDataType()

template<typename _Tp >
virtual void Node< _Tp >::setDataType ( const QString & dataType)
inlinevirtual

If this node is a PropertyNode or a QmlPropertyNode, its data type data member is set to dataType.

Otherwise, this function does nothing.

Reimplemented in PropertyNode, and QmlPropertyNode.

Definition at line 224 of file node.h.

◆ setDeprecated()

template<typename _Tp >
void Node< _Tp >::setDeprecated ( const QString & sinceVersion)

Sets the Node status to Node::Deprecated, unless sinceVersion represents a future version.

Stores sinceVersion representing the version in which the deprecation took (or will take) place.

Fetches the current version from the config ('version' variable) as a string, and compared to sinceVersion. If both string represent a valid version and sinceVersion is greater than the currect version, do not mark the node as deprecated; leave it active.

Definition at line 1008 of file node.cpp.

References Node< _Tp >::Deprecated, and Node< _Tp >::setStatus().

+ Here is the call graph for this function:

◆ setDoc()

template<typename _Tp >
void Node< _Tp >::setDoc ( const Doc & doc,
bool replace = false )

Sets this Node's Doc to doc.

If replace is false and this Node already has a Doc, and if this doc is not marked with the \reimp command, a warning is reported that the existing Doc is being overridden, and it reports where the previous Doc was found. If replace is true, the Doc is replaced silently.

Definition at line 546 of file node.cpp.

References Doc::isEmpty(), Doc::isMarkedReimp(), Doc::location(), and Doc::operator=().

+ Here is the call graph for this function:

◆ setFileNameBase()

template<typename _Tp >
void Node< _Tp >::setFileNameBase ( const QString & t)
inline

Sets the node's file name base to t.

Only called by Generator::fileBase().

Definition at line 201 of file node.h.

◆ setGenus()

template<typename _Tp >
void Node< _Tp >::setGenus ( Genus t)
inline

Definition at line 125 of file node.h.

Referenced by Node< _Tp >::Node(), VariableNode::VariableNode(), and SharedCommentNode::append().

+ Here is the caller graph for this function:

◆ setHadDoc()

template<typename _Tp >
void Node< _Tp >::setHadDoc ( )
inline

Definition at line 215 of file node.h.

◆ setIndexNodeFlag()

template<typename _Tp >
void Node< _Tp >::setIndexNodeFlag ( bool isIndexNode = true)
inline

Sets a flag in this Node that indicates the node was created for something in an index file.

This is important to know because an index node is not to be documented in the current module. When the index flag is set, it means the Node represents something in another module, and it will be documented in that module's documentation.

Definition at line 214 of file node.h.

Referenced by Aggregate::addChild().

+ Here is the caller graph for this function:

◆ setLink()

template<typename _Tp >
void Node< _Tp >::setLink ( LinkType linkType,
const QString & link,
const QString & desc )

This function creates a pair that describes a link.

The pair is composed from link and desc. The linkType is the map index the pair is filed under.

Definition at line 765 of file node.cpp.

◆ setLocation()

template<typename _Tp >
void Node< _Tp >::setLocation ( const Location & t)

Sets the node's declaration location, its definition location, or both, depending on the suffix of the file name from the file path in location t.

Definition at line 886 of file node.cpp.

Referenced by QmlSignatureParser::matchFunctionDecl(), CppCodeParser::processQmlProperties(), and CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ setLogicalModuleInfo()

template<typename _Tp >
virtual void Node< _Tp >::setLogicalModuleInfo ( const QStringList & info)
inlinevirtual

If this node is a CollectionNode, this function splits arg on the blank character to get a logical module name and version number.

If this node is a CollectionNode, this function accepts the logical module info as a string list.

If the version number is present, it splits the version number on the '.' character to get a major version number and a minor version number. If the version number is present, both the major and minor version numbers should be there, but the minor version number is not absolutely necessary.

The strings are stored in the appropriate data members for use when the QML module page is generated.

If the logical module info contains the version number, it splits the version number on the '.' character to get the major and minor version numbers. Both major and minor version numbers should be provided, but the minor version number is not strictly necessary.

The strings are stored in the appropriate data members for use when the QML module page is generated. This overload of the function is called when qdoc is reading an index file.

Reimplemented in CollectionNode.

Definition at line 296 of file node.h.

◆ setParent()

template<typename _Tp >
void Node< _Tp >::setParent ( Aggregate * n)
inline

Sets the node's parent pointer to n.

Such a thing is not lightly done. All the calls to this function are in other member functions of Node subclasses. See the code in the subclass implementations to understand when this function can be called safely and why it is called.

Definition at line 213 of file node.h.

Referenced by Aggregate::addChild(), Aggregate::adoptChild(), EnumNode::clone(), SharedCommentNode::clone(), TypeAliasNode::clone(), TypedefNode::clone(), and VariableNode::clone().

+ Here is the caller graph for this function:

◆ setPhysicalModuleName()

template<typename _Tp >
void Node< _Tp >::setPhysicalModuleName ( const QString & name)
inline

Sets the node's physical module name.

Definition at line 209 of file node.h.

◆ setQmlModule()

template<typename _Tp >
virtual void Node< _Tp >::setQmlModule ( CollectionNode< _Tp > * t)
inlinevirtual

If this is a QmlTypeNode, this function sets the QML type's QML module pointer to the CollectionNode t.

Otherwise the function does nothing.

Reimplemented in QmlTypeNode.

Definition at line 298 of file node.h.

◆ setQtVariable()

template<typename _Tp >
virtual void Node< _Tp >::setQtVariable ( const QString & v)
inlinevirtual

If this node is a CollectionNode, its QT variable is set to v.

Otherwise the function does nothing. I don't know what the QT variable is used for.

Reimplemented in CollectionNode.

Definition at line 248 of file node.h.

◆ setReconstitutedBrief()

template<typename _Tp >
void Node< _Tp >::setReconstitutedBrief ( const QString & t)
inline

When reading an index file, this function is called with the reconstituted brief clause t to set the node's brief clause.

I think this is needed for linking to something in the brief clause.

Definition at line 212 of file node.h.

◆ setRelatedNonmember()

template<typename _Tp >
virtual void Node< _Tp >::setRelatedNonmember ( bool b)
inlinevirtual

Sets a flag in the node indicating whether this node is a related nonmember of something.

This function is called when the relates command is seen.

Reimplemented in SharedCommentNode.

Definition at line 218 of file node.h.

Referenced by SharedCommentNode::setRelatedNonmember().

+ Here is the caller graph for this function:

◆ setSharedCommentNode()

template<typename _Tp >
void Node< _Tp >::setSharedCommentNode ( SharedCommentNode< _Tp > * t)
inline

Definition at line 286 of file node.h.

Referenced by SharedCommentNode::append().

+ Here is the caller graph for this function:

◆ setSince()

template<typename _Tp >
void Node< _Tp >::setSince ( const QString & since)

Sets the information about the project and version a node was introduced in, unless the version is lower than the 'ignoresince.

<project>' configuration variable.

Definition at line 778 of file node.cpp.

◆ setStatus()

template<typename _Tp >
void Node< _Tp >::setStatus ( Status t)

Sets the node's status to t.

See also
Status

Definition at line 560 of file node.cpp.

References Node< _Tp >::Internal.

Referenced by Tree::markDontDocumentNodes(), Node< _Tp >::markInternal(), CppCodeParser::processMetaCommand(), and Node< _Tp >::setDeprecated().

+ Here is the caller graph for this function:

◆ setSubtitle()

template<typename _Tp >
virtual bool Node< _Tp >::setSubtitle ( const QString & subtitle)
inlinevirtual

Sets the node's subtitle, which is used for the subtitle of the documentation page, if one is generated for this node.

Returns true if the subtitle is set. In this base class, there is no subtitle string stored, so in the base class, nothing happens and false is returned. The override in the PageNode and HeaderNode classes is where the subtitle is set.

Reimplemented in HeaderNode, and PageNode.

Definition at line 234 of file node.h.

◆ setTemplateDecl()

template<typename _Tp >
void Node< _Tp >::setTemplateDecl ( std::optional< RelaxedTemplateDeclaration > t)
inline

Definition at line 211 of file node.h.

Referenced by CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ setThreadSafeness()

template<typename _Tp >
void Node< _Tp >::setThreadSafeness ( ThreadSafeness t)
inline

Sets the node's thread safeness to t.

See also
ThreadSafeness

Definition at line 207 of file node.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ setTitle()

template<typename _Tp >
virtual bool Node< _Tp >::setTitle ( const QString & title)
inlinevirtual

Sets the node's title, which is used for the title of the documentation page, if one is generated for this node.

Returns true if the title is set. In this base class, there is no title string stored, so in the base class, nothing happens and false is returned. The override in the PageNode class is where the title is set.

Reimplemented in HeaderNode, and PageNode.

Definition at line 233 of file node.h.

◆ setUrl()

template<typename _Tp >
void Node< _Tp >::setUrl ( const QString & url)
inline

Sets the node's URL to url, which is the url to the page that the node represents.

This function is only called when an index file is read. In other words, a node's url is set when qdoc decides where its page will be and what its name will be, which happens when qdoc writes the index file for the module being documented.

See also
QDocIndexFiles

Definition at line 210 of file node.h.

◆ setWrapper()

template<typename _Tp >
virtual void Node< _Tp >::setWrapper ( )
inlinevirtual

If this node is a ClassNode or a QmlTypeNode, the node's wrapper flag data member is set to true.

Reimplemented in ClassNode, and QmlTypeNode.

Definition at line 223 of file node.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ sharedCommentNode()

template<typename _Tp >
SharedCommentNode * Node< _Tp >::sharedCommentNode ( )
inline

Definition at line 287 of file node.h.

◆ signature()

template<typename _Tp >
virtual QString Node< _Tp >::signature ( Node< _Tp >::SignatureOptions options) const
inlinenodiscardvirtual

void Node::setGenus(Genus t) Sets this node's Genus to t.

Specific parts of the signature are included according to flags in options.

If this node is not a FunctionNode, this function returns plainName().

See also
FunctionNode::signature()

Reimplemented in FunctionNode.

Definition at line 197 of file node.h.

◆ since()

template<typename _Tp >
QString Node< _Tp >::since ( ) const
inlinenodiscard

Returns the node's since string, which can be empty.

Definition at line 281 of file node.h.

◆ status()

template<typename _Tp >
Status Node< _Tp >::status ( ) const
inlinenodiscard

Returns the node's status value.

See also
Status

Definition at line 278 of file node.h.

Referenced by formatStatus(), DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateQmlRequisites(), DocBookGenerator::generateRequisites(), DocBookGenerator::generateSortedNames(), DocBookGenerator::generateStatus(), Generator::generateStatus(), Node< _Tp >::isInternal(), and QmlTypeNode::isInternal().

+ Here is the caller graph for this function:

◆ subtitle()

template<typename _Tp >
virtual QString Node< _Tp >::subtitle ( ) const
inlinenodiscardvirtual

Returns a string that can be used to print a subtitle in the documentation for whatever this Node is.

In the Node base class, the empty string is returned. In a PageNode, the function returns the subtitle data member. In a HeaderNode, the subtitle data member is returned.

Reimplemented in HeaderNode, and PageNode.

Definition at line 231 of file node.h.

◆ templateDecl()

template<typename _Tp >
const std::optional< RelaxedTemplateDeclaration > & Node< _Tp >::templateDecl ( ) const
inlinenodiscard

Definition at line 282 of file node.h.

Referenced by HtmlGenerator::generateCppReferencePage().

+ Here is the caller graph for this function:

◆ threadSafeness()

template<typename _Tp >
Node::ThreadSafeness Node< _Tp >::threadSafeness ( ) const
nodiscard

Returns the thread safeness value for whatever this node represents.

But if this node has a parent and the thread safeness value of the parent is the same as the thread safeness value of this node, what is returned is the value {UnspecifiedSafeness}. Why?

Definition at line 826 of file node.cpp.

References Node< _Tp >::inheritedThreadSafeness(), and Node< _Tp >::UnspecifiedSafeness.

Referenced by DocBookGenerator::generateDocBookSynopsis(), DocBookGenerator::generateThreadSafeness(), Generator::generateThreadSafeness(), and Generator::hasExceptions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ title()

template<typename _Tp >
virtual QString Node< _Tp >::title ( ) const
inlinenodiscardvirtual

Returns a string that can be used to print a title in the documentation for whatever this Node is.

In the Node base class, the node's name() is returned. In a PageNode, the function returns the title data member. In a HeaderNode, if the title() is empty, the name() is returned.

Reimplemented in HeaderNode, and PageNode.

Definition at line 230 of file node.h.

◆ toFlagValue()

template<typename _Tp >
Node::FlagValue Node< _Tp >::toFlagValue ( bool b)
static

Converts the boolean value b to an enum representation of the boolean type, which includes an enum value for the {default value} of the item, i.e.

true, false, or default.

Definition at line 737 of file node.cpp.

References Node< _Tp >::FlagValueFalse, and Node< _Tp >::FlagValueTrue.

Referenced by QmlPropertyNode::markReadOnly(), QmlPropertyNode::setRequired(), PropertyNode::setStored(), QmlPropertyNode::setStored(), and PropertyNode::setWritable().

+ Here is the caller graph for this function:

◆ tree()

template<typename _Tp >
Tree * Node< _Tp >::tree ( ) const
nodiscardvirtual

Returns a pointer to the Tree this node is in.

Reimplemented in NamespaceNode.

Definition at line 876 of file node.cpp.

References Node< _Tp >::root(), and Node< _Tp >::tree().

Referenced by QDocDatabase::findNodeForAtom(), and Node< _Tp >::tree().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ url()

template<typename _Tp >
QString Node< _Tp >::url ( ) const
inlinenodiscard

Returns the node's URL, which is the url of the documentation page created for the node or the url of an external page if the node is an ExternalPageNode.

The url is used for generating a link to the page the node represents.

See also
Node::setUrl()

Definition at line 247 of file node.h.

◆ wasSeen()

template<typename _Tp >
virtual bool Node< _Tp >::wasSeen ( ) const
inlinenodiscardvirtual

Returns the seen flag data member of this node if it is a NamespaceNode or a CollectionNode.

Otherwise it returns false. If true is returned, it means that the location where the namespace or collection is to be documented has been found.

Reimplemented in CollectionNode, and NamespaceNode.

Definition at line 225 of file node.h.

Referenced by WebXMLGenerator::generateDocumentation().

+ Here is the caller graph for this function:

Member Data Documentation

◆ data

template<typename _Tp >
_Tp Node< _Tp >::data
mutable

◆ dfn

template<typename _Tp >
int Node< _Tp >::dfn
mutable

Definition at line 176 of file lalr.h.

Referenced by Node< _Tp >::Node().

◆ outs

template<typename _Tp >
std::list<iterator> Node< _Tp >::outs
mutable

Definition at line 178 of file lalr.h.

◆ root

template<typename _Tp >
Aggregate * Node< _Tp >::root
mutable

Returns a pointer to the root of the Tree this node is in.

Definition at line 175 of file lalr.h.

Referenced by Node< _Tp >::Node().


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