1#ifndef ENTT_ENTITY_FWD_HPP
2#define ENTT_ENTITY_FWD_HPP
7#include "../core/fwd.hpp"
8#include "../core/type_traits.hpp"
25template<
typename Entity = entity,
typename = std::allocator<Entity>>
26class basic_sparse_set;
28template<
typename Type,
typename = entity,
typename = std::allocator<Type>,
typename =
void>
31template<
typename,
typename>
32class basic_sigh_mixin;
34template<
typename Entity = entity,
typename = std::allocator<Entity>>
37template<
typename,
typename,
typename =
void>
40template<
typename Type,
typename = std::allocator<Type *>>
43template<
typename,
typename,
typename>
46template<
typename,
typename Mask = std::u
int32_t,
typename = std::allocator<Mask>>
52template<
typename,
typename...>
71template<
typename Type>
78template<
typename Type>
100template<
typename... Args>
107template<
typename... Args>
129template<
typename... Type>
139template<
typename... Type>
146template<
typename... Type>
156template<
typename... Type>
163template<
typename... Type>
173template<
typename... Type>
181template<
typename... Type,
template<
typename...>
class Op>
192template<
typename... Type,
template<
typename...>
class Op>
203template<
typename... Type,
template<
typename...>
class Op>
215template<
typename Type,
typename Entity = entity,
typename Allocator = std::allocator<Type>,
typename =
void>
225template<
typename... Args>
234template<
typename Type,
typename Entity = entity,
typename Allocator = std::allocator<std::remove_const_t<Type>>>
244template<
typename... Args>
252template<
typename Get,
typename Exclude = exclude_t<>>
261template<
typename Owned,
typename Get,
typename Exclude>
Utility class for continuous loading.
Utility class for creating a static task graph.
Fast and reliable entity-component system.
Mixin type used to add signal support to storage types.
Utility class to restore a snapshot as a whole.
Utility class to create snapshots from a registry.
Basic sparse set implementation.
Basic storage implementation.
entity
Default entity identifier.
std::uint32_t id_type
Alias declaration for type identifiers.
typename type_list_transform< List, Op >::type type_list_transform_t
Helper type.
constexpr exclude_t< Type... > exclude
Variable template for exclusion lists.
typename storage_for< Args... >::type storage_for_t
Helper type.
typename constness_as< To, From >::type constness_as_t
Alias template to facilitate the transcription of the constness.
constexpr get_t< Type... > get
Variable template for lists of observed components.
deletion_policy
Storage deletion policy.
@ swap_only
Swap-only deletion policy.
@ swap_and_pop
Swap-and-pop deletion policy.
@ in_place
In-place deletion policy.
basic_registry<> registry
Alias declaration for the most common use case.
constexpr owned_t< Type... > owned
Variable template for lists of owned components.
typename storage_type< Args... >::type storage_type_t
Helper type.
Non-owning handle to an entity.
Alias for exclusion lists.
constexpr exclude_t()
Default constructor.
Alias for lists of observed components.
constexpr get_t()
Default constructor.
Alias for lists of owned components.
constexpr owned_t()
Default constructor.
constness_as_t< storage_type_t< std::remove_const_t< Type >, Entity, Allocator >, Type > type
Type-to-storage conversion result.
Provides a common way to define storage types.
A class to use to push around lists of types, nothing more.