diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-01-10 12:34:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-01-22 20:45:19 (GMT) |
commit | 8c0bb948329448cb88b208480e2048af3638aa45 (patch) | |
tree | c9a0cefd479ca61a81513a4d09d667e7ccbdc3e4 /src/classdef.cpp | |
parent | 88b4a1b5f266255cb7ccc364ec8f8628c57ae2e0 (diff) | |
download | Doxygen-8c0bb948329448cb88b208480e2048af3638aa45.zip Doxygen-8c0bb948329448cb88b208480e2048af3638aa45.tar.gz Doxygen-8c0bb948329448cb88b208480e2048af3638aa45.tar.bz2 |
Refactoring: modernize IncludeInfo list
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r-- | src/classdef.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index ec2642b..8af0b1c 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -199,7 +199,7 @@ class ClassDefImpl : public DefinitionMixin<ClassDefMutable> virtual const TemplateInstanceList &getTemplateInstances() const; virtual const ClassDef *templateMaster() const; virtual bool isTemplate() const; - virtual IncludeInfo *includeInfo() const; + virtual const IncludeInfo *includeInfo() const; virtual const UsesClassList &usedImplementationClasses() const; virtual const UsesClassList &usedByImplementationClasses() const; virtual const ConstraintClassList &templateTypeConstraints() const; @@ -446,7 +446,7 @@ class ClassDefAliasImpl : public DefinitionAliasMixin<ClassDef> { return getCdAlias()->templateMaster(); } virtual bool isTemplate() const { return getCdAlias()->isTemplate(); } - virtual IncludeInfo *includeInfo() const + virtual const IncludeInfo *includeInfo() const { return getCdAlias()->includeInfo(); } virtual const UsesClassList &usedImplementationClasses() const { return getCdAlias()->usedImplementationClasses(); } @@ -589,7 +589,7 @@ class ClassDefImpl::IMPL /*! Include information about the header file should be included * in the documentation. 0 by default, set by setIncludeFile(). */ - IncludeInfo *incInfo = 0; + std::unique_ptr<IncludeInfo> incInfo; /*! List of base class (or super-classes) from which this class derives * directly. @@ -719,7 +719,6 @@ void ClassDefImpl::IMPL::init(const char *defFileName, const char *name, { fileName=ctStr+name; } - incInfo=0; prot=Public; nspace=0; fileDef=0; @@ -758,7 +757,6 @@ ClassDefImpl::IMPL::IMPL() ClassDefImpl::IMPL::~IMPL() { - delete incInfo; } //------------------------------------------------------------------------------------------- @@ -1219,7 +1217,7 @@ void ClassDefImpl::setIncludeFile(FileDef *fd, const char *includeName,bool local, bool force) { //printf("ClassDefImpl::setIncludeFile(%p,%s,%d,%d)\n",fd,includeName,local,force); - if (!m_impl->incInfo) m_impl->incInfo=new IncludeInfo; + if (!m_impl->incInfo) m_impl->incInfo = std::make_unique<IncludeInfo>(); if ((includeName && m_impl->incInfo->includeName.isEmpty()) || (fd!=0 && m_impl->incInfo->fileDef==0) ) @@ -4580,9 +4578,9 @@ bool ClassDefImpl::isTemplate() const return !m_impl->tempArgs.empty(); } -IncludeInfo *ClassDefImpl::includeInfo() const +const IncludeInfo *ClassDefImpl::includeInfo() const { - return m_impl->incInfo; + return m_impl->incInfo.get(); } const UsesClassList &ClassDefImpl::usedImplementationClasses() const |