psl::ecs namespace

Entity Component System.

namespaces

details
specialized implementation of psl::sparse_array

classes

component_traits<...>
Specialize this type to override default behaviours, or to enable serialization.
direct_t
Guarantees direct access to the underlying data.
empty<...>
tag type to circumvent constructing an object in the backing data
entity_t
entity points to a collection of components
except<...>
tag that disallows a certain component to be present on the given entity.
filter<...>
tag allows you to filter on sets of components
full_t
requires a pack to be whole when filled in
indirect_t
The data is not optimized for direct access.
on_add<...>
tag that allows you to select entities (and components) that have recently added the given component type
on_break<...>
specialized tag of on_remove
on_combine<...>
specialized tag of on_add
on_remove<...>
tag that allows you to listen to the event of a component of the given type being removed.
partial_t
allows packs to exist in a partial state

typedefs

template<IsPack T>
using decode_pack_types_t = typename decode_pack_types<std::remove_cvref_t<T>>::type
Helper to convert a pack to a type_pack_t of its arguments (including policies etc..)
publicpublic

variables

auto
component_type_v<...>
constexprconstexprpublicpublicstaticstatic

concepts

psl::ecs::IsAccessDirect
psl::ecs::IsAccessIndirect
psl::ecs::IsAccessType
psl::ecs::IsComponentComplexType
psl::ecs::IsComponentFlagType
psl::ecs::IsComponentTrivialType
psl::ecs::IsComponentTypeSerializable
psl::ecs::IsEntity
psl::ecs::IsPack
psl::ecs::IsPackFull
psl::ecs::IsPackPartial
psl::ecs::IsPolicy

Typedef documentation

template<IsPack T>
using psl::ecs::decode_pack_types_t = typename decode_pack_types<std::remove_cvref_t<T>>::type

Helper to convert a pack to a type_pack_t of its arguments (including policies etc..)

Template parameters
T pack type to decode

Variable documentation

template<typename T>
static auto psl::ecs::component_type_v constexpr