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

Public Member Functions

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

Private Attributes

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

Additional Inherited Members

Public Types inherited from RequirementIntf
using DefinitionVector = std::vector<const Definition *>

Detailed Description

Definition at line 33 of file requirement.cpp.

Constructor & Destructor Documentation

◆ Requirement()

Requirement::Requirement ( const DString & id_,
const DString & file_,
int line_,
const DString & title_,
const DString & doc_,
const DString & tagFile_,
const DString & 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_) {}
DString m_file
DString m_extPage
DString m_tagFile
DString m_doc
DString 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 61 of file requirement.cpp.

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

References m_satisfiedBy.

Referenced by RequirementManager::addRequirementRefsForSymbol().

◆ addVerifiedBy()

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

Definition at line 69 of file requirement.cpp.

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

References m_verifiedBy.

Referenced by RequirementManager::addRequirementRefsForSymbol().

◆ doc()

DString Requirement::doc ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 42 of file requirement.cpp.

42{ return m_doc; }

References m_doc.

◆ file()

DString Requirement::file ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 39 of file requirement.cpp.

39{ return m_file; }

References m_file.

◆ getExtPage()

DString Requirement::getExtPage ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 44 of file requirement.cpp.

44{ return m_extPage; }

References m_extPage.

◆ getOutputFileBase()

DString Requirement::getOutputFileBase ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 45 of file requirement.cpp.

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

◆ getTagFile()

DString Requirement::getTagFile ( ) const
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 43 of file requirement.cpp.

43{ return m_tagFile; }

References m_tagFile.

◆ id()

DString 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
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 46 of file requirement.cpp.

46{ return m_satisfiedBy; }

References m_satisfiedBy.

◆ sortReferences()

void Requirement::sortReferences ( )
inline

Definition at line 49 of file requirement.cpp.

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

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

◆ title()

DString 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
inlineoverridevirtual

Implements RequirementIntf.

Definition at line 47 of file requirement.cpp.

47{ return m_verifiedBy; }

References m_verifiedBy.

Member Data Documentation

◆ m_doc

DString Requirement::m_doc
private

Definition at line 82 of file requirement.cpp.

Referenced by doc(), and Requirement().

◆ m_extPage

DString Requirement::m_extPage
private

Definition at line 84 of file requirement.cpp.

Referenced by getExtPage(), and Requirement().

◆ m_file

DString Requirement::m_file
private

Definition at line 79 of file requirement.cpp.

Referenced by file(), and Requirement().

◆ m_id

DString Requirement::m_id
private

Definition at line 78 of file requirement.cpp.

Referenced by id(), and Requirement().

◆ m_line

int Requirement::m_line
private

Definition at line 80 of file requirement.cpp.

Referenced by line(), and Requirement().

◆ m_satisfiedBy

DefinitionVector Requirement::m_satisfiedBy
private

Definition at line 85 of file requirement.cpp.

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

◆ m_tagFile

DString Requirement::m_tagFile
private

Definition at line 83 of file requirement.cpp.

Referenced by getTagFile(), and Requirement().

◆ m_title

DString Requirement::m_title
private

Definition at line 81 of file requirement.cpp.

Referenced by Requirement(), and title().

◆ m_verifiedBy

DefinitionVector Requirement::m_verifiedBy
private

Definition at line 86 of file requirement.cpp.

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


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