113 virtual void Clear(
void);
114 virtual void Show(
void);
virtual bool Execute(const CString &FileName, CStringList &Includes)
Gathers dependencies to Includes string list starting from FileName file.
Definition: depsearch.cpp:623
CDependencyRecord * Dependency(const size_t Index) const
Returns dependency record with number Index.
Definition: depsearch.cpp:90
std::vector< CDependencyRecord * > m_CrossReferences
List of units that depend on this unit.
Definition: depsearch.h:39
hash_t Hash(void) const
Returns string hash for the file name.
Definition: depsearch.h:46
size_t RecordsCount(void) const
Returns the number of dependency records.
Definition: depsearch.cpp:295
CString ResolveIncludePath(const CString &IncludeName)
Resolves a build unit file name into complete file path.
Definition: depsearch.cpp:653
size_t DirectCrossReferencesCount(const size_t Index) const
Counts direct cross references to a build unit with dependency record number Index.
Definition: depsearch.cpp:393
size_t IndirectCrossReferencesCount(const size_t Index)
Counts indirect cross references to a build unit with dependency record number Index.
Definition: depsearch.cpp:403
Gathers build unit dependencies from C/C++ source files withing project into build unit dependency da...
Definition: depsearch.h:129
Dependency information for build units in a project.
Definition: depsearch.h:63
void Show(void)
Print dependency information for all of build units to the standard output.
Definition: depsearch.cpp:153
void Show(void)
Prints the build unit dependecy record contents to the standard output.
Definition: depsearch.cpp:54
size_t DependenciesCount(CDependencyRecord *Record)
Returns the number of dependencies for a build unit pointed by Record.
Definition: depsearch.cpp:215
void MakeRules(CMakefile &Makefile, const int Section, const bool Multiline)
Generates makefile rules for build unit dependencies.
Definition: depsearch.cpp:570
virtual void Clear(void)
Resets the filter to the initial state.
Definition: depsearch.cpp:606
~CIncludeSearchFilter(void)
Destroys dependency search filter.
Definition: depsearch.cpp:601
std::vector< CDependencyRecord * > m_Dependencies
List of units that this unit depends on.
Definition: depsearch.h:38
CStringList AllCrossReferences(const size_t Index)
Returns a complete list of build unit names that depend on a build unit with dependency record number...
Definition: depsearch.cpp:462
bool m_CrossReferencesComplete
Indicates that the list of cross-references is fully gathered.
Definition: depsearch.h:41
size_t AddRecord(const CString &Name)
Adds a new dependency record for the Name build unit.
Definition: depsearch.cpp:528
CPlatform & Platform(void)
Platform/OS type, generally used for creating compatible file paths.
Definition: depsearch.h:75
Definition: stlstrings.h:98
void SetName(const CString &Name)
Changes the file name of the build unit.
Definition: depsearch.cpp:37
size_t CrossReferencesCount(CDependencyRecord *Record)
Returns the number of cross references for a build unit pointed by Record.
Definition: depsearch.cpp:255
void AddIncludeDirectory(const CString &Path)
Adds Path path to the list of unit lookup directories.
Definition: depsearch.cpp:633
bool m_DependenciesComplete
Indicates that the list of dependencies is fully gathered.
Definition: depsearch.h:40
bool AreDependenciesComplete(const size_t Index)
Verifies if a dependency list for a build unit with dependency record number Index is marked as compl...
Definition: depsearch.cpp:477
bool AddDependency(const size_t Index, const CString &DependencyName)
Adds the DependencyName build unit to a dependency record with number Index.
Definition: depsearch.cpp:545
CStringList DirectDependencies(const size_t Index) const
Returns a list of build unit names that a build unit with dependency record number Index depends on d...
Definition: depsearch.cpp:345
int & Marker(void)
Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...
Definition: depsearch.h:55
size_t DependenciesCount(void) const
Returns the number of unit denpendencies.
Definition: depsearch.cpp:85
CString Name(const size_t Index) const
Returns name of a build unit with dependency record number Index.
Definition: depsearch.cpp:336
CStringList m_IncludeDirectories
a list of directories to look for build units.
Definition: depsearch.h:110
CStringList CrossReferences(CDependencyRecord *Record)
Returns the list of file names of build units that depend on a build unit pointed by Record.
Definition: depsearch.cpp:275
uint32_t hash_t
Type of hash function result.
Definition: stringhash.h:13
size_t CrossReferencesCount(void) const
Returns the number of cross references to this unit.
Definition: depsearch.cpp:108
Dependency record for a single build unit.
Definition: depsearch.h:33
Definition: stlstrings.h:32
~CCppIncludeSearchFilter(void)
Destroys dependency search filter.
Definition: depsearch.cpp:695
CIncludeSearchFilter(void)
Creates dependency search filter.
Definition: depsearch.cpp:591
void ResetMarkers(void)
Clears CDependencyRecord::m_Marker for all records in CDependencyInfo::m_Records.
Definition: depsearch.cpp:207
CString GetName(void) const
Returns the file name of the build unit.
Definition: depsearch.h:44
void Clear(void)
Resets the unit dependency database to the initial state.
Definition: depsearch.cpp:143
CString m_Name
File name of the build unit.
Definition: depsearch.h:36
~CDependencyRecord(void)
Destroys dependency record.
Definition: depsearch.cpp:32
void AddMacroDefinitons(const CStringList &Macros)
Adds Macros macros to the list of macros.
Definition: depsearch.cpp:648
CStringList Dependencies(CDependencyRecord *Record)
Returns the list of file names of build units that a build unit pointed by Record depends on.
Definition: depsearch.cpp:235
void AddMacroDefiniton(const CString &Macro)
Adds Macro macro to the list of macros.
Definition: depsearch.cpp:643
Non-cryptographic string hash functions.
Makefile definition.
Definition: makefile.h:99
virtual void Assign(const CIncludeSearchFilter &Filter)
Copies filter settings from another filter.
Definition: depsearch.cpp:617
size_t AllDependenciesCount(const size_t Index)
Returns the total count of dependencies of a build unit with dependency record number Index.
Definition: depsearch.cpp:325
void AddCrossReference(const CDependencyRecord *Record)
Adds new cross reference for this build unit.
Definition: depsearch.cpp:122
bool AreCrossReferencesComplete(const size_t Index)
Verifies if a cross reference list for a build unit with dependency record number Index is marked as ...
Definition: depsearch.cpp:486
CStringList m_DefinedMacros
a list of preprocessor's macro defnitions.
Definition: depsearch.h:111
void SetDependenciesComplete(const size_t Index, const bool State=true)
Marks a dependency list for a build unit with dependency record number Index as complete.
Definition: depsearch.cpp:495
std::vector< CDependencyRecord * > m_Records
Database of build unit dependencies.
Definition: depsearch.h:67
void AddDependency(const CDependencyRecord *Record)
Adds new dependency for this build unit.
Definition: depsearch.cpp:99
size_t AllCrossReferencesCount(const size_t Index)
Returns the total count of cross references of a build unit with dependency record number Index.
Definition: depsearch.cpp:418
virtual void Show(void)
Prints filter settings to standard output.
Definition: depsearch.cpp:612
bool & CrossReferencesComplete(void)
Indicates that the list of cross-references is fully gathered.
Definition: depsearch.h:54
virtual void Assign(const CCppIncludeSearchFilter &Filter)
Copies filter settings from another filter.
Definition: depsearch.cpp:700
CPlatform m_Platform
Platform/OS type, generally used for creating compatible file paths.
Definition: depsearch.h:66
virtual bool Execute(const CString &FileName, CStringList &Includes)
Gathers dependencies to Includes string list starting from FileName file.
Definition: depsearch.cpp:705
size_t IndirectDependenciesCount(const size_t Index)
Counts only indirect dependencies of a build unit with number Index.
Definition: depsearch.cpp:310
Declares interface for gathering build unit dependencies from project files into build unit dependenc...
Definition: depsearch.h:107
CStringList AllDependencies(const size_t Index)
Returns a complete list of build unit names that a build unit with dependency record number Index dep...
Definition: depsearch.cpp:378
void AddIncludeDirectories(const CStringList &Paths)
Adds Paths list of paths to the list of unit lookup directories.
Definition: depsearch.cpp:638
CDependencyRecord * CrossReference(const size_t Index) const
Returns cross reference with number Index.
Definition: depsearch.cpp:113
bool & DependenciesComplete(void)
Indicates that the list of dependencies is fully gathered.
Definition: depsearch.h:53
hash_t m_Hash
String hash of the unit name CDependencyRecord::m_Name.
Definition: depsearch.h:37
CDependencyRecord(void)
Creates dependency record.
Definition: depsearch.cpp:27
int m_Marker
Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...
Definition: depsearch.h:42
int FindRecord(const CString &Name)
Performs dependency record lookup by a build unit name.
Definition: depsearch.cpp:511
CCppIncludeSearchFilter(void)
Creates dependency search filter.
Definition: depsearch.cpp:685
Object-based makefile generation.
CStringList IndirectDependencies(const size_t Index)
Returns a list of build unit names that a build unit with dependency record number Index depends on i...
Definition: depsearch.cpp:359
~CDependencyInfo(void)
Destroys build unit dependency database.
Definition: depsearch.cpp:138
CStringList DirectCrossReferences(const size_t Index) const
Returns a list of build unit names that directly depend on a build unit with dependency record number...
Definition: depsearch.cpp:429
size_t DirectDependenciesCount(const size_t Index) const
Counts direct dependencies of a build unit with dependency record number Index.
Definition: depsearch.cpp:300
CDependencyInfo(void)
Creates build unit dependency database.
Definition: depsearch.cpp:133
CString OneLineReport(const size_t Index, const bool Deps, const bool XRefs)
Returns a short string representation of dependency information.
Definition: depsearch.cpp:183
void Clear(void)
Resets a dependency record to the initial state.
Definition: depsearch.cpp:43
CStringList IndirectCrossReferences(const size_t Index)
Returns a list of build unit names that indirectly depend on a build unit with dependency record numb...
Definition: depsearch.cpp:443
void SetCrossReferencesComplete(const size_t Index, const bool State=true)
Marks a cross reference list for a build unit with number Index as complete.
Definition: depsearch.cpp:503