This is the documentation for Enlighten.
class Enlighten SystemDependencies
class Enlighten::SystemDependencies
  └>Geo::IGeoReleasable
A list of system dependencies.
Functions
Name | Description |
---|---|
Create(Geo::s32) | Creates system dependencies for a given number of systems. |
GetDependency(const Geo::s32 &, const Geo::s32 &) | Returns if this system depends on the other system. |
GetNumDependencies(const Geo::s32 &) | Returns the number of systems this system depends on. |
GetNumSystems() | Returns the number of systems in the dependency matrix. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
Release() | Deletes the system dependencies. |
Release() | Free this object that was created within the Enlighten libraries. |
SetDependency(const Geo::s32 &, const Geo::s32 &, bool) | Defines if this system depends on the other system. |
static SystemDependencies* Enlighten::SystemDependencies::Create
public: SystemDependencies * Create
(
  Geo::s32 numSystems
)
Creates system dependencies for a given number of systems.
Per default, there exist no dependencies which means that all entries in the dependency matrix are set to false.
Parameters
[in] | numSystems | Number of systems in the dependency matrix. |
bool Enlighten::SystemDependencies::GetDependency
public: bool GetDependency
(
  const Geo::s32 & thisSystem,
  const Geo::s32 & otherSystem
) const
Returns if this system depends on the other system.
Parameters
[in] | thisSystem | The system for which the dependency is defined. |
[in] | otherSystem | The system on which the dependency exists or not exists. |
Geo::s32 Enlighten::SystemDependencies::GetNumDependencies
public: Geo::s32 GetNumDependencies
(
  const Geo::s32 & thisSystem
) const
Returns the number of systems this system depends on.
Parameters
[in] | thisSystem | The considered system. |
Geo::s32 Enlighten::SystemDependencies::GetNumSystems
public: Geo::s32 GetNumSystems() const
Returns the number of systems in the dependency matrix.
Geo::NonCopyable::NonCopyable
public: NonCopyable
(
  NonCopyable &&
)
Defaulted to allow move.
NonCopyable& Geo::NonCopyable::operator=
public: NonCopyable & operator=
(
  NonCopyable &&
)
Defaulted to allow move.
void Enlighten::SystemDependencies::Release
public: virtual void Release()
Deletes the system dependencies.
virtual void Geo::IGeoReleasable::Release
public: void Release()
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
bool Enlighten::SystemDependencies::SetDependency
public: bool SetDependency
(
  const Geo::s32 & thisSystem,
  const Geo::s32 & otherSystem,
  bool isDependent
)
Defines if this system depends on the other system.
Parameters
[in] | thisSystem | The system for which the dependency is defined. |
[in] | otherSystem | The system on which the dependency exists. |
[in] | isDependent | If this system depends on the other system. Defaults to true. |
Returns
true if the dependency is successfully set, and false if the system indices are outside the range of [0..GetNumSystems()].