Doxygen
Loading...
Searching...
No Matches
Requirement Struct Reference
Inheritance diagram for Requirement:
Collaboration diagram for Requirement:

Public Types

using DefinitionVector = std::vector<const Definition *>

Public Member Functions

 Requirement (const QCString &id_, const QCString &file_, int line_, const QCString &title_, const QCString &doc_, const QCString &tagFile_, const QCString &extPage_)
QCString id () const override
QCString file () const override
int line () const override
QCString title () const override
QCString doc () const override
QCString getTagFile () const override
QCString getExtPage () const override
QCString getOutputFileBase () const override
const DefinitionVectorsatisfiedBy () const
const DefinitionVectorverifiedBy () const
void sortReferences ()
void addSatisfiedBy (const Definition *def)
void addVerifiedBy (const Definition *def)

Private Attributes

QCString m_id
QCString m_file
int m_line
QCString m_title
QCString m_doc
QCString m_tagFile
QCString m_extPage
DefinitionVector m_satisfiedBy
DefinitionVector m_verifiedBy

Detailed Description

Definition at line 33 of file requirement.cpp.

Member Typedef Documentation

◆ DefinitionVector

using Requirement::DefinitionVector = std::vector<const Definition *>

Definition at line 47 of file requirement.cpp.

Constructor & Destructor Documentation

◆ Requirement()

Requirement::Requirement ( const QCString & id_,
const QCString & file_,
int line_,
const QCString & title_,
const QCString & doc_,
const QCString & tagFile_,
const QCString & extPage_ )
inline

Definition at line 36 of file requirement.cpp.

36 :
37 m_id(id_), m_file(file_), m_line(line_), m_title(title_), m_doc(doc_), m_tagFile(tagFile_), m_extPage(extPage_) {}
QCString m_file
QCString m_extPage
QCString m_doc
QCString m_tagFile
QCString m_id
QCString m_title

References m_doc, m_extPage, m_file, m_id, m_line, m_tagFile, and m_title.

Member Function Documentation

◆ addSatisfiedBy()

void Requirement::addSatisfiedBy ( const Definition * def)
inline

Definition at line 63 of file requirement.cpp.

64 {
65 if (auto it = std::find(m_satisfiedBy.begin(),m_satisfiedBy.end(),def); it==m_satisfiedBy.end())
66 {
67 m_satisfiedBy.push_back(def);
68 }
69 }
DefinitionVector m_satisfiedBy

References m_satisfiedBy.

Referenced by RequirementManager::addRequirementRefsForSymbol().

◆ addVerifiedBy()

void Requirement::addVerifiedBy ( const Definition * def)
inline

Definition at line 71 of file requirement.cpp.

72 {
73 if (auto it = std::find(m_verifiedBy.begin(),m_verifiedBy.end(),def); it==m_verifiedBy.end())
74 {
75 m_verifiedBy.push_back(def);
76 }
77 }
DefinitionVector m_verifiedBy

References m_verifiedBy.

Referenced by RequirementManager::addRequirementRefsForSymbol().

◆ doc()

QCString Requirement::doc ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 42 of file requirement.cpp.

42{ return m_doc; }

References m_doc.

◆ file()

QCString Requirement::file ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 39 of file requirement.cpp.

39{ return m_file; }

References m_file.

◆ getExtPage()

QCString Requirement::getExtPage ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 44 of file requirement.cpp.

44{ return m_extPage; }

References m_extPage.

◆ getOutputFileBase()

QCString Requirement::getOutputFileBase ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 45 of file requirement.cpp.

45{ return ::convertNameToFile("requirements",false,true); }

◆ getTagFile()

QCString Requirement::getTagFile ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 43 of file requirement.cpp.

43{ return m_tagFile; }

References m_tagFile.

◆ id()

QCString Requirement::id ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 38 of file requirement.cpp.

38{ return m_id; }

References m_id.

◆ line()

int Requirement::line ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 40 of file requirement.cpp.

40{ return m_line; }

References m_line.

◆ satisfiedBy()

const DefinitionVector & Requirement::satisfiedBy ( ) const
inline

Definition at line 48 of file requirement.cpp.

48{ return m_satisfiedBy; }

References m_satisfiedBy.

◆ sortReferences()

void Requirement::sortReferences ( )
inline

Definition at line 51 of file requirement.cpp.

52 {
53 auto comp = [](const Definition *c1,const Definition *c2)
54 {
55 return Config_getBool(SORT_BY_SCOPE_NAME) ?
56 qstricmp_sort(c1->qualifiedName(), c2->qualifiedName())<0 :
57 qstricmp_sort(c1->name(), c2->name())<0;
58 };
59 std::stable_sort(m_satisfiedBy.begin(), m_satisfiedBy.end(), comp);
60 std::stable_sort(m_verifiedBy.begin(), m_verifiedBy.end(), comp);
61 }
virtual QCString qualifiedName() const =0
virtual const QCString & name() const =0
#define Config_getBool(name)
Definition config.h:33
int qstricmp_sort(const char *str1, const char *str2)
Definition qcstring.h:86

References Config_getBool, m_satisfiedBy, m_verifiedBy, Definition::name(), qstricmp_sort(), and Definition::qualifiedName().

◆ title()

QCString Requirement::title ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 41 of file requirement.cpp.

41{ return m_title; }

References m_title.

◆ verifiedBy()

const DefinitionVector & Requirement::verifiedBy ( ) const
inline

Definition at line 49 of file requirement.cpp.

49{ return m_verifiedBy; }

References m_verifiedBy.

Member Data Documentation

◆ m_doc

QCString Requirement::m_doc
private

Definition at line 84 of file requirement.cpp.

Referenced by doc(), and Requirement().

◆ m_extPage

QCString Requirement::m_extPage
private

Definition at line 86 of file requirement.cpp.

Referenced by getExtPage(), and Requirement().

◆ m_file

QCString Requirement::m_file
private

Definition at line 81 of file requirement.cpp.

Referenced by file(), and Requirement().

◆ m_id

QCString Requirement::m_id
private

Definition at line 80 of file requirement.cpp.

Referenced by id(), and Requirement().

◆ m_line

int Requirement::m_line
private

Definition at line 82 of file requirement.cpp.

Referenced by line(), and Requirement().

◆ m_satisfiedBy

DefinitionVector Requirement::m_satisfiedBy
private

Definition at line 87 of file requirement.cpp.

Referenced by addSatisfiedBy(), satisfiedBy(), and sortReferences().

◆ m_tagFile

QCString Requirement::m_tagFile
private

Definition at line 85 of file requirement.cpp.

Referenced by getTagFile(), and Requirement().

◆ m_title

QCString Requirement::m_title
private

Definition at line 83 of file requirement.cpp.

Referenced by Requirement(), and title().

◆ m_verifiedBy

DefinitionVector Requirement::m_verifiedBy
private

Definition at line 88 of file requirement.cpp.

Referenced by addVerifiedBy(), sortReferences(), and verifiedBy().


The documentation for this struct was generated from the following file: