Skip to main content

The conceptdef.cpp File Reference

Included Headers

#include "conceptdef.h" #include "definitionimpl.h" #include "util.h" #include "config.h" #include "doxygen.h" #include "language.h" #include "outputlist.h" #include "searchindex.h" #include "message.h" #include "parserintf.h" #include "layout.h" #include "namespacedef.h"

Classes Index

classConceptDefImpl
classConceptDefAliasImpl

Functions Index

std::unique_ptr< ConceptDef >createConceptDef (const QCString &fileName, int startLine, int startColumn, const QCString &name, const QCString &tagRef, const QCString &tagFile)
std::unique_ptr< ConceptDef >createConceptDefAlias (const Definition *newScope, const ConceptDef *cd)
static QCStringtemplateSpec (const ArgumentList &al)
ConceptDef *toConceptDef (Definition *d)
ConceptDef *toConceptDef (DefinitionMutable *md)
const ConceptDef *toConceptDef (const Definition *d)
ConceptDefMutable *toConceptDefMutable (Definition *d)
ConceptDef *getConcept (const QCString &n)
ConceptDef *getResolvedConcept (const Definition *d, const QCString &name)

Functions

createConceptDef()

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

Definition at line 90 of file conceptdef.cpp.

90std::unique_ptr<ConceptDef> createConceptDef(
91 const QCString &fileName,int startLine,int startColumn,
92 const QCString &name, const QCString &tagRef,const QCString &tagFile)
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.

149std::unique_ptr<ConceptDef> createConceptDefAlias(const Definition *newScope,const ConceptDef *cd)
150{
151 return std::make_unique<ConceptDefAliasImpl>(newScope,cd);
152}

Referenced by ConceptDefMutable::setModuleDef.

getConcept()

ConceptDef * getConcept (const QCString & n)

Definition at line 788 of file conceptdef.cpp.

789{
790 if (n.isEmpty()) return nullptr;
791 return Doxygen::conceptLinkedMap->find(n);
792}

References Doxygen::conceptLinkedMap and QCString::isEmpty.

Referenced by getConceptMutable, getResolvedConcept, linkifyText and resolveLink.

getResolvedConcept()

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

Definition at line 794 of file conceptdef.cpp.

795{
796 ConceptDef *cd=nullptr;
797 while (d && d!=Doxygen::globalScope)
798 {
799 cd = getConcept(d->name()+"::"+name);
800 if (cd) return cd;
801 d = d->getOuterScope();
802 }
803 cd = getConcept(name);
804 return cd;
805}

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

Referenced by generateClassOrGlobalLink.

templateSpec()

QCString templateSpec (const ArgumentList & al)
static

Definition at line 396 of file conceptdef.cpp.

397{
398 TextStream t;
399 t << "template<";
400 bool first=true;
401 for (const auto &a : al)
402 {
403 if (!first) t << ", ";
404 t << a.type;
405 if (!a.name.isEmpty())
406 {
407 t << " " << a.name;
408 }
409 if (a.defval.length()!=0)
410 {
411 t << " " << a.defval;
412 }
413 first=false;
414 }
415 t << ">";
416 return t.str();
417}

Reference TextStream::str.

Referenced by ConceptDefImpl::setInitializer.

toConceptDef()

ConceptDef * toConceptDef (Definition * d)

Definition at line 737 of file conceptdef.cpp.

738{
739 if (d && (typeid(*d)==typeid(ConceptDefImpl) || typeid(*d)==typeid(ConceptDefAliasImpl)))
740 {
741 return static_cast<ConceptDef*>(d);
742 }
743 else
744 {
745 return nullptr;
746 }
747}

Referenced by NamespaceDefImpl::addInnerCompound, findModuleDef, ConceptDefAliasImpl::getCdAlias and getDefsNew.

toConceptDef()

ConceptDef * toConceptDef (DefinitionMutable * md)

Definition at line 749 of file conceptdef.cpp.

750{
751 Definition *d = toDefinition(md);
752 if (d && typeid(*d)==typeid(ConceptDefImpl))
753 {
754 return static_cast<ConceptDef*>(d);
755 }
756 else
757 {
758 return nullptr;
759 }
760}

Reference toDefinition.

toConceptDef()

const ConceptDef * toConceptDef (const Definition * d)

Definition at line 762 of file conceptdef.cpp.

763{
764 if (d && (typeid(*d)==typeid(ConceptDefImpl) || typeid(*d)==typeid(ConceptDefAliasImpl)))
765 {
766 return static_cast<const ConceptDef*>(d);
767 }
768 else
769 {
770 return nullptr;
771 }
772}

toConceptDefMutable()

ConceptDefMutable * toConceptDefMutable (Definition * d)

Generated via doxygen2docusaurus by Doxygen 1.14.0.