Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
iterator.hpp File Reference
#include <helios/assert.hpp>
#include <helios/ecs/component/archetype.hpp>
#include <helios/ecs/component/component.hpp>
#include <helios/ecs/component/manager.hpp>
#include <helios/ecs/entity/entity.hpp>
#include <helios/ecs/query/details/traits.hpp>
#include <helios/utils/common_traits.hpp>
#include <helios/utils/functional_adapters.hpp>
#include <concepts>
#include <cstddef>
#include <functional>
#include <iterator>
#include <span>
#include <tuple>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  helios::ecs::BasicQueryIter< IsConst, Components >
 Iterator for query results without entity information. More...
class  helios::ecs::BasicQueryWithEntityIter< IsConst, Components >
 Iterator for query results including the entity. More...

Namespaces

namespace  helios
namespace  helios::ecs
namespace  helios::ecs::details

Typedefs

template<typename... Components>
using helios::ecs::QueryIter = BasicQueryIter<false, Components...>
 Iterator for query results without entity information.
template<typename... Components>
using helios::ecs::ReadOnlyQueryIter = BasicQueryIter<true, Components...>
 Read-only iterator for query results without entity information.
template<typename... Components>
using helios::ecs::QueryWithEntityIter = BasicQueryWithEntityIter<false, Components...>
 Iterator for query results including the entity.
template<typename... Components>
using helios::ecs::ReadOnlyQueryWithEntityIter
 Read-only iterator for query results including the entity.

Functions

template<typename AccessSpec>
auto helios::ecs::details::FetchComponent (const Archetype &archetype, Entity entity, ComponentManager &components) -> ComponentAccessType_t< AccessSpec >
 Fetches a single component for the current entity from the archetype, returning the appropriate access type.
template<typename AccessSpec>
auto helios::ecs::details::FetchComponentConst (const Archetype &archetype, Entity entity, const ComponentManager &components) -> ComponentAccessType_t< AccessSpec >
 Const-world variant: always returns const access.