cbp2make
Makefile generation tool for Code::Blocks IDE
Public Member Functions | Private Attributes | List of all members
CDependencyRecord Class Reference

Dependency record for a single build unit. More...

#include <depsearch.h>

Public Member Functions

CString GetName (void) const
 Returns the file name of the build unit. More...
 
void SetName (const CString &Name)
 Changes the file name of the build unit. More...
 
hash_t Hash (void) const
 Returns string hash for the file name. More...
 
size_t DependenciesCount (void) const
 Returns the number of unit denpendencies. More...
 
CDependencyRecordDependency (const size_t Index) const
 Returns dependency record with number Index. More...
 
void AddDependency (const CDependencyRecord *Record)
 Adds new dependency for this build unit. More...
 
size_t CrossReferencesCount (void) const
 Returns the number of cross references to this unit. More...
 
CDependencyRecordCrossReference (const size_t Index) const
 Returns cross reference with number Index. More...
 
void AddCrossReference (const CDependencyRecord *Record)
 Adds new cross reference for this build unit. More...
 
bool & DependenciesComplete (void)
 Indicates that the list of dependencies is fully gathered. More...
 
bool & CrossReferencesComplete (void)
 Indicates that the list of cross-references is fully gathered. More...
 
int & Marker (void)
 Indicates that this unit was already walked through by a dependency unwinding process to avoid infinite loops. More...
 
void Clear (void)
 Resets a dependency record to the initial state. More...
 
void Show (void)
 Prints the build unit dependecy record contents to the standard output. More...
 
 CDependencyRecord (void)
 Creates dependency record. More...
 
 ~CDependencyRecord (void)
 Destroys dependency record. More...
 

Private Attributes

CString m_Name
 File name of the build unit. More...
 
hash_t m_Hash
 String hash of the unit name CDependencyRecord::m_Name. More...
 
std::vector< CDependencyRecord * > m_Dependencies
 List of units that this unit depends on. More...
 
std::vector< CDependencyRecord * > m_CrossReferences
 List of units that depend on this unit. More...
 
bool m_DependenciesComplete
 Indicates that the list of dependencies is fully gathered. More...
 
bool m_CrossReferencesComplete
 Indicates that the list of cross-references is fully gathered. More...
 
int m_Marker
 Indicates that this unit was already walked through by a dependency unwinding process to avoid infinite loops. More...
 

Detailed Description

Dependency record for a single build unit.

Contains a list of units (pointers to other CDependencyRecord objects) that this unit depends on and a list of cross-references to this unit. This class is used by CDependencyInfo to store information about every single build unit.

Constructor & Destructor Documentation

◆ CDependencyRecord()

CDependencyRecord::CDependencyRecord ( void  )

Creates dependency record.

◆ ~CDependencyRecord()

CDependencyRecord::~CDependencyRecord ( void  )

Destroys dependency record.

Member Function Documentation

◆ AddCrossReference()

CDependencyRecord::AddCrossReference ( const CDependencyRecord Record)

Adds new cross reference for this build unit.

Parameters
Recorddependency record of another build unit.

Adding a cross reference means telling that another build unit depends on this build unit.

◆ AddDependency()

CDependencyRecord::AddDependency ( const CDependencyRecord Record)

Adds new dependency for this build unit.

Parameters
Recorddependency record of another build unit.

Adding a dependency means telling that this build unit depends on another build unit.

◆ Clear()

CDependencyRecord::Clear ( void  )

Resets a dependency record to the initial state.

◆ CrossReference()

CDependencyRecord::CrossReference ( const size_t  Index) const

Returns cross reference with number Index.

Parameters
Indexnumber of a cross reference.
Returns
cross reference.

◆ CrossReferencesComplete()

CDependencyRecord::CrossReferencesComplete ( void  )
inline

Indicates that the list of cross-references is fully gathered.

Returns
reference to CDependencyRecord::m_CrossReferencesComplete.

◆ CrossReferencesCount()

CDependencyRecord::CrossReferencesCount ( void  ) const

Returns the number of cross references to this unit.

Returns
cross references count.

◆ DependenciesComplete()

CDependencyRecord::DependenciesComplete ( void  )
inline

Indicates that the list of dependencies is fully gathered.

Returns
reference to CDependencyRecord::m_DependenciesComplete.

◆ DependenciesCount()

CDependencyRecord::DependenciesCount ( void  ) const

Returns the number of unit denpendencies.

Returns
denpendencies count.

◆ Dependency()

CDependencyRecord::Dependency ( const size_t  Index) const

Returns dependency record with number Index.

Parameters
Indexnumber of a dependency.
Returns
dependency record.

◆ GetName()

CDependencyRecord::GetName ( void  ) const
inline

Returns the file name of the build unit.

Returns
name of the build unit.

◆ Hash()

CDependencyRecord::Hash ( void  ) const
inline

Returns string hash for the file name.

◆ Marker()

CDependencyRecord::Marker ( void  )
inline

Indicates that this unit was already walked through by a dependency unwinding process to avoid infinite loops.

Returns
reference to CDependencyRecord::m_Marker.

◆ SetName()

CDependencyRecord::SetName ( const CString Name)

Changes the file name of the build unit.

◆ Show()

CDependencyRecord::Show ( void  )

Prints the build unit dependecy record contents to the standard output.

Member Data Documentation

◆ m_CrossReferences

CDependencyRecord::m_CrossReferences
private

List of units that depend on this unit.

◆ m_CrossReferencesComplete

CDependencyRecord::m_CrossReferencesComplete
private

Indicates that the list of cross-references is fully gathered.

◆ m_Dependencies

CDependencyRecord::m_Dependencies
private

List of units that this unit depends on.

◆ m_DependenciesComplete

CDependencyRecord::m_DependenciesComplete
private

Indicates that the list of dependencies is fully gathered.

◆ m_Hash

CDependencyRecord::m_Hash
private

String hash of the unit name CDependencyRecord::m_Name.

◆ m_Marker

CDependencyRecord::m_Marker
private

Indicates that this unit was already walked through by a dependency unwinding process to avoid infinite loops.

◆ m_Name

CDependencyRecord::m_Name
private

File name of the build unit.


The documentation for this class was generated from the following files: