1#ifndef ENTT_ENTITY_FWD_HPP
2#define ENTT_ENTITY_FWD_HPP
7#include "../config/config.h"
8#include "../core/fwd.hpp"
9#include "../core/type_traits.hpp"
26template<
typename Entity = entity,
typename = std::allocator<Entity>>
27class basic_sparse_set;
29template<
typename Type,
typename = entity,
typename = std::allocator<Type>,
typename =
void>
32template<
typename,
typename>
33class basic_sigh_mixin;
35template<
typename,
typename>
36class basic_reactive_mixin;
38template<
typename Entity = entity,
typename = std::allocator<Entity>>
41template<
typename,
typename,
typename =
void>
44template<
typename Type,
typename = std::allocator<Type *>>
47template<
typename,
typename,
typename>
50template<
typename,
typename = std::allocator<
void>>
56template<
typename,
typename...>
75template<
typename Type>
82template<
typename Type>
89template<
typename Type>
111template<
typename...
Args>
118template<
typename...
Args>
140template<
typename... Type>
150template<
typename... Type>
157template<
typename... Type>
160 explicit constexpr get_t() =
default;
167template<
typename... Type>
174template<
typename... Type>
184template<
typename... Type>
192template<
typename... Type,
template<
typename...>
class Op>
203template<
typename... Type,
template<
typename...>
class Op>
214template<
typename... Type,
template<
typename...>
class Op>
226template<
typename Type,
typename Entity = entity,
typename Allocator = std::allocator<Type>,
typename =
void>
240template<
typename Entity,
typename Allocator>
250template<
typename...
Args>
259template<
typename Type,
typename Entity = entity,
typename Allocator = std::allocator<std::remove_const_t<Type>>>
269template<
typename...
Args>
277template<
typename Get,
typename Exclude = exclude_t<>>
286template<
typename Owned,
typename Get,
typename Exclude>
Utility class for continuous loading.
Non-owning handle to an entity.
Utility class for creating a static task graph.
Mixin type used to add reactive support to storage types.
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.
Sparse set implementation.
entity
Default entity identifier.
typename storage_type< Args... >::type storage_type_t
Helper type.
constexpr Type make_obj_using_allocator(const Allocator &allocator, Args &&...args)
Uses-allocator construction utility (waiting for C++20).
typename constness_as< To, From >::type constness_as_t
Alias template to facilitate the transcription of the constness.
typename type_list_transform< List, Op >::type type_list_transform_t
Helper type.
constexpr exclude_t< Type... > exclude
Variable template for exclusion lists.
std::uint32_t id_type
Alias declaration for type identifiers.
constexpr get_t< Type... > get
Variable template for lists of observed elements.
typename storage_for< Args... >::type storage_for_t
Helper type.
basic_registry<> registry
Alias declaration for the most common use case.
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.
constexpr owned_t< Type... > owned
Variable template for lists of owned elements.
Alias for exclusion lists.
constexpr exclude_t()=default
Default constructor.
Alias for lists of observed elements.
constexpr get_t()=default
Default constructor.
Alias for lists of owned elements.
constexpr owned_t()=default
Default constructor.
Empty value type for reactive storage types.
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.