Doxygen
Loading...
Searching...
No Matches
conceptdef.h File Reference
#include <memory>
#include "definition.h"
#include "filedef.h"
+ Include dependency graph for conceptdef.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ConceptDef
 
class  ConceptDefMutable
 
class  ConceptLinkedMap
 
class  ConceptLinkedRefMap
 

Functions

std::unique_ptr< ConceptDefcreateConceptDef (const QCString &fileName, int startLine, int startColumn, const QCString &name, const QCString &tagRef=QCString(), const QCString &tagFile=QCString())
 
std::unique_ptr< ConceptDefcreateConceptDefAlias (const Definition *newScope, const ConceptDef *cd)
 
ConceptDeftoConceptDef (Definition *d)
 
ConceptDeftoConceptDef (DefinitionMutable *d)
 
const ConceptDeftoConceptDef (const Definition *d)
 
ConceptDefMutabletoConceptDefMutable (Definition *d)
 
ConceptDefgetConcept (const QCString &key)
 
ConceptDefMutablegetConceptMutable (const QCString &key)
 
ConceptDefgetResolvedConcept (const Definition *scope, const QCString &name)
 

Function Documentation

◆ createConceptDef()

std::unique_ptr< ConceptDef > createConceptDef ( const QCString & fileName,
int startLine,
int startColumn,
const QCString & name,
const QCString & tagRef = QCString(),
const QCString & tagFile = QCString() )

Definition at line 90 of file conceptdef.cpp.

93{
94 return std::make_unique<ConceptDefImpl>(fileName,startLine,startColumn,name,tagRef,tagFile);
95}

Referenced by addConceptToContext(), and ConceptDefMutable::setModuleDef().

◆ createConceptDefAlias()

std::unique_ptr< ConceptDef > createConceptDefAlias ( const Definition * newScope,
const ConceptDef * cd )

Definition at line 149 of file conceptdef.cpp.

150{
151 return std::make_unique<ConceptDefAliasImpl>(newScope,cd);
152}

Referenced by ConceptDefMutable::setModuleDef().

◆ getConcept()

ConceptDef * getConcept ( const QCString & key)

Definition at line 771 of file conceptdef.cpp.

772{
773 if (n.isEmpty()) return nullptr;
774 return Doxygen::conceptLinkedMap->find(n);
775}
static ConceptLinkedMap * conceptLinkedMap
Definition doxygen.h:98

References Doxygen::conceptLinkedMap, and QCString::isEmpty().

Referenced by getConceptMutable(), getResolvedConcept(), if(), and resolveLink().

◆ getConceptMutable()

ConceptDefMutable * getConceptMutable ( const QCString & key)
inline

Definition at line 90 of file conceptdef.h.

91{
93}
ConceptDefMutable * toConceptDefMutable(Definition *d)
ConceptDef * getConcept(const QCString &key)

References getConcept(), and toConceptDefMutable().

Referenced by addConceptToContext().

◆ getResolvedConcept()

ConceptDef * getResolvedConcept ( const Definition * scope,
const QCString & name )

Definition at line 777 of file conceptdef.cpp.

778{
779 ConceptDef *cd=nullptr;
780 while (d && d!=Doxygen::globalScope)
781 {
782 cd = getConcept(d->name()+"::"+name);
783 if (cd) return cd;
784 d = d->getOuterScope();
785 }
786 cd = getConcept(name);
787 return cd;
788}
virtual Definition * getOuterScope() const =0
static NamespaceDefMutable * globalScope
Definition doxygen.h:121
ConceptDef * getConcept(const QCString &n)

References getConcept(), Definition::getOuterScope(), Doxygen::globalScope, and Definition::name().

Referenced by generateClassOrGlobalLink().

◆ toConceptDef() [1/3]

const ConceptDef * toConceptDef ( const Definition * d)

Definition at line 745 of file conceptdef.cpp.

746{
747 if (d && (typeid(*d)==typeid(ConceptDefImpl) || typeid(*d)==typeid(ConceptDefAliasImpl)))
748 {
749 return static_cast<const ConceptDef*>(d);
750 }
751 else
752 {
753 return nullptr;
754 }
755}

◆ toConceptDef() [2/3]

ConceptDef * toConceptDef ( Definition * d)

Definition at line 720 of file conceptdef.cpp.

721{
722 if (d && (typeid(*d)==typeid(ConceptDefImpl) || typeid(*d)==typeid(ConceptDefAliasImpl)))
723 {
724 return static_cast<ConceptDef*>(d);
725 }
726 else
727 {
728 return nullptr;
729 }
730}

Referenced by NamespaceDefImpl::addInnerCompound(), findModuleDef(), and ConceptDefAliasImpl::getCdAlias().

◆ toConceptDef() [3/3]

ConceptDef * toConceptDef ( DefinitionMutable * d)

Definition at line 732 of file conceptdef.cpp.

733{
734 Definition *d = toDefinition(md);
735 if (d && typeid(*d)==typeid(ConceptDefImpl))
736 {
737 return static_cast<ConceptDef*>(d);
738 }
739 else
740 {
741 return nullptr;
742 }
743}
The common base class of all entity definitions found in the sources.
Definition definition.h:76
Definition * toDefinition(DefinitionMutable *dm)

References toDefinition().

◆ toConceptDefMutable()

ConceptDefMutable * toConceptDefMutable ( Definition * d)