Collect information about the dependencies between modules.
EEntryType
Possible types of entries/relations for a module.
@ c_NEntryTypes
size of this enum.
@ c_Output
registered output.
@ c_OptionalInput
optional input.
ModuleInfo & getCurrentModuleInfo()
Get info for current module.
void setModule(const Module &mod)
Set the current module (for getCurrentModuleInfo())
std::map< std::string, ModuleInfo > m_moduleInfo
Stores information on inputs/outputs of each module, as obtained by requireInput()/optionalInput()/re...
const std::map< std::string, ModuleInfo > & getModuleInfoMap() const
return information on inputs/outputs of each module, as obtained by requireInput()/optionalInput()/re...
static std::string getModuleID(const Module &mod)
Return unique ID for given module.
std::string m_currentModule
Stores the current module, used to fill m_moduleInfo.
bool isUsedAs(const std::string &branchName, EEntryType type) const
Is the object/array/relation with given name used as specified input/output type (in any module)?
void clear()
Reset all collected data.
Abstract base class for different kinds of events.
Stores information on inputs/outputs of a module, as obtained by requireInput()/optionalInput()/regis...
std::set< std::string > entries[c_NEntryTypes]
objects/arrays.
std::set< std::string > relations[c_NEntryTypes]
relations between them.
void addEntry(const std::string &name, EEntryType type, bool isRelation)
Adds given entry/relation.