Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::ComponentConflictInfo Struct Reference

Describes a single component access conflict between two policies. More...

#include <access_policy.hpp>

Public Member Functions

constexpr bool operator== (const ComponentConflictInfo &) const noexcept=default

Public Attributes

ComponentTypeId lhs
 Component type from this policy.
ComponentTypeId rhs
 Same component type from the other policy.
bool lhs_writes = false
 True if this policy writes the component.
bool rhs_writes = false
 True if the other policy writes the component.

Detailed Description

Describes a single component access conflict between two policies.

lhs is the component type as seen from this policy's side; rhs is the same component type as seen from the other policy's side (they always refer to the same component — the type that is in conflict). lhs_writes / rhs_writes indicate which side holds write access, allowing callers to determine the exact conflict kind:

  • write–write : both true
  • write–read : lhs_writes=true, rhs_writes=false
  • read–write : lhs_writes=false, rhs_writes=true

Definition at line 78 of file access_policy.hpp.

Member Function Documentation

◆ operator==()

bool helios::ecs::ComponentConflictInfo::operator== ( const ComponentConflictInfo & ) const
nodiscardconstexprdefaultnoexcept

Member Data Documentation

◆ lhs

ComponentTypeId helios::ecs::ComponentConflictInfo::lhs

Component type from this policy.

Definition at line 79 of file access_policy.hpp.

◆ lhs_writes

bool helios::ecs::ComponentConflictInfo::lhs_writes = false

True if this policy writes the component.

Definition at line 81 of file access_policy.hpp.

◆ rhs

ComponentTypeId helios::ecs::ComponentConflictInfo::rhs

Same component type from the other policy.

Definition at line 80 of file access_policy.hpp.

◆ rhs_writes

bool helios::ecs::ComponentConflictInfo::rhs_writes = false

True if the other policy writes the component.

Definition at line 82 of file access_policy.hpp.