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()].