diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json
new file mode 100644
index 000000000..0cf5ea503
--- /dev/null
+++ b/.vs/ProjectSettings.json
@@ -0,0 +1,3 @@
+{
+ "CurrentProjectSetting": "No Configurations"
+}
\ No newline at end of file
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
new file mode 100644
index 000000000..96dec7988
--- /dev/null
+++ b/.vs/VSWorkspaceState.json
@@ -0,0 +1,7 @@
+{
+ "ExpandedNodes": [
+ ""
+ ],
+ "SelectedNode": "\\.nojekyll",
+ "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/.vs/entt-gh-pages/v16/.suo b/.vs/entt-gh-pages/v16/.suo
new file mode 100644
index 000000000..af1e0161e
Binary files /dev/null and b/.vs/entt-gh-pages/v16/.suo differ
diff --git a/.vs/entt-gh-pages/v16/Browse.VC.db b/.vs/entt-gh-pages/v16/Browse.VC.db
new file mode 100644
index 000000000..a9ba6353b
Binary files /dev/null and b/.vs/entt-gh-pages/v16/Browse.VC.db differ
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
new file mode 100644
index 000000000..5da51827c
Binary files /dev/null and b/.vs/slnx.sqlite differ
diff --git a/actor_8hpp_source.html b/actor_8hpp_source.html
index 7820de4bb..57d15a5fe 100644
--- a/actor_8hpp_source.html
+++ b/actor_8hpp_source.html
@@ -22,7 +22,7 @@
Returns a sequence container proxy.
Returns an opaque pointer to the contained instance.
Returns an opaque pointer to the contained instance.
Returns false if a wrapper is empty, true otherwise.
Indirection operator for dereferencing opaque objects.
Aliasing constructor.
Returns the meta type of the underlying object.
Returns a meta iterator to the first element of the wrapped container.
Clears the content of the wrapped container.
Returns a meta iterator that is past the last element of the wrapped container.
Returns true if the associative container is also key-only, false otherwise.
Returns the key meta type of the wrapped container type.
Returns the mapped meta type of the wrapped container type.
Returns false if a proxy is invalid, true otherwise.
Returns the size of the wrapped container.
Returns the value meta type of the wrapped container type.
Returns false if an iterator is invalid, true otherwise.
Indirection operator.
Pre-increment operator.
Post-increment operator.
Returns a meta iterator to the first element of the wrapped container.
Clears the content of the wrapped container.
Returns a meta iterator that is past the last element of the wrapped container.
Returns false if a proxy is invalid, true otherwise.
Returns the size of the wrapped container.
Returns the value meta type of the wrapped container type.
Returns a range to use to visit top-level meta bases.
Returns a range to use to visit top-level meta conversion functions.
Returns the meta constructor that accepts a given list of types of arguments.
Returns a range to use to visit top-level meta constructors.
Returns a range to use to visit top-level meta data.
Returns a range to use to visit top-level meta functions.
Returns the identifier assigned to a meta object.
Checks whether a type refers to an array type or not.
Checks whether a type refers to an associative container or not.
Checks whether a type refers to a class or not.
Checks whether a type refers to an enum or not.
Checks whether a type refers to a floating-point type or not.
Checks whether a type refers to a function pointer or not.
Checks whether a type refers to an integral type or not.
Checks whether a type refers to a pointer to member function or not.
Checks whether a type refers to a pointer to data member or not.
Checks whether a type refers to a pointer or not.
Checks whether a type is a pointer-like type or not.
Checks whether a type refers to a sequence container or not.
Checks whether a type refers to an union or not.
Checks whether a type refers to void or not.
Returns true if a meta object is valid, false otherwise.
Returns a range to use to visit top-level meta properties.
If a type refers to an array type, provides the number of dimensions of the array.
Provides the meta type for which the array is defined.
Provides the meta type for which the pointer is defined.
The meta type is also removed from the list of searchable types.
-Returns the type id of the underlying type.
succeed()
: entt::process< Derived, Delta >
diff --git a/functions_t.html b/functions_t.html
index 0b4f86fdd..3a4f38396 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_type.html b/functions_type.html
index ddeff2b73..00bba4272 100644
--- a/functions_type.html
+++ b/functions_type.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_u.html b/functions_u.html
index 1e52fc857..667320140 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_v.html b/functions_v.html
index 851340d61..cd5c68f76 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_vars.html b/functions_vars.html
index 769a90122..1b0af1d01 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_w.html b/functions_w.html
index 72815141c..2f55ff761 100644
--- a/functions_w.html
+++ b/functions_w.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_y.html b/functions_y.html
index 1f976fd88..31b650d09 100644
--- a/functions_y.html
+++ b/functions_y.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/functions_~.html b/functions_~.html
index 4c16f0c6c..78ae2a7b2 100644
--- a/functions_~.html
+++ b/functions_~.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/fwd_8hpp_source.html b/fwd_8hpp_source.html
index 6994c6a11..b443e7ddd 100644
--- a/fwd_8hpp_source.html
+++ b/fwd_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/graph_legend.html b/graph_legend.html
index e3f701b88..6ce8fc7bb 100644
--- a/graph_legend.html
+++ b/graph_legend.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/group_8hpp_source.html b/group_8hpp_source.html
index 6a0e3ea52..e1692c576 100644
--- a/group_8hpp_source.html
+++ b/group_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/hashed__string_8hpp_source.html b/hashed__string_8hpp_source.html
index dab0b4a56..e647517d0 100644
--- a/hashed__string_8hpp_source.html
+++ b/hashed__string_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/helper_8hpp_source.html b/helper_8hpp_source.html
index 03a150751..4f7027915 100644
--- a/helper_8hpp_source.html
+++ b/helper_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/hierarchy.html b/hierarchy.html
index 6b9346ae8..2d606d5aa 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/ident_8hpp_source.html b/ident_8hpp_source.html
index de201357d..219913c96 100644
--- a/ident_8hpp_source.html
+++ b/ident_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/index.html b/index.html
index ee04453bf..d02cd1048 100644
--- a/index.html
+++ b/index.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/inherit_graph_118.map b/inherit_graph_118.map
new file mode 100644
index 000000000..5b1339726
--- /dev/null
+++ b/inherit_graph_118.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/inherit_graph_118.md5 b/inherit_graph_118.md5
new file mode 100644
index 000000000..ee07cac7f
--- /dev/null
+++ b/inherit_graph_118.md5
@@ -0,0 +1 @@
+7eeccceed1b8ee4c6d7353b7f525e02b
\ No newline at end of file
diff --git a/inherit_graph_118.png b/inherit_graph_118.png
new file mode 100644
index 000000000..8c48e79d2
Binary files /dev/null and b/inherit_graph_118.png differ
diff --git a/inherit_graph_119.map b/inherit_graph_119.map
new file mode 100644
index 000000000..f5556ca1a
--- /dev/null
+++ b/inherit_graph_119.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/inherit_graph_119.md5 b/inherit_graph_119.md5
new file mode 100644
index 000000000..0c88062fa
--- /dev/null
+++ b/inherit_graph_119.md5
@@ -0,0 +1 @@
+60f25a3eae2e0dd4a0e6e4a670d8399e
\ No newline at end of file
diff --git a/inherit_graph_119.png b/inherit_graph_119.png
new file mode 100644
index 000000000..ac2071684
Binary files /dev/null and b/inherit_graph_119.png differ
diff --git a/inherits.html b/inherits.html
index 4fe7db5ff..406b289de 100644
--- a/inherits.html
+++ b/inherits.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -95,7 +95,7 @@ $(function() {
-
+
@@ -235,7 +235,7 @@ $(function() {
-
+
@@ -267,7 +267,7 @@ $(function() {
-
+
@@ -280,7 +280,7 @@ $(function() {
-
+
@@ -373,7 +373,7 @@ $(function() {
-
+
@@ -399,7 +399,7 @@ $(function() {
-
+
@@ -536,7 +536,7 @@ $(function() {
-
+
@@ -589,7 +589,7 @@ $(function() {
-
+
@@ -609,7 +609,7 @@ $(function() {
-
+
@@ -628,12 +628,12 @@ $(function() {
-
+
-
+
@@ -670,7 +670,7 @@ $(function() {
-
+
@@ -696,7 +696,7 @@ $(function() {
-
+
diff --git a/internal_8hpp_source.html b/internal_8hpp_source.html
index 3e113c307..9624066db 100644
--- a/internal_8hpp_source.html
+++ b/internal_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/loader_8hpp_source.html b/loader_8hpp_source.html
index a899cfe80..4b7421bed 100644
--- a/loader_8hpp_source.html
+++ b/loader_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/locator_8hpp_source.html b/locator_8hpp_source.html
index e7c2d73cb..e8f5244dc 100644
--- a/locator_8hpp_source.html
+++ b/locator_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_config.html b/md_docs_md_config.html
index 27e615316..0ce62f569 100644
--- a/md_docs_md_config.html
+++ b/md_docs_md_config.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_core.html b/md_docs_md_core.html
index c8f4ab3e2..92a08829e 100644
--- a/md_docs_md_core.html
+++ b/md_docs_md_core.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_entity.html b/md_docs_md_entity.html
index 77fe9955b..48cb082f4 100644
--- a/md_docs_md_entity.html
+++ b/md_docs_md_entity.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -620,7 +620,7 @@ Runtime views
Refer to the inline documentation for all the details.
Runtime views are pretty cheap to construct and should not be stored around in any case. They should be used immediately after creation and then they should be thrown away. The reasons for this go far beyond the scope of this document.
To iterate a runtime view, either use it in a range-for loop:
-
+
auto view =
registry .runtime_view(std::cbegin(types), std::cend(types));
for (auto entity: view) {
@@ -634,15 +634,15 @@ Runtime views
}
Or rely on the each member function to iterate entities:
-
+
registry .runtime_view(std::cbegin(types), std::cend(types)).each([](
auto entity) {
});
Performance are exactly the same in both cases.
Filtering entities by components is also supported for this kind of views:
-
-
+
+
auto view =
registry .runtime_view(std::cbegin(components), std::cend(components), std::cbegin(filter), std::cend(filter));
Note : runtime views are meant for all those cases where users don't know at compile-time what components to use to iterate entities. If possible, don't use runtime views as their performance are inferior to those of the other views.
@@ -881,6 +881,7 @@ Beyond this document
Non-owning handle to an entity.
basic_observer< entity > observer
Alias declaration for the most common use case.
basic_view< entity, Types... > view
Alias declaration for the most common use case.
+std::uint32_t id_type
Alias declaration for type identifiers.
size_type size() const
Returns the number of existing components of the given type.
basic_group< entity, Types... > group
Alias declaration for the most common use case.
void visit(entity_type entity, Func func) const
Visits an entity and returns the types for its components.
diff --git a/md_docs_md_faq.html b/md_docs_md_faq.html
index 0d93c0fc3..d409e5996 100644
--- a/md_docs_md_faq.html
+++ b/md_docs_md_faq.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_lib.html b/md_docs_md_lib.html
index fbc14c2a8..bdac3f355 100644
--- a/md_docs_md_lib.html
+++ b/md_docs_md_lib.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_links.html b/md_docs_md_links.html
index 9f6779213..6428c5a39 100644
--- a/md_docs_md_links.html
+++ b/md_docs_md_links.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -125,6 +125,7 @@ $(function() {
Native Scripting .
Native Scripting (now with virtual functions!) .
Scene Hierarchy Panel .
+
Properties Panel .
Ability Creator : project retrospect by Eric Hildebrand .
diff --git a/md_docs_md_locator.html b/md_docs_md_locator.html
index ceed19dec..da9d81514 100644
--- a/md_docs_md_locator.html
+++ b/md_docs_md_locator.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_meta.html b/md_docs_md_meta.html
index 7aed337ed..56e61ea30 100644
--- a/md_docs_md_meta.html
+++ b/md_docs_md_meta.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -464,7 +464,7 @@ Unregister types
Empty class type used to request the as void policy.
meta_type resolve_type(const id_type id) noexcept
Returns the meta type associated with a given type id, if any.
-
+
basic_view< entity, Types... > view
Alias declaration for the most common use case.
meta_type resolve_id(const id_type id) noexcept
Returns the meta type associated with a given identifier, if any.
Empty class type used to request the as ref policy.
diff --git a/md_docs_md_process.html b/md_docs_md_process.html
index fe8891ea6..7e4bd8924 100644
--- a/md_docs_md_process.html
+++ b/md_docs_md_process.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_references.html b/md_docs_md_references.html
index 9cce4802d..e768a8ac0 100644
--- a/md_docs_md_references.html
+++ b/md_docs_md_references.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -99,6 +99,10 @@ $(function() {
Specs : a parallel ECS based mainly on hierarchical bitsets that allows different types of storage as needed.
+
Zig
+zig-ecs : a zig-ification of EnTT.
+
+
If you know of other resources out there that can be of interest for the reader, feel free to open an issue or a PR and I'll be glad to add them to this page.
diff --git a/md_docs_md_resource.html b/md_docs_md_resource.html
index 9181c5b57..e5f1884da 100644
--- a/md_docs_md_resource.html
+++ b/md_docs_md_resource.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/md_docs_md_signal.html b/md_docs_md_signal.html
index 40044093d..1617cd26f 100644
--- a/md_docs_md_signal.html
+++ b/md_docs_md_signal.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/meta_2type__traits_8hpp_source.html b/meta_2type__traits_8hpp_source.html
index 0404b6471..91c1c51a7 100644
--- a/meta_2type__traits_8hpp_source.html
+++ b/meta_2type__traits_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/meta_8hpp_source.html b/meta_8hpp_source.html
index f30918cdd..e1c41e3db 100644
--- a/meta_8hpp_source.html
+++ b/meta_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -215,302 +215,290 @@ $(function() {
167 template <
typename Type>
169 if constexpr(is_meta_pointer_like_v<Type>) {
-
170 if constexpr(std::is_const_v<std::remove_reference_t<decltype(*std::declval<Type>())>>) {
-
171 return *any.
cast <Type>();
-
-
173 return std::ref(*any.
cast <Type>());
-
-
-
-
-
-
-
180 template <
typename Type>
-
181 [[nodiscard]]
static meta_sequence_container meta_sequence_container_factory([[maybe_unused]]
void *container) ENTT_NOEXCEPT {
-
182 if constexpr(has_meta_sequence_container_traits_v<Type>) {
-
183 return static_cast< Type *
> (container);
-
-
-
-
-
-
189 template <
typename Type>
-
190 [[nodiscard]]
static meta_associative_container meta_associative_container_factory([[maybe_unused]]
void *container) ENTT_NOEXCEPT {
-
191 if constexpr(has_meta_associative_container_traits_v<Type>) {
-
192 return static_cast< Type *
> (container);
-
-
-
-
-
-
-
-
-
-
-
204 seq_factory{
nullptr },
-
205 assoc_factory{
nullptr }
-
-
-
214 template <
typename Type,
typename ... Args>
-
215 explicit meta_any (std::in_place_type_t<Type>, [[maybe_unused]] Args &&... args)
-
216 :
storage (std::in_place_type<Type>, std::forward<Args>(args)...),
-
217 node{internal::meta_info<Type>::resolve()},
-
218 deref{&dereference_operator<Type>},
-
219 seq_factory{&meta_sequence_container_factory<Type>},
-
220 assoc_factory{&meta_associative_container_factory<Type>}
-
-
-
228 template <
typename Type>
-
-
-
231 node{internal::meta_info<Type>::resolve()},
-
232 deref{&dereference_operator<Type>},
-
233 seq_factory{&meta_sequence_container_factory<Type>},
-
234 assoc_factory{&meta_associative_container_factory<Type>}
-
-
-
242 template <
typename Type,
typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, meta_any>>>
-
-
244 :
meta_any {std::in_place_type<std::remove_cv_t<std::remove_reference_t<Type>>>, std::forward<Type>(value)}
-
-
-
-
-
-
-
-
-
-
-
-
265 if (node && node->dtor) {
-
-
-
-
-
-
-
-
-
-
284 [[nodiscard]]
inline meta_type type() const ENTT_NOEXCEPT;
-
-
290 [[nodiscard]] const
void * data() const ENTT_NOEXCEPT {
-
-
-
-
295 [[nodiscard]]
void *
data () ENTT_NOEXCEPT {
-
-
-
-
304 template <
typename Type>
-
-
-
307 if (
const auto type_id = internal::meta_info<Type>::resolve()->type_id; node->type_id == type_id) {
-
-
309 }
else if (
const auto *base = internal::find_if<&internal::meta_type_node::base>([type_id](
const auto *curr) {
return curr->type()->type_id == type_id; }, node); base) {
-
310 return static_cast< const Type *
> (base->cast(
storage .
data ()));
-
-
-
-
-
-
-
318 template <
typename Type>
-
-
320 return const_cast< Type *
> (std::as_const(*this).try_cast<Type>());
-
-
-
337 template <
typename Type>
-
338 [[nodiscard]]
const Type &
cast ()
const {
-
339 auto *
const actual = try_cast<Type>();
-
-
-
-
-
345 template <
typename Type>
-
-
347 return const_cast< Type &
> (std::as_const(*this).cast<Type>());
-
-
+
170 using pointed_type = std::remove_reference_t<decltype(*std::declval<Type>())>;
+
+
172 if constexpr(std::is_const_v<pointed_type> && std::is_copy_constructible_v<pointed_type>) {
+
173 return std::as_const(*any.
cast <Type>());
+
174 }
else if constexpr(!std::is_const_v<pointed_type>) {
+
175 return std::ref(*any.
cast <Type>());
+
+
+
+
+
+
+
+
+
184 template <
typename Type>
+
185 [[nodiscard]]
static meta_sequence_container meta_sequence_container_factory([[maybe_unused]]
void *container) ENTT_NOEXCEPT {
+
186 if constexpr(has_meta_sequence_container_traits_v<Type>) {
+
187 return static_cast< Type *
> (container);
+
+
+
+
+
+
193 template <
typename Type>
+
194 [[nodiscard]]
static meta_associative_container meta_associative_container_factory([[maybe_unused]]
void *container) ENTT_NOEXCEPT {
+
195 if constexpr(has_meta_associative_container_traits_v<Type>) {
+
196 return static_cast< Type *
> (container);
+
+
+
+
+
+
+
+
+
+
+
208 seq_factory{
nullptr },
+
209 assoc_factory{
nullptr }
+
+
+
218 template <
typename Type,
typename ... Args>
+
219 explicit meta_any (std::in_place_type_t<Type>, [[maybe_unused]] Args &&... args)
+
220 :
storage (std::in_place_type<Type>, std::forward<Args>(args)...),
+
221 node{internal::meta_info<Type>::resolve()},
+
222 deref{&dereference_operator<Type>},
+
223 seq_factory{&meta_sequence_container_factory<Type>},
+
224 assoc_factory{&meta_associative_container_factory<Type>}
+
+
+
232 template <
typename Type>
+
+
+
235 node{internal::meta_info<Type>::resolve()},
+
236 deref{&dereference_operator<Type>},
+
237 seq_factory{&meta_sequence_container_factory<Type>},
+
238 assoc_factory{&meta_associative_container_factory<Type>}
+
+
+
246 template <
typename Type,
typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, meta_any>>>
+
+
248 :
meta_any {std::in_place_type<std::remove_cv_t<std::remove_reference_t<Type>>>, std::forward<Type>(value)}
+
+
+
+
+
+
+
+
+
+
+
+
269 if (node && node->dtor) {
+
+
+
+
+
+
+
+
+
+
288 [[nodiscard]]
inline meta_type type() const ENTT_NOEXCEPT;
+
+
294 [[nodiscard]] const
void * data() const ENTT_NOEXCEPT {
+
+
+
+
299 [[nodiscard]]
void *
data () ENTT_NOEXCEPT {
+
+
+
+
313 template <
typename ... Args>
+
+
+
327 template <
typename Type>
+
328 bool set(
const id_type id , Type &&value)
const ;
+
+
+
+
342 template <
typename Type>
+
+
+
345 if (
const auto type_id = internal::meta_info<Type>::resolve()->type_id; node->type_id == type_id) {
+
+
347 }
else if (
const auto *base = internal::find_if<&internal::meta_type_node::base>([type_id](
const auto *curr) {
return curr->type()->type_id == type_id; }, node); base) {
+
348 return static_cast< const Type *
> (base->cast(
storage .
data ()));
+
+
+
+
+
+
356 template <
typename Type>
-
-
-
359 if (
const auto type_id = internal::meta_info<Type>::resolve()->type_id; node->type_id == type_id) {
-
-
361 }
else if (
const auto *
const conv = internal::find_if<&internal::meta_type_node::conv>([type_id](
const auto *curr) {
return curr->type()->type_id == type_id; }, node); conv) {
-
-
-
-
-
-
-
-
374 template <
typename Type>
-
-
376 bool valid = (node && node->type_id == internal::meta_info<Type>::resolve()->type_id);
-
-
-
379 if (
auto any = std::as_const(*this).
convert <Type>(); any) {
-
-
-
-
-
-
+
+
358 return const_cast< Type *
> (std::as_const(*this).try_cast<Type>());
+
+
+
375 template <
typename Type>
+
376 [[nodiscard]]
const Type &
cast ()
const {
+
377 auto *
const actual = try_cast<Type>();
+
+
+
+
+
383 template <
typename Type>
+
+
385 return const_cast< Type &
> (std::as_const(*this).cast<Type>());
-
394 template <
typename Type,
typename ... Args>
-
-
396 *
this =
meta_any {std::in_place_type<Type>, std::forward<Args>(args)...};
-
-
-
-
-
-
-
-
408 other.seq_factory = seq_factory;
-
409 other.assoc_factory = assoc_factory;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
442 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
443 return !(node ==
nullptr );
-
-
-
-
452 return (!node && !other.node) || (node && other.node && node->type_id == other.node->type_id && node->compare(
storage .
data (), other.storage.data()));
-
-
-
-
-
462 swap(lhs.storage, rhs.storage);
-
463 swap(lhs.node, rhs.node);
-
464 swap(lhs.deref, rhs.deref);
-
465 swap(lhs.seq_factory, rhs.seq_factory);
-
466 swap(lhs.assoc_factory, rhs.assoc_factory);
-
-
-
-
470 internal::meta_storage
storage ;
-
471 internal::meta_type_node *node;
-
472 dereference_operator_type *deref;
-
-
-
-
-
-
-
485 return !(lhs == rhs);
-
-
-
-
-
-
-
505 template <
typename Type,
typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, meta_handle>>>
-
-
-
-
509 if constexpr(std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>,
meta_any >) {
-
-
-
512 static_assert(std::is_lvalue_reference_v<Type>,
"Lvalue reference required" );
-
513 any = std::ref(value);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
394 template <
typename Type>
+
+
+
397 if (
const auto type_id = internal::meta_info<Type>::resolve()->type_id; node->type_id == type_id) {
+
+
399 }
else if (
const auto *
const conv = internal::find_if<&internal::meta_type_node::conv>([type_id](
const auto *curr) {
return curr->type()->type_id == type_id; }, node); conv) {
+
+
+
+
+
+
+
+
412 template <
typename Type>
+
+
414 bool valid = (node && node->type_id == internal::meta_info<Type>::resolve()->type_id);
+
+
+
417 if (
auto any = std::as_const(*this).
convert <Type>(); any) {
+
+
+
+
+
+
+
+
+
432 template <
typename Type,
typename ... Args>
+
+
434 *
this =
meta_any {std::in_place_type<Type>, std::forward<Args>(args)...};
+
+
+
+
+
+
+
+
446 other.seq_factory = seq_factory;
+
447 other.assoc_factory = assoc_factory;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
480 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
481 return !(node ==
nullptr );
+
+
+
+
490 return (!node && !other.node) || (node && other.node && node->type_id == other.node->type_id && node->compare(
storage .
data (), other.storage.data()));
+
+
+
+
+
500 swap(lhs.storage, rhs.storage);
+
501 swap(lhs.node, rhs.node);
+
502 swap(lhs.deref, rhs.deref);
+
503 swap(lhs.seq_factory, rhs.seq_factory);
+
504 swap(lhs.assoc_factory, rhs.assoc_factory);
+
+
+
+
508 internal::meta_storage
storage ;
+
509 internal::meta_type_node *node;
+
510 dereference_operator_type *deref;
+
+
+
+
+
+
+
523 return !(lhs == rhs);
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
564 return node->value();
-
-
-
571 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
572 return !(node ==
nullptr );
-
+
543 template <
typename Type,
typename = std::enable_if_t<!std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>, meta_handle>>>
+
+
+
+
547 if constexpr(std::is_same_v<std::remove_cv_t<std::remove_reference_t<Type>>,
meta_any >) {
+
+
+
550 static_assert(std::is_lvalue_reference_v<Type>,
"Lvalue reference required" );
+
551 any = std::ref(value);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
576 const node_type *node;
-
-
-
-
-
-
-
-
-
-
-
594 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
-
-
597 [[nodiscard]] inline meta_type type() const ENTT_NOEXCEPT;
-
-
604 [[nodiscard]] const
void * cast(const
void *instance) const ENTT_NOEXCEPT {
-
605 return node->cast(instance);
-
-
-
612 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
613 return !(node ==
nullptr );
-
-
-
-
617 const node_type *node;
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
602 return node->value();
+
+
+
609 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
610 return !(node ==
nullptr );
+
+
+
+
614 const node_type *node;
+
+
+
+
+
+
+
+
+
+
632 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
635 [[nodiscard]] inline meta_type type() const ENTT_NOEXCEPT;
-
642 [[nodiscard]]
meta_any convert(const
void *instance)
const {
-
643 return node->conv(instance);
+
642 [[nodiscard]] const
void * cast(const
void *instance) const ENTT_NOEXCEPT {
+
643 return node->cast(instance);
-
650 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
650 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
651 return !(node ==
nullptr );
@@ -519,999 +507,1069 @@ $(function() {
-
-
-
-
-
-
-
-
-
672 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
670 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
+
+
673 [[nodiscard]] inline meta_type type() const ENTT_NOEXCEPT;
+
+
680 [[nodiscard]]
meta_any convert(const
void *instance)
const {
+
681 return node->conv(instance);
+
+
+
688 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
689 return !(node ==
nullptr );
+
+
+
+
693 const node_type *node;
+
+
+
+
+
+
-
713 template <
typename ... Args>
-
-
715 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
-
716 return invoke (arguments.data(),
sizeof ...(Args));
-
-
-
-
-
+
+
+
+
+
710 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
+
+
+
+
+
+
-
-
733 internal::meta_range range{node->prop};
-
734 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
-
-
-
741 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
742 return !(node ==
nullptr );
-
-
-
-
746 const node_type *node;
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
751 template <
typename ... Args>
+
+
753 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
+
754 return invoke (arguments.data(),
sizeof ...(Args));
+
+
+
+
-
766 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
-
-
772 [[nodiscard]]
bool is_const() const ENTT_NOEXCEPT {
-
773 return (node->set ==
nullptr );
-
-
-
-
781 return node->is_static;
-
-
-
785 [[nodiscard]]
inline meta_type type() const ENTT_NOEXCEPT;
+
+
771 internal::meta_range range{node->prop};
+
772 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
+
+
+
779 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
780 return !(node ==
nullptr );
+
+
+
+
784 const node_type *node;
+
-
801 template<typename Type>
-
-
803 return node->set && node->set(std::move(instance), std::forward<Type>(value));
-
+
+
+
+
+
+
+
+
+
+
+
+
+
804 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
-
-
816 return node->get(std::move(instance));
-
-
-
-
-
-
-
-
830 internal::meta_range range{node->prop};
-
831 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
-
-
-
838 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
839 return !(node ==
nullptr );
-
-
-
-
843 const node_type *node;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
865 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
-
-
-
-
-
-
879 [[nodiscard]]
bool is_const () const ENTT_NOEXCEPT {
-
880 return node->is_const;
-
-
-
-
888 return node->is_static;
-
-
-
895 [[nodiscard]]
inline meta_type ret() const ENTT_NOEXCEPT;
+
810 [[nodiscard]]
bool is_const() const ENTT_NOEXCEPT {
+
811 return (node->set ==
nullptr );
+
+
+
+
819 return node->is_static;
+
+
+
823 [[nodiscard]]
inline meta_type type() const ENTT_NOEXCEPT;
+
+
839 template<typename Type>
+
+
841 return node->
set && node->set(std::move(instance), std::forward<Type>(value));
+
+
+
+
854 return node->
get (std::move(instance));
+
+
+
+
+
+
+
+
868 internal::meta_range range{node->prop};
+
869 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
+
+
+
876 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
877 return !(node ==
nullptr );
+
+
+
+
881 const node_type *node;
+
+
+
+
+
+
+
+
+
+
-
-
-
-
920 return sz ==
size () ? node->invoke(instance, args) :
meta_any {};
-
-
-
933 template <
typename ... Args>
-
-
935 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
-
936 return invoke (instance, arguments.data(),
sizeof ...(Args));
-
-
-
-
-
-
-
-
950 internal::meta_range range{node->prop};
-
951 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
-
-
-
958 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
959 return !(node ==
nullptr );
-
-
-
-
963 const node_type *node;
-
-
-
-
-
969 template <
typename ... Args, std::size_t... Indexes>
-
970 [[nodiscard]]
auto ctor(std::index_sequence<Indexes...>)
const {
-
971 internal::meta_range range{node->ctor};
-
-
973 return std::find_if(range.begin(), range.end(), [](
const auto &candidate) {
-
974 return candidate.size == sizeof...(Args) && ([](auto *from, auto *to) {
-
975 return (from->type_id == to->type_id)
-
976 || internal::find_if<&node_type::base>([to](const auto *curr) { return curr->type()->type_id == to->type_id; }, from)
-
977 || internal::find_if<&node_type::conv>([to](const auto *curr) { return curr->type()->type_id == to->type_id; }, from);
-
978 }(internal::meta_info<Args>::resolve(), candidate.arg(Indexes)) && ...);
-
+
+
+
+
+
903 [[nodiscard]]
inline meta_type parent() const ENTT_NOEXCEPT;
+
+
+
+
+
+
917 [[nodiscard]]
bool is_const () const ENTT_NOEXCEPT {
+
918 return node->is_const;
+
+
+
+
926 return node->is_static;
+
+
+
933 [[nodiscard]]
inline meta_type ret() const ENTT_NOEXCEPT;
+
+
+
+
+
958 return sz ==
size () ? node->invoke(instance, args) :
meta_any {};
+
+
+
971 template <
typename ... Args>
+
+
973 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
+
974 return invoke (instance, arguments.data(),
sizeof ...(Args));
+
+
+
+
-
-
-
-
-
-
-
-
-
-
998 return node->type_id;
-
-
-
-
-
-
-
1013 [[nodiscard]]
bool is_void () const ENTT_NOEXCEPT {
-
1014 return node->is_void;
-
-
-
-
1022 return node->is_integral;
-
-
-
-
1031 return node->is_floating_point;
-
-
-
-
1039 return node->is_array;
-
-
-
1046 [[nodiscard]]
bool is_enum () const ENTT_NOEXCEPT {
-
1047 return node->is_enum;
-
-
-
-
1055 return node->is_union;
-
-
-
-
1063 return node->is_class;
-
-
-
-
1071 return node->is_pointer;
-
-
-
-
1080 return node->is_function_pointer;
-
-
-
-
1089 return node->is_member_object_pointer;
-
-
-
-
1099 return node->is_member_function_pointer;
-
-
-
-
1108 return node->is_pointer_like;
-
-
-
-
1117 return node->is_sequence_container;
-
-
-
-
1126 return node->is_associative_container;
-
-
-
-
-
-
-
-
1147 return node->extent(dim);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1182 return internal::find_if<&node_type::base>([
id ](
const auto *curr) {
-
1183 return curr->type()->
id ==
id ;
-
-
-
-
-
+
+
988 internal::meta_range range{node->prop};
+
989 return std::find_if(range.begin(), range.end(), [&key](
const auto &curr) { return curr.key() == key; }).operator->();
+
+
+
996 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
997 return !(node ==
nullptr );
+
+
+
+
1001 const node_type *node;
+
+
+
+
+
1007 template <
typename ... Args, std::size_t... Indexes>
+
1008 [[nodiscard]]
auto ctor(std::index_sequence<Indexes...>)
const {
+
1009 internal::meta_range range{node->ctor};
+
+
1011 return std::find_if(range.begin(), range.end(), [](
const auto &candidate) {
+
1012 return candidate.size == sizeof...(Args) && ([](auto *from, auto *to) {
+
1013 return (from->type_id == to->type_id)
+
1014 || internal::find_if<&node_type::base>([to](const auto *curr) { return curr->type()->type_id == to->type_id; }, from)
+
1015 || internal::find_if<&node_type::conv>([to](const auto *curr) { return curr->type()->type_id == to->type_id; }, from);
+
1016 }(internal::meta_info<Args>::resolve(), candidate.arg(Indexes)) && ...);
+
+
+
+
+
+
+
+
+
+
+
+
+
1036 return node->type_id;
+
+
+
+
+
+
+
1051 [[nodiscard]]
bool is_void () const ENTT_NOEXCEPT {
+
1052 return node->is_void;
+
+
+
+
1060 return node->is_integral;
+
+
+
+
1069 return node->is_floating_point;
+
+
+
+
1077 return node->is_array;
+
+
+
1084 [[nodiscard]]
bool is_enum () const ENTT_NOEXCEPT {
+
1085 return node->is_enum;
+
+
+
+
1093 return node->is_union;
+
+
+
+
1101 return node->is_class;
+
+
+
+
1109 return node->is_pointer;
+
+
+
+
1118 return node->is_function_pointer;
+
+
+
+
1127 return node->is_member_object_pointer;
+
+
+
+
1137 return node->is_member_function_pointer;
+
+
+
+
1146 return node->is_pointer_like;
+
+
+
+
1155 return node->is_sequence_container;
+
+
+
+
1164 return node->is_associative_container;
+
+
+
+
+
+
+
+
1185 return node->extent(dim);
+
+
+
+
-
1203 template <
typename Type>
-
-
1205 return internal::find_if<&node_type::conv>([type_id = internal::meta_info<Type>::resolve()->type_id](
const auto *curr) {
-
1206 return curr->type()->type_id == type_id;
-
-
-
-
-
-
-
-
1223 template <
typename ... Args>
-
-
1225 return ctor<Args...>(std::index_sequence_for<Args...>{});
-
-
-
-
-
-
-
-
1245 return internal::find_if<&node_type::data>([
id ](
const auto *curr) {
-
1246 return curr->id == id;
-
-
-
-
-
-
-
-
-
1267 return internal::find_if<&node_type::func>([
id ](
const auto *curr) {
-
1268 return curr->id == id;
-
-
-
-
-
-
-
1286 internal::find_if<&node_type::ctor>([args, sz, &any](
const auto *curr) {
-
1287 return (curr->size == sz) && (any = curr->invoke(args));
-
-
-
-
-
-
1302 template <
typename ... Args>
-
-
1304 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
-
1305 return construct(arguments.data(),
sizeof ...(Args));
-
-
-
-
-
-
-
-
1325 return internal::find_if<&node_type::prop>([key = std::move(key)](
const auto *curr) {
-
1326 return curr->key() == key;
-
-
-
-
1334 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
1335 return !(node ==
nullptr );
-
-
-
-
1345 return (!node && !other.node) || (node && other.node && node->type_id == other.node->type_id);
-
-
-
-
1359 auto ** it = internal::meta_context::global();
-
-
1361 while (*it && *it != node) {
-
-
-
-
-
-
-
-
-
1370 [](
auto &&
self ,
auto **curr,
auto ... member) {
-
-
-
1373 (
self (&(prev->*member)), ...);
-
-
1375 prev->next =
nullptr ;
-
-
-
-
-
1380 unregister_all(&node->prop);
-
1381 unregister_all(&node->base);
-
1382 unregister_all(&node->conv);
-
1383 unregister_all(&node->ctor, &internal::meta_ctor_node::prop);
-
1384 unregister_all(&node->data, &internal::meta_data_node::prop);
-
1385 unregister_all(&node->func, &internal::meta_func_node::prop);
-
-
-
1388 node->dtor =
nullptr ;
-
-
-
-
-
-
-
-
-
1403 return !(lhs == rhs);
-
-
-
-
-
-
-
-
-
-
1413 return node->parent;
-
-
-
-
-
1418 return node->type();
-
-
-
-
-
1423 return node->parent;
-
-
-
-
-
1428 return node->type();
-
-
-
-
-
1433 return node->parent;
-
-
-
-
-
1438 return index <
size () ? node->arg(index) :
nullptr ;
-
-
+
+
+
+
+
+
+
+
+
+
1220 return internal::find_if<&node_type::base>([
id ](
const auto *curr) {
+
1221 return curr->type()->
id ==
id ;
+
+
+
+
+
+
+
+
1241 template <
typename Type>
+
+
1243 return internal::find_if<&node_type::conv>([type_id = internal::meta_info<Type>::resolve()->type_id](
const auto *curr) {
+
1244 return curr->type()->type_id == type_id;
+
+
+
+
+
+
+
+
1261 template <
typename ... Args>
+
+
1263 return ctor<Args...>(std::index_sequence_for<Args...>{});
+
+
+
+
+
+
+
+
1283 return internal::find_if<&node_type::data>([
id ](
const auto *curr) {
+
1284 return curr->id == id;
+
+
+
+
+
+
+
+
+
1305 return internal::find_if<&node_type::func>([
id ](
const auto *curr) {
+
1306 return curr->id == id;
+
+
+
+
+
+
+
1324 internal::find_if<&node_type::ctor>([args, sz, &any](
const auto *curr) {
+
1325 return (curr->size == sz) && (any = curr->invoke(args));
+
+
+
+
+
+
1340 template <
typename ... Args>
+
+
1342 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
+
1343 return construct(arguments.data(),
sizeof ...(Args));
+
+
+
+
1363 auto const candidate = func(
id );
+
1364 return candidate ? candidate.invoke(std::move(instance), args, sz) :
meta_any {};
+
+
+
1378 template <
typename ... Args>
+
+
1380 std::array<
meta_any ,
sizeof ...(Args)> arguments{std::forward<Args>(args)...};
+
1381 return invoke (
id , std::move(instance), arguments.data(),
sizeof ...(Args));
+
+
+
1399 template <
typename Type>
+
+
1401 auto const candidate = data(
id );
+
1402 return candidate ? candidate.set(std::move(instance), std::forward<Type>(value)) :
false ;
+
+
+
+
1416 auto const candidate = data(
id );
+
1417 return candidate ? candidate.get(std::move(instance)) :
meta_any {};
+
+
+
+
+
+
+
+
1437 return internal::find_if<&node_type::prop>([key = std::move(key)](
const auto *curr) {
+
1438 return curr->key() == key;
+
+
-
-
1443 return node->parent;
-
-
-
-
-
1448 return node->type();
-
-
-
-
-
1453 return node->parent;
-
-
-
-
-
-
-
-
-
-
1463 return index <
size () ? node->arg(index) :
nullptr ;
-
-
-
-
-
-
-
1472 template <
typename It>
-
-
-
+
1446 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
1447 return !(node ==
nullptr );
+
+
+
+
1457 return (!node && !other.node) || (node && other.node && node->type_id == other.node->type_id);
+
+
+
+
1471 auto ** it = internal::meta_context::global();
+
+
1473 while (*it && *it != node) {
+
+
-
1477 template <
typename It>
-
-
1479 if constexpr(std::is_const_v<std::remove_reference_t<decltype(*std::declval<It>())>>) {
-
1480 return *any.
cast <It>();
-
-
1482 return std::ref(*any.
cast <It>());
-
-
-
-
-
-
-
-
-
-
-
-
-
1506 template<typename It>
-
-
1508 : next_fn{&incr<It>},
-
-
-
-
-
-
1515 return next_fn(
handle .ref()), *
this ;
-
+
+
+
+
+
+
1482 [](
auto &&
self ,
auto **curr,
auto ... member) {
+
+
+
1485 (
self (&(prev->*member)), ...);
+
+
1487 prev->next =
nullptr ;
+
+
+
+
+
1492 unregister_all(&node->prop);
+
1493 unregister_all(&node->base);
+
1494 unregister_all(&node->conv);
+
1495 unregister_all(&node->ctor, &internal::meta_ctor_node::prop);
+
1496 unregister_all(&node->data, &internal::meta_data_node::prop);
+
1497 unregister_all(&node->func, &internal::meta_func_node::prop);
+
+
+
1500 node->dtor =
nullptr ;
+
+
+
+
+
+
+
+
+
1515 return !(lhs == rhs);
+
-
-
-
1521 return ++(*this), orig;
-
+
+
+
+
+
-
-
1531 return handle == other.handle;
-
-
-
-
1541 return !(*
this == other);
-
-
-
-
1549 return get_fn(
handle .ref());
-
-
-
1556 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
1557 return static_cast< bool > (
handle );
-
+
1524 template <
typename ... Args>
+
+
1526 return type().
invoke (
id , *
this , std::forward<Args>(args)...);
+
+
+
+
1530 template <
typename Type>
+
+
1532 return type().set(
id , *
this , std::forward<Type>(value));
+
+
+
+
+
1537 return type().
get (
id , *
this );
+
+
+
+
+
1542 return node->parent;
+
+
+
+
+
1547 return node->type();
+
+
+
+
+
1552 return node->parent;
+
+
+
+
+
1557 return node->type();
+
-
-
-
-
-
+
+
+
1562 return node->parent;
+
+
-
-
1567 template <
typename Type>
-
1568 struct meta_sequence_container::meta_sequence_container_proxy {
-
+
+
1567 return index <
size () ? node->arg(index) :
nullptr ;
+
+
-
-
1572 return internal::meta_info<typename traits_type::value_type>::resolve();
-
+
+
1572 return node->parent;
+
-
1575 [[nodiscard]]
static size_type size (
const void *container) ENTT_NOEXCEPT {
-
1576 return traits_type::size(*
static_cast< const Type *
> (container));
-
-
-
-
1580 return traits_type::resize(*
static_cast< Type *
> (container), sz);
-
-
-
1583 [[nodiscard]]
static bool clear (
void *container) {
-
1584 return traits_type::clear(*
static_cast< Type *
> (container));
-
-
-
-
1588 return iterator {traits_type::begin(*
static_cast< Type *
> (container))};
-
+
+
+
1577 return node->type();
+
+
+
+
+
1582 return node->parent;
+
+
+
+
+
+
+
-
1591 [[nodiscard]]
static iterator end (
void *container) {
-
1592 return iterator {traits_type::end(*
static_cast< Type *
> (container))};
-
+
+
1592 return index <
size () ? node->arg(index) :
nullptr ;
+
-
1595 [[nodiscard]]
static std::pair<iterator, bool>
insert (
void *container,
iterator it, meta_any value) {
-
1596 if (
const auto *v_ptr = value.try_cast<
typename traits_type::value_type>(); v_ptr || value.convert<
typename traits_type::value_type>()) {
-
1597 auto ret = traits_type::insert(*
static_cast< Type *
> (container), it.handle.cast<
typename traits_type::iterator>(), v_ptr ? *v_ptr : value.cast<
typename traits_type::value_type>());
-
1598 return {
iterator {std::move(ret.first)}, ret.second};
-
+
+
+
-
-
-
-
1604 [[nodiscard]]
static std::pair<iterator, bool>
erase (
void *container,
iterator it) {
-
1605 auto ret = traits_type::erase(*
static_cast< Type *
> (container), it.handle.cast<
typename traits_type::iterator>());
-
1606 return {
iterator {std::move(ret.first)}, ret.second};
-
-
-
1609 [[nodiscard]]
static meta_any
get (
void *container,
size_type pos) {
-
1610 return std::ref(traits_type::get(*
static_cast< Type *
> (container), pos));
-
-
-
+
1601 template <
typename It>
+
+
+
+
+
1606 template <
typename It>
+
+
1608 if constexpr(std::is_const_v<std::remove_reference_t<decltype(*std::declval<It>())>>) {
+
1609 return *any.
cast <It>();
+
+
1611 return std::ref(*any.
cast <It>());
+
+
-
-
1620 return value_type_fn();
-
-
-
-
-
1629 return size_fn(instance);
-
-
-
-
-
1639 return resize_fn(instance, sz);
-
+
+
+
+
+
+
+
+
+
+
1635 template<typename It>
+
+
1637 : next_fn{&incr<It>},
+
+
+
-
-
-
1648 return clear_fn(instance);
-
-
-
-
-
1657 return begin_fn(instance);
-
-
-
-
-
1668 return end_fn(instance);
-
-
-
-
-
1680 return insert_fn(instance, it, value.
ref ());
-
-
-
-
-
1692 return erase_fn(instance, it);
-
+
+
1644 return next_fn(
handle .ref()), *
this ;
+
+
+
+
+
1650 return ++(*this), orig;
+
+
+
+
1660 return handle == other.handle;
+
+
+
+
1670 return !(*
this == other);
+
+
+
+
1678 return get_fn(
handle .ref());
+
+
+
1685 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
1686 return static_cast< bool > (
handle );
+
+
+
+
+
+
+
-
-
1703 return get_fn(instance, pos);
-
-
-
-
1711 [[nodiscard]]
inline meta_sequence_container::operator bool() const ENTT_NOEXCEPT {
-
1712 return (instance !=
nullptr );
-
-
+
1696 template <
typename Type>
+
1697 struct meta_sequence_container::meta_sequence_container_proxy {
+
+
+
+
1701 return internal::meta_info<typename traits_type::value_type>::resolve();
+
+
+
1704 [[nodiscard]]
static size_type size (
const void *container) ENTT_NOEXCEPT {
+
1705 return traits_type::size(*
static_cast< const Type *
> (container));
+
+
+
+
1709 return traits_type::resize(*
static_cast< Type *
> (container), sz);
+
+
+
1712 [[nodiscard]]
static bool clear (
void *container) {
+
1713 return traits_type::clear(*
static_cast< Type *
> (container));
+
-
-
1718 template <
typename It>
-
-
-
-
-
1723 template <
bool KeyOnly,
typename It>
-
-
1725 if constexpr(KeyOnly) {
-
1726 return *any.
cast <It>();
-
-
1728 return any.
cast <It>()->first;
-
-
-
-
1732 template <
bool KeyOnly,
typename It>
-
-
1734 if constexpr(KeyOnly) {
-
-
-
1737 return std::ref(any.cast<It>()->second);
-
-
-
-
-
-
-
-
-
+
+
1717 return iterator {traits_type::begin(*
static_cast< Type *
> (container))};
+
+
+
1720 [[nodiscard]]
static iterator end (
void *container) {
+
1721 return iterator {traits_type::end(*
static_cast< Type *
> (container))};
+
+
+
1724 [[nodiscard]]
static std::pair<iterator, bool>
insert (
void *container,
iterator it, meta_any value) {
+
1725 if (
const auto *v_ptr = value.try_cast<
typename traits_type::value_type>(); v_ptr || value.convert<
typename traits_type::value_type>()) {
+
1726 auto ret = traits_type::insert(*
static_cast< Type *
> (container), it.handle.cast<
typename traits_type::iterator>(), v_ptr ? *v_ptr : value.cast<
typename traits_type::value_type>());
+
1727 return {
iterator {std::move(ret.first)}, ret.second};
+
+
+
+
+
+
1733 [[nodiscard]]
static std::pair<iterator, bool>
erase (
void *container,
iterator it) {
+
1734 auto ret = traits_type::erase(*
static_cast< Type *
> (container), it.handle.cast<
typename traits_type::iterator>());
+
1735 return {
iterator {std::move(ret.first)}, ret.second};
+
+
+
1738 [[nodiscard]]
static meta_any
get (
void *container,
size_type pos) {
+
1739 return std::ref(traits_type::get(*
static_cast< Type *
> (container), pos));
+
+
+
+
+
+
1749 return value_type_fn();
+
+
-
-
-
1763 template<
bool KeyOnly, typename It>
-
-
1765 : next_fn{&incr<It>},
-
1766 key_fn{&key<KeyOnly, It>},
-
1767 value_fn{&value<KeyOnly, It>},
-
-
+
+
1758 return size_fn(instance);
+
+
+
+
+
1768 return resize_fn(instance, sz);
+
-
-
1773 return next_fn(
handle .ref()), *
this ;
-
-
-
-
-
1779 return ++(*this), orig;
-
-
-
-
1789 return handle == other.handle;
-
-
-
-
1799 return !(*
this == other);
-
-
-
-
1807 return { key_fn(
handle .ref()), value_fn(
handle .ref()) };
-
-
-
1814 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
-
1815 return static_cast< bool > (
handle );
-
-
-
-
-
-
-
-
+
+
+
1777 return clear_fn(instance);
+
+
+
+
+
1786 return begin_fn(instance);
+
+
+
+
+
1797 return end_fn(instance);
+
+
+
+
+
1809 return insert_fn(instance, it, value.
ref ());
+
+
+
+
+
1821 return erase_fn(instance, it);
+
+
-
-
1826 template <
typename Type>
-
1827 struct meta_associative_container::meta_associative_container_proxy {
-
-
-
1830 [[nodiscard]]
static meta_type key_type() ENTT_NOEXCEPT {
-
1831 return internal::meta_info<typename traits_type::key_type>::resolve();
-
-
-
1834 [[nodiscard]]
static meta_type mapped_type() ENTT_NOEXCEPT {
-
1835 if constexpr(is_key_only_meta_associative_container_v<Type>) {
-
-
-
1838 return internal::meta_info<typename traits_type::mapped_type>::resolve();
-
-
-
-
1842 [[nodiscard]]
static meta_type
value_type () ENTT_NOEXCEPT {
-
1843 return internal::meta_info<typename traits_type::value_type>::resolve();
-
-
-
1846 [[nodiscard]]
static size_type size (
const void *container) ENTT_NOEXCEPT {
-
1847 return traits_type::size(*
static_cast< const Type *
> (container));
-
-
-
1850 [[nodiscard]]
static bool clear (
void *container) {
-
1851 return traits_type::clear(*
static_cast< Type *
> (container));
-
-
-
-
1855 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::begin(*
static_cast< Type *
> (container))};
-
-
-
1858 [[nodiscard]]
static iterator end (
void *container) {
-
1859 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::end(*
static_cast< Type *
> (container))};
-
-
-
1862 [[nodiscard]]
static bool insert (
void *container, meta_any key, meta_any value) {
-
1863 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
-
1864 if constexpr(is_key_only_meta_associative_container_v<Type>) {
-
1865 return traits_type::insert(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>());
-
-
1867 if (
auto *m_ptr = value.try_cast<
typename traits_type::mapped_type>(); m_ptr || value.convert<
typename traits_type::mapped_type>()) {
-
1868 return traits_type::insert(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>(), m_ptr ? *m_ptr : value.cast<
typename traits_type::mapped_type>());
-
-
-
-
-
-
-
-
1876 [[nodiscard]]
static bool erase (
void *container, meta_any key) {
-
1877 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
-
1878 return traits_type::erase(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>());
-
-
-
-
-
-
1884 [[nodiscard]]
static iterator find(
void *container, meta_any key) {
-
1885 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
-
1886 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::find(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>())};
-
-
-
-
-
-
-
-
-
1900 return key_only_container;
-
-
-
-
-
1909 return key_type_fn();
-
-
-
-
-
1918 return mapped_type_fn();
-
+
+
1832 return get_fn(instance, pos);
+
+
+
+
1840 [[nodiscard]]
inline meta_sequence_container::operator bool() const ENTT_NOEXCEPT {
+
1841 return (instance !=
nullptr );
+
+
+
+
+
1847 template <
typename It>
+
+
+
+
+
1852 template <
bool KeyOnly,
typename It>
+
+
1854 if constexpr(KeyOnly) {
+
1855 return *any.
cast <It>();
+
+
1857 return any.
cast <It>()->first;
+
+
+
+
1861 template <
bool KeyOnly,
typename It>
+
+
1863 if constexpr(KeyOnly) {
+
+
+
1866 return std::ref(any.cast<It>()->second);
+
+
+
+
+
+
+
+
+
+
+
+
+
1892 template<
bool KeyOnly, typename It>
+
+
1894 : next_fn{&incr<It>},
+
1895 key_fn{&key<KeyOnly, It>},
+
1896 value_fn{&value<KeyOnly, It>},
+
+
+
+
+
1902 return next_fn(
handle .ref()), *
this ;
+
+
+
+
+
1908 return ++(*this), orig;
+
+
+
+
1918 return handle == other.handle;
+
-
-
-
1924 return value_type_fn();
-
-
-
-
-
1930 return size_fn(instance);
-
-
-
-
-
1936 return clear_fn(instance);
-
+
+
1928 return !(*
this == other);
+
+
+
+
1936 return { key_fn(
handle .ref()), value_fn(
handle .ref()) };
+
-
-
-
1942 return begin_fn(instance);
-
-
-
-
-
1948 return end_fn(instance);
-
-
-
-
-
1959 return insert_fn(instance, key.
ref (), value.
ref ());
-
-
+
1943 [[nodiscard]]
explicit operator bool() const ENTT_NOEXCEPT {
+
1944 return static_cast< bool > (
handle );
+
+
+
+
+
+
+
+
+
+
+
1955 template <
typename Type>
+
1956 struct meta_associative_container::meta_associative_container_proxy {
+
+
+
1959 [[nodiscard]]
static meta_type key_type() ENTT_NOEXCEPT {
+
1960 return internal::meta_info<typename traits_type::key_type>::resolve();
+
-
-
1969 return erase_fn(instance, key.
ref ());
-
-
-
-
-
1980 return find_fn(instance, key.
ref ());
-
+
1963 [[nodiscard]]
static meta_type mapped_type() ENTT_NOEXCEPT {
+
1964 if constexpr(is_key_only_meta_associative_container_v<Type>) {
+
+
+
1967 return internal::meta_info<typename traits_type::mapped_type>::resolve();
+
+
+
+
1971 [[nodiscard]]
static meta_type
value_type () ENTT_NOEXCEPT {
+
1972 return internal::meta_info<typename traits_type::value_type>::resolve();
+
+
+
1975 [[nodiscard]]
static size_type size (
const void *container) ENTT_NOEXCEPT {
+
1976 return traits_type::size(*
static_cast< const Type *
> (container));
+
+
+
1979 [[nodiscard]]
static bool clear (
void *container) {
+
1980 return traits_type::clear(*
static_cast< Type *
> (container));
+
-
-
1988 [[nodiscard]]
inline meta_associative_container::operator bool() const ENTT_NOEXCEPT {
-
1989 return (instance !=
nullptr );
-
-
-
-
-
-
-
+
+
1984 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::begin(*
static_cast< Type *
> (container))};
+
+
+
1987 [[nodiscard]]
static iterator end (
void *container) {
+
1988 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::end(*
static_cast< Type *
> (container))};
+
+
+
1991 [[nodiscard]]
static bool insert (
void *container, meta_any key, meta_any value) {
+
1992 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
+
1993 if constexpr(is_key_only_meta_associative_container_v<Type>) {
+
1994 return traits_type::insert(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>());
+
+
1996 if (
auto *m_ptr = value.try_cast<
typename traits_type::mapped_type>(); m_ptr || value.convert<
typename traits_type::mapped_type>()) {
+
1997 return traits_type::insert(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>(), m_ptr ? *m_ptr : value.cast<
typename traits_type::mapped_type>());
+
+
+
+
+
+
+
+
2005 [[nodiscard]]
static bool erase (
void *container, meta_any key) {
+
2006 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
+
2007 return traits_type::erase(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>());
+
+
+
+
+
+
2013 [[nodiscard]]
static iterator find(
void *container, meta_any key) {
+
2014 if (
const auto *k_ptr = key.try_cast<
typename traits_type::key_type>(); k_ptr || key.convert<
typename traits_type::key_type>()) {
+
2015 return iterator {is_key_only_meta_associative_container<Type>{}, traits_type::find(*
static_cast< Type *
> (container), k_ptr ? *k_ptr : key.cast<
typename traits_type::key_type>())};
+
+
+
+
+
+
+
+
+
2029 return key_only_container;
+
+
+
+
+
2038 return key_type_fn();
+
+
+
+
+
2047 return mapped_type_fn();
+
+
+
+
+
2053 return value_type_fn();
+
+
+
+
+
2059 return size_fn(instance);
+
+
+
+
+
2065 return clear_fn(instance);
+
+
+
+
+
2071 return begin_fn(instance);
+
+
+
+
+
2077 return end_fn(instance);
+
+
+
+
+
2088 return insert_fn(instance, key.
ref (), value.
ref ());
+
+
+
+
+
2098 return erase_fn(instance, key.
ref ());
+
+
+
+
+
2109 return find_fn(instance, key.
ref ());
+
+
+
+
2117 [[nodiscard]]
inline meta_associative_container::operator bool() const ENTT_NOEXCEPT {
+
2118 return (instance !=
nullptr );
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
constexpr get_t< Type... > get
Variable template for lists of observed components.
Non-owning handle to an entity.
-
-
-
-
-
+
+
+
+
+
basic_handle< entity > handle
Alias declaration for the most common use case.
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
std::uint32_t id_type
Alias declaration for type identifiers.
-
+
std::integral_constant< decltype(Value), Value > integral_constant
Wraps a static constant.
-
-
+
+
-
-
-
-
+
+
+
+
+
+
const entity_type * data() const noexcept
Direct access to the internal packed array.
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
Basic implementation of a y-combinator.
Basic storage implementation.
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
void invoke(basic_registry< Entity > ®, const Entity entt)
Helper to create a listener that directly invokes a member function.
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
constexpr bool operator!=(const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) noexcept
Compares two hashed strings.
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns False if the two meta objects refer to the same node, true otherwise.
-Definition at line 1402 of file meta.hpp .
+Definition at line 1514 of file meta.hpp .
diff --git a/namespacemembers.html b/namespacemembers.html
index 93e5297ad..dab482080 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/namespacemembers_enum.html b/namespacemembers_enum.html
index e199be62d..aedfca844 100644
--- a/namespacemembers_enum.html
+++ b/namespacemembers_enum.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/namespacemembers_func.html b/namespacemembers_func.html
index fd50ed71b..fb992b833 100644
--- a/namespacemembers_func.html
+++ b/namespacemembers_func.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/namespacemembers_type.html b/namespacemembers_type.html
index a57445856..55a3a8507 100644
--- a/namespacemembers_type.html
+++ b/namespacemembers_type.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html
index bd7092448..3564a6acf 100644
--- a/namespacemembers_vars.html
+++ b/namespacemembers_vars.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/namespaces.html b/namespaces.html
index 9fefb26ce..85ebb2000 100644
--- a/namespaces.html
+++ b/namespaces.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/observer_8hpp_source.html b/observer_8hpp_source.html
index 75a722baa..553b1e8ee 100644
--- a/observer_8hpp_source.html
+++ b/observer_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/pages.html b/pages.html
index fe783815f..0b2e461eb 100644
--- a/pages.html
+++ b/pages.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/pointer_8hpp_source.html b/pointer_8hpp_source.html
index 5a12322d8..ab9abf733 100644
--- a/pointer_8hpp_source.html
+++ b/pointer_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/policy_8hpp_source.html b/policy_8hpp_source.html
index 6e5cef76d..4620d9d30 100644
--- a/policy_8hpp_source.html
+++ b/policy_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/pool_8hpp_source.html b/pool_8hpp_source.html
index ac4d7ca1d..015a23162 100644
--- a/pool_8hpp_source.html
+++ b/pool_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/process_8hpp_source.html b/process_8hpp_source.html
index 5f2011d21..c5f90bbce 100644
--- a/process_8hpp_source.html
+++ b/process_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/range_8hpp_source.html b/range_8hpp_source.html
index 4e354ffef..2b95162e0 100644
--- a/range_8hpp_source.html
+++ b/range_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/registry_8hpp_source.html b/registry_8hpp_source.html
index 73063b512..cf1ffc18b 100644
--- a/registry_8hpp_source.html
+++ b/registry_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/resolve_8hpp_source.html b/resolve_8hpp_source.html
index 9e400ff0d..d44811ffa 100644
--- a/resolve_8hpp_source.html
+++ b/resolve_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -116,7 +116,7 @@ $(function() {
meta_type resolve_id(const id_type id) noexcept
Returns the meta type associated with a given identifier, if any.
meta_type resolve() noexcept
Returns the meta type associated with a given type.
-
+
Returns True if the meta object is valid, false otherwise.
-Definition at line 612 of file meta.hpp .
+Definition at line 650 of file meta.hpp .
@@ -240,7 +240,7 @@ Public Member Functions
Returns the meta type to which a meta object belongs.
Returns The meta type to which the meta object belongs.
-Definition at line 1412 of file meta.hpp .
+Definition at line 1541 of file meta.hpp .
@@ -270,7 +270,7 @@ Public Member Functions
Returns the meta type of the underlying object.
Returns The meta type of the underlying object, if any.
-Definition at line 1417 of file meta.hpp .
+Definition at line 1546 of file meta.hpp .
diff --git a/structentt_1_1meta__conv-members.html b/structentt_1_1meta__conv-members.html
index cc09a740b..091aefe8e 100644
--- a/structentt_1_1meta__conv-members.html
+++ b/structentt_1_1meta__conv-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__conv.html b/structentt_1_1meta__conv.html
index 19a5f4025..6fbe86e41 100644
--- a/structentt_1_1meta__conv.html
+++ b/structentt_1_1meta__conv.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -108,7 +108,7 @@ Public Member Functions
Opaque wrapper for meta conversion functions.
-
Definition at line 622 of file meta.hpp .
+
Definition at line 660 of file meta.hpp .
◆ meta_conv()
@@ -142,7 +142,7 @@ Public Member Functions
-Definition at line 627 of file meta.hpp .
+Definition at line 665 of file meta.hpp .
@@ -180,7 +180,7 @@ Public Member Functions
Returns An opaque pointer to the instance to convert.
-Definition at line 642 of file meta.hpp .
+Definition at line 680 of file meta.hpp .
@@ -210,7 +210,7 @@ Public Member Functions
Returns true if a meta object is valid, false otherwise.
Returns True if the meta object is valid, false otherwise.
-Definition at line 650 of file meta.hpp .
+Definition at line 688 of file meta.hpp .
@@ -240,7 +240,7 @@ Public Member Functions
Returns the meta type to which a meta object belongs.
Returns The meta type to which the meta object belongs.
-Definition at line 1422 of file meta.hpp .
+Definition at line 1551 of file meta.hpp .
@@ -270,7 +270,7 @@ Public Member Functions
Returns the meta type of the underlying object.
Returns The meta type of the underlying object, if any.
-Definition at line 1427 of file meta.hpp .
+Definition at line 1556 of file meta.hpp .
diff --git a/structentt_1_1meta__ctor-members.html b/structentt_1_1meta__ctor-members.html
index 1057ea27f..8f14ebf51 100644
--- a/structentt_1_1meta__ctor-members.html
+++ b/structentt_1_1meta__ctor-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__ctor.html b/structentt_1_1meta__ctor.html
index 087d69e5a..69430f30b 100644
--- a/structentt_1_1meta__ctor.html
+++ b/structentt_1_1meta__ctor.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -125,7 +125,7 @@ Public Member Functions
Opaque wrapper for meta constructors.
-
Definition at line 660 of file meta.hpp .
+
Definition at line 698 of file meta.hpp .
◆ meta_ctor()
@@ -159,7 +159,7 @@ Public Member Functions
-Definition at line 667 of file meta.hpp .
+Definition at line 705 of file meta.hpp .
@@ -197,7 +197,7 @@ Public Member Functions
Returns The meta type of the i-th argument of a meta constructor, if any.
-Definition at line 1437 of file meta.hpp .
+Definition at line 1566 of file meta.hpp .
@@ -243,7 +243,7 @@ template<typename... Args>
Returns A meta any containing the new instance, if any.
-Definition at line 714 of file meta.hpp .
+Definition at line 752 of file meta.hpp .
@@ -292,7 +292,7 @@ template<typename... Args>
Returns A meta any containing the new instance, if any.
-Definition at line 700 of file meta.hpp .
+Definition at line 738 of file meta.hpp .
@@ -322,7 +322,7 @@ template<typename... Args>
Returns true if a meta object is valid, false otherwise.
Returns True if the meta object is valid, false otherwise.
-Definition at line 741 of file meta.hpp .
+Definition at line 779 of file meta.hpp .
@@ -352,7 +352,7 @@ template<typename... Args>
Returns the meta type to which a meta object belongs.
Returns The meta type to which the meta object belongs.
-Definition at line 1432 of file meta.hpp .
+Definition at line 1561 of file meta.hpp .
@@ -382,7 +382,7 @@ template<typename... Args>
Returns a range to use to visit all meta properties.
Returns An iterable range to use to visit all meta properties.
-Definition at line 723 of file meta.hpp .
+Definition at line 761 of file meta.hpp .
@@ -419,7 +419,7 @@ template<typename... Args>
Returns The property associated with the given key, if any.
-Definition at line 732 of file meta.hpp .
+Definition at line 770 of file meta.hpp .
@@ -449,7 +449,7 @@ template<typename... Args>
Returns the number of arguments accepted by a meta constructor.
Returns The number of arguments accepted by the meta constructor.
-Definition at line 678 of file meta.hpp .
+Definition at line 716 of file meta.hpp .
diff --git a/structentt_1_1meta__ctx-members.html b/structentt_1_1meta__ctx-members.html
index 464be7842..cc435e8ea 100644
--- a/structentt_1_1meta__ctx-members.html
+++ b/structentt_1_1meta__ctx-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__ctx.html b/structentt_1_1meta__ctx.html
index e4a489469..b80bca3c2 100644
--- a/structentt_1_1meta__ctx.html
+++ b/structentt_1_1meta__ctx.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__data-members.html b/structentt_1_1meta__data-members.html
index da9d0ee46..fbf14bcc5 100644
--- a/structentt_1_1meta__data-members.html
+++ b/structentt_1_1meta__data-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__data.html b/structentt_1_1meta__data.html
index 984737f9a..a6d3dbd92 100644
--- a/structentt_1_1meta__data.html
+++ b/structentt_1_1meta__data.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -127,7 +127,7 @@ Public Member Functions
Opaque wrapper for meta data.
-
Definition at line 751 of file meta.hpp .
+
Definition at line 789 of file meta.hpp .
◆ meta_data()
@@ -161,7 +161,7 @@ Public Member Functions
-Definition at line 756 of file meta.hpp .
+Definition at line 794 of file meta.hpp .
@@ -200,7 +200,7 @@ Public Member Functions
Returns A meta any containing the value of the underlying variable.
-Definition at line 815 of file meta.hpp .
+Definition at line 853 of file meta.hpp .
@@ -230,7 +230,7 @@ Public Member Functions
Returns the identifier assigned to a meta object.
Returns The identifier assigned to the meta object.
-Definition at line 761 of file meta.hpp .
+Definition at line 799 of file meta.hpp .
@@ -260,7 +260,7 @@ Public Member Functions
Indicates whether a meta data is constant or not.
Returns True if the meta data is constant, false otherwise.
-Definition at line 772 of file meta.hpp .
+Definition at line 810 of file meta.hpp .
@@ -290,7 +290,7 @@ Public Member Functions
Indicates whether a meta data is static or not.
Returns True if the meta data is static, false otherwise.
-Definition at line 780 of file meta.hpp .
+Definition at line 818 of file meta.hpp .
@@ -320,7 +320,7 @@ Public Member Functions
Returns true if a meta object is valid, false otherwise.
Returns True if the meta object is valid, false otherwise.
-Definition at line 838 of file meta.hpp .
+Definition at line 876 of file meta.hpp .
@@ -350,7 +350,7 @@ Public Member Functions
Returns the meta type to which a meta object belongs.
Returns The meta type to which the meta object belongs.
-Definition at line 1442 of file meta.hpp .
+Definition at line 1571 of file meta.hpp .
@@ -380,7 +380,7 @@ Public Member Functions
Returns a range to use to visit all meta properties.
Returns An iterable range to use to visit all meta properties.
-Definition at line 820 of file meta.hpp .
+Definition at line 858 of file meta.hpp .
@@ -417,7 +417,7 @@ Public Member Functions
Returns The property associated with the given key, if any.
-Definition at line 829 of file meta.hpp .
+Definition at line 867 of file meta.hpp .
@@ -475,7 +475,7 @@ template<typename Type >
Returns True in case of success, false otherwise.
-Definition at line 802 of file meta.hpp .
+Definition at line 840 of file meta.hpp .
@@ -505,7 +505,7 @@ template<typename Type >
Returns the meta type of the underlying object.
Returns The meta type of the underlying object, if any.
-Definition at line 1447 of file meta.hpp .
+Definition at line 1576 of file meta.hpp .
diff --git a/structentt_1_1meta__func-members.html b/structentt_1_1meta__func-members.html
index cf4c253fa..8cc14f828 100644
--- a/structentt_1_1meta__func-members.html
+++ b/structentt_1_1meta__func-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__func.html b/structentt_1_1meta__func.html
index a50abf986..94dfadd70 100644
--- a/structentt_1_1meta__func.html
+++ b/structentt_1_1meta__func.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -137,7 +137,7 @@ Public Member Functions
Opaque wrapper for meta functions.
-
Definition at line 848 of file meta.hpp .
+
Definition at line 886 of file meta.hpp .
◆ meta_func()
@@ -171,7 +171,7 @@ Public Member Functions
-Definition at line 855 of file meta.hpp .
+Definition at line 893 of file meta.hpp .
@@ -209,7 +209,7 @@ Public Member Functions
Returns The meta type of the i-th argument of a meta function, if any.
-Definition at line 1462 of file meta.hpp .
+Definition at line 1591 of file meta.hpp .
@@ -239,7 +239,7 @@ Public Member Functions
Returns the identifier assigned to a meta object.
Returns The identifier assigned to the meta object.
-Definition at line 860 of file meta.hpp .
+Definition at line 898 of file meta.hpp .
@@ -296,7 +296,7 @@ template<typename... Args>
Returns A meta any containing the new instance, if any.
-Definition at line 934 of file meta.hpp .
+Definition at line 972 of file meta.hpp .
@@ -353,7 +353,7 @@ template<typename... Args>
Returns A meta any containing the returned value, if any.
-Definition at line 919 of file meta.hpp .
+Definition at line 957 of file meta.hpp .
@@ -383,7 +383,7 @@ template<typename... Args>
Indicates whether a meta function is constant or not.
Returns True if the meta function is constant, false otherwise.
-Definition at line 879 of file meta.hpp .
+Definition at line 917 of file meta.hpp .
@@ -413,7 +413,7 @@ template<typename... Args>
Indicates whether a meta function is static or not.
Returns True if the meta function is static, false otherwise.
-Definition at line 887 of file meta.hpp .
+Definition at line 925 of file meta.hpp .
@@ -443,7 +443,7 @@ template<typename... Args>
Returns true if a meta object is valid, false otherwise.
Returns True if the meta object is valid, false otherwise.
-Definition at line 958 of file meta.hpp .
+Definition at line 996 of file meta.hpp .
@@ -473,7 +473,7 @@ template<typename... Args>
Returns the meta type to which a meta object belongs.
Returns The meta type to which the meta object belongs.
-Definition at line 1452 of file meta.hpp .
+Definition at line 1581 of file meta.hpp .
@@ -503,7 +503,7 @@ template<typename... Args>
Returns a range to use to visit all meta properties.
Returns An iterable range to use to visit all meta properties.
-Definition at line 940 of file meta.hpp .
+Definition at line 978 of file meta.hpp .
@@ -540,7 +540,7 @@ template<typename... Args>
Returns The property associated with the given key, if any.
-Definition at line 949 of file meta.hpp .
+Definition at line 987 of file meta.hpp .
@@ -570,7 +570,7 @@ template<typename... Args>
Returns the meta type of the return type of a meta function.
Returns The meta type of the return type of the meta function.
-Definition at line 1457 of file meta.hpp .
+Definition at line 1586 of file meta.hpp .
@@ -600,7 +600,7 @@ template<typename... Args>
Returns the number of arguments accepted by a meta function.
Returns The number of arguments accepted by the meta function.
-Definition at line 871 of file meta.hpp .
+Definition at line 909 of file meta.hpp .
diff --git a/structentt_1_1meta__handle-members.html b/structentt_1_1meta__handle-members.html
index 0a19dc536..dd05d5a66 100644
--- a/structentt_1_1meta__handle-members.html
+++ b/structentt_1_1meta__handle-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__handle.html b/structentt_1_1meta__handle.html
index 3fb09f101..e4c8c8d7a 100644
--- a/structentt_1_1meta__handle.html
+++ b/structentt_1_1meta__handle.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -101,7 +101,7 @@ Public Member Functions
A handle doesn't perform copies and isn't responsible for the contained object. It doesn't prolong the lifetime of the pointed instance.
Handles are used to generate meta references to actual objects when needed.
-Definition at line 496 of file meta.hpp .
+Definition at line 534 of file meta.hpp .
◆ meta_handle()
@@ -143,7 +143,7 @@ template<typename Type , typename = std::enable_if_t<!std::is_same_v<s
-Definition at line 506 of file meta.hpp .
+Definition at line 544 of file meta.hpp .
@@ -174,7 +174,7 @@ template<typename Type , typename = std::enable_if_t<!std::is_same_v<s
Dereference operator for accessing the contained opaque object.
Returns A meta any that shares a reference to an unmanaged object.
-Definition at line 521 of file meta.hpp .
+Definition at line 559 of file meta.hpp .
@@ -204,7 +204,7 @@ template<typename Type , typename = std::enable_if_t<!std::is_same_v<s
Access operator for accessing the contained opaque object.
Returns A meta any that shares a reference to an unmanaged object.
-Definition at line 529 of file meta.hpp .
+Definition at line 567 of file meta.hpp .
diff --git a/structentt_1_1meta__prop-members.html b/structentt_1_1meta__prop-members.html
index a53fea1b5..01b9e1f1d 100644
--- a/structentt_1_1meta__prop-members.html
+++ b/structentt_1_1meta__prop-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__prop.html b/structentt_1_1meta__prop.html
index 952bfacbe..9b4674773 100644
--- a/structentt_1_1meta__prop.html
+++ b/structentt_1_1meta__prop.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -105,7 +105,7 @@ Public Member Functions
Opaque wrapper for meta properties of any type.
-
Definition at line 539 of file meta.hpp .
+
Definition at line 577 of file meta.hpp .
◆ meta_prop()
@@ -139,7 +139,7 @@ Public Member Functions
-Definition at line 547 of file meta.hpp .
+Definition at line 585 of file meta.hpp .
@@ -170,7 +170,7 @@ Public Member Functions
Returns the stored key.
Returns A meta any containing the key stored with the property.
-Definition at line 555 of file meta.hpp .
+Definition at line 593 of file meta.hpp .
@@ -200,7 +200,7 @@ Public Member Functions
Returns true if a meta object is valid, false otherwise.
Returns True if the meta object is valid, false otherwise.
-Definition at line 571 of file meta.hpp .
+Definition at line 609 of file meta.hpp .
@@ -230,7 +230,7 @@ Public Member Functions
Returns the stored value.
Returns A meta any containing the value stored with the property.
-Definition at line 563 of file meta.hpp .
+Definition at line 601 of file meta.hpp .
diff --git a/structentt_1_1meta__sequence__container__traits.html b/structentt_1_1meta__sequence__container__traits.html
index 7bf5ba1cf..81086b5f8 100644
--- a/structentt_1_1meta__sequence__container__traits.html
+++ b/structentt_1_1meta__sequence__container__traits.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4-members.html b/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4-members.html
index 4a2e26bbd..755cc8a5f 100644
--- a/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4-members.html
+++ b/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4.html b/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4.html
index 1fe4fb801..32a378fbe 100644
--- a/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4.html
+++ b/structentt_1_1meta__sequence__container__traits_3_01std_1_1array_3_01Type_00_01N_01_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4-members.html b/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4-members.html
index babf96cd0..3456bce44 100644
--- a/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4-members.html
+++ b/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4.html b/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4.html
index d71adbabc..e76db9eac 100644
--- a/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4.html
+++ b/structentt_1_1meta__sequence__container__traits_3_01std_1_1vector_3_01Type_00_01Args_8_8_8_01_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1monostate-members.html b/structentt_1_1monostate-members.html
index bc0fa6c18..77ec7984a 100644
--- a/structentt_1_1monostate-members.html
+++ b/structentt_1_1monostate-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1monostate.html b/structentt_1_1monostate.html
index e235ba1d2..a6d643390 100644
--- a/structentt_1_1monostate.html
+++ b/structentt_1_1monostate.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1null__t-members.html b/structentt_1_1null__t-members.html
index 88d19db17..7e76d9e59 100644
--- a/structentt_1_1null__t-members.html
+++ b/structentt_1_1null__t-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1null__t.html b/structentt_1_1null__t.html
index 3b70ec363..fbe9ff892 100644
--- a/structentt_1_1null__t.html
+++ b/structentt_1_1null__t.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1overloaded.html b/structentt_1_1overloaded.html
index 3ef78c9c4..ebaa0ffa6 100644
--- a/structentt_1_1overloaded.html
+++ b/structentt_1_1overloaded.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1pool-members.html b/structentt_1_1pool-members.html
index 8b6dc1eff..0804d0687 100644
--- a/structentt_1_1pool-members.html
+++ b/structentt_1_1pool-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1pool.html b/structentt_1_1pool.html
index daecca5b2..35c739e51 100644
--- a/structentt_1_1pool.html
+++ b/structentt_1_1pool.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4-members.html b/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4-members.html
index a22f8c6ac..dc5068b81 100644
--- a/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4-members.html
+++ b/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4.html b/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4.html
index e7bc7b163..319bc76da 100644
--- a/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4.html
+++ b/structentt_1_1pool_3_01Entity_00_01const_01Type_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1process__adaptor-members.html b/structentt_1_1process__adaptor-members.html
index 9f18144d4..1b4d4143a 100644
--- a/structentt_1_1process__adaptor-members.html
+++ b/structentt_1_1process__adaptor-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1process__adaptor.html b/structentt_1_1process__adaptor.html
index 76456ad37..39026d092 100644
--- a/structentt_1_1process__adaptor.html
+++ b/structentt_1_1process__adaptor.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1radix__sort-members.html b/structentt_1_1radix__sort-members.html
index 1cb2137dc..4f2eb22c0 100644
--- a/structentt_1_1radix__sort-members.html
+++ b/structentt_1_1radix__sort-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1radix__sort.html b/structentt_1_1radix__sort.html
index 0f6871db0..d4889e66f 100644
--- a/structentt_1_1radix__sort.html
+++ b/structentt_1_1radix__sort.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1resource__cache-members.html b/structentt_1_1resource__cache-members.html
index 6311af33a..eb3f53b8f 100644
--- a/structentt_1_1resource__cache-members.html
+++ b/structentt_1_1resource__cache-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1resource__cache.html b/structentt_1_1resource__cache.html
index b48b31c70..10687d449 100644
--- a/structentt_1_1resource__cache.html
+++ b/structentt_1_1resource__cache.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1scoped__connection-members.html b/structentt_1_1scoped__connection-members.html
index eea329a53..2f359f8dc 100644
--- a/structentt_1_1scoped__connection-members.html
+++ b/structentt_1_1scoped__connection-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1scoped__connection.html b/structentt_1_1scoped__connection.html
index ec4ee6634..a0c3dfbaf 100644
--- a/structentt_1_1scoped__connection.html
+++ b/structentt_1_1scoped__connection.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1service__locator-members.html b/structentt_1_1service__locator-members.html
index 00f2bfcd5..f95ba974a 100644
--- a/structentt_1_1service__locator-members.html
+++ b/structentt_1_1service__locator-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1service__locator.html b/structentt_1_1service__locator.html
index 7773b5061..c6891baef 100644
--- a/structentt_1_1service__locator.html
+++ b/structentt_1_1service__locator.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1std__sort-members.html b/structentt_1_1std__sort-members.html
index 8b141f9f9..c1c3edca7 100644
--- a/structentt_1_1std__sort-members.html
+++ b/structentt_1_1std__sort-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1std__sort.html b/structentt_1_1std__sort.html
index dac53993d..92f8d09a4 100644
--- a/structentt_1_1std__sort.html
+++ b/structentt_1_1std__sort.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__hash-members.html b/structentt_1_1type__hash-members.html
new file mode 100644
index 000000000..8ec74f908
--- /dev/null
+++ b/structentt_1_1type__hash-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+EnTT: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for entt::type_hash< Type, typename > , including all inherited members.
+
+
+
+
+
diff --git a/structentt_1_1type__hash.html b/structentt_1_1type__hash.html
new file mode 100644
index 000000000..28dc52f8a
--- /dev/null
+++ b/structentt_1_1type__hash.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+EnTT: entt::type_hash< Type, typename > Struct Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Type hash.
+ More...
+
+
#include <type_info.hpp >
+
+
+static id_type value () noexcept
+ Returns the numeric representation of a given type. More...
+
+
+
+
template<typename Type, typename = void>
+struct entt::type_hash< Type, typename >
+
+
Type hash.
+
Template Parameters
+
+ Type Type for which to generate a hash value.
+
+
+
+
+
Definition at line 76 of file type_info.hpp .
+
+
+
◆ value()
+
+
+
+
+template<typename Type , typename = void>
+
+
+
+
+
+
+inline static noexcept
+
+
+
+
+
Returns the numeric representation of a given type.
+
Returns The numeric representation of the given type.
+
+
Definition at line 92 of file type_info.hpp .
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git a/structentt_1_1type__index-members.html b/structentt_1_1type__index-members.html
index 227282640..59572a433 100644
--- a/structentt_1_1type__index-members.html
+++ b/structentt_1_1type__index-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__index.html b/structentt_1_1type__index.html
index 5463859c2..c2e712629 100644
--- a/structentt_1_1type__index.html
+++ b/structentt_1_1type__index.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__info-members.html b/structentt_1_1type__info-members.html
index f3c3699e9..790862c42 100644
--- a/structentt_1_1type__info-members.html
+++ b/structentt_1_1type__info-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__info.html b/structentt_1_1type__info.html
index 4f5583017..f8277b6ea 100644
--- a/structentt_1_1type__info.html
+++ b/structentt_1_1type__info.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list.html b/structentt_1_1type__list.html
index 8af090224..032ab8409 100644
--- a/structentt_1_1type__list.html
+++ b/structentt_1_1type__list.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat.html b/structentt_1_1type__list__cat.html
index 0ae9b6118..e212fef73 100644
--- a/structentt_1_1type__list__cat.html
+++ b/structentt_1_1type__list__cat.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8_01_4_00_01List_8_8_8_01_4.html b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8_01_4_00_01List_8_8_8_01_4.html
index c84f2d2e2..d99b6dfff 100644
--- a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8_01_4_00_01List_8_8_8_01_4.html
+++ b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8_01_4_00_01List_8_8_8_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8b5f6e6ed6191612d6e0fe24c4ff408dc.html b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8b5f6e6ed6191612d6e0fe24c4ff408dc.html
index f6f910a32..4835b2578 100644
--- a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8b5f6e6ed6191612d6e0fe24c4ff408dc.html
+++ b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_00_01type__list_3_01Other_8_8_8b5f6e6ed6191612d6e0fe24c4ff408dc.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4-members.html b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4-members.html
index b1b5b4514..f4af655ed 100644
--- a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4-members.html
+++ b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4.html b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
index 41ee80d68..fc43644c1 100644
--- a/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
+++ b/structentt_1_1type__list__cat_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_4-members.html b/structentt_1_1type__list__cat_3_4-members.html
index 33dbaf045..251fecd71 100644
--- a/structentt_1_1type__list__cat_3_4-members.html
+++ b/structentt_1_1type__list__cat_3_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__cat_3_4.html b/structentt_1_1type__list__cat_3_4.html
index d794ec89a..23548ad59 100644
--- a/structentt_1_1type__list__cat_3_4.html
+++ b/structentt_1_1type__list__cat_3_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__size.html b/structentt_1_1type__list__size.html
index 6fde6e11f..f56f1fb5d 100644
--- a/structentt_1_1type__list__size.html
+++ b/structentt_1_1type__list__size.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__size_3_01type__list_3_01Type_8_8_8_01_4_01_4.html b/structentt_1_1type__list__size_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
index 8bd752a04..9c99c4784 100644
--- a/structentt_1_1type__list__size_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
+++ b/structentt_1_1type__list__size_3_01type__list_3_01Type_8_8_8_01_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__unique.html b/structentt_1_1type__list__unique.html
index df0a04675..7e8d063a1 100644
--- a/structentt_1_1type__list__unique.html
+++ b/structentt_1_1type__list__unique.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4-members.html b/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4-members.html
index 03b61df99..78541f319 100644
--- a/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4-members.html
+++ b/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4.html b/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4.html
index fc9aaece9..d833dd2c9 100644
--- a/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4.html
+++ b/structentt_1_1type__list__unique_3_01type__list_3_01Type_00_01Other_8_8_8_01_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__unique_3_01type__list_3_4_01_4-members.html b/structentt_1_1type__list__unique_3_01type__list_3_4_01_4-members.html
index d632438d7..029732cae 100644
--- a/structentt_1_1type__list__unique_3_01type__list_3_4_01_4-members.html
+++ b/structentt_1_1type__list__unique_3_01type__list_3_4_01_4-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__list__unique_3_01type__list_3_4_01_4.html b/structentt_1_1type__list__unique_3_01type__list_3_4_01_4.html
index ebde76809..e2511b9ef 100644
--- a/structentt_1_1type__list__unique_3_01type__list_3_4_01_4.html
+++ b/structentt_1_1type__list__unique_3_01type__list_3_4_01_4.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1type__name-members.html b/structentt_1_1type__name-members.html
new file mode 100644
index 000000000..a5811fa26
--- /dev/null
+++ b/structentt_1_1type__name-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+EnTT: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for entt::type_name< Type, typename > , including all inherited members.
+
+
+
+
+
diff --git a/structentt_1_1type__name.html b/structentt_1_1type__name.html
new file mode 100644
index 000000000..f0b10bc09
--- /dev/null
+++ b/structentt_1_1type__name.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+EnTT: entt::type_name< Type, typename > Struct Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Type name.
+ More...
+
+
#include <type_info.hpp >
+
+
+static constexpr std::string_view value () noexcept
+ Returns the name of a given type. More...
+
+
+
+
template<typename Type, typename = void>
+struct entt::type_name< Type, typename >
+
+
Type name.
+
Template Parameters
+
+ Type Type for which to generate a name.
+
+
+
+
+
Definition at line 104 of file type_info.hpp .
+
+
+
◆ value()
+
+
+
+
+template<typename Type , typename = void>
+
+
+
+
+
+ static constexpr std::string_view entt::type_name < Type, typename >::value
+ (
+ )
+
+
+
+
+
+inline static constexpr noexcept
+
+
+
+
+
Returns the name of a given type.
+
Returns The name of the given type.
+
+
Definition at line 120 of file type_info.hpp .
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git a/structentt_1_1type__seq-members.html b/structentt_1_1type__seq-members.html
new file mode 100644
index 000000000..f119b3e34
--- /dev/null
+++ b/structentt_1_1type__seq-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+EnTT: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for entt::type_seq< Type, typename > , including all inherited members.
+
+
+
+
+
diff --git a/structentt_1_1type__seq.html b/structentt_1_1type__seq.html
new file mode 100644
index 000000000..7b374e0ea
--- /dev/null
+++ b/structentt_1_1type__seq.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+EnTT: entt::type_seq< Type, typename > Struct Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnTT
+ 3.6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Type sequential identifier.
+ More...
+
+
#include <type_info.hpp >
+
+
+static id_type value () noexcept
+ Returns the sequential identifier of a given type. More...
+
+
+
+
template<typename Type, typename = void>
+struct entt::type_seq< Type, typename >
+
+
Type sequential identifier.
+
Template Parameters
+
+ Type Type for which to generate a sequential identifier.
+
+
+
+
+
Definition at line 59 of file type_info.hpp .
+
+
+
◆ value()
+
+
+
+
+template<typename Type , typename = void>
+
+
+
+
+
+
+inline static noexcept
+
+
+
+
+
Returns the sequential identifier of a given type.
+
Returns The sequential identifier of a given type.
+
+
Definition at line 64 of file type_info.hpp .
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git a/structentt_1_1y__combinator-members.html b/structentt_1_1y__combinator-members.html
index d89fbd9fe..d02ce10b9 100644
--- a/structentt_1_1y__combinator-members.html
+++ b/structentt_1_1y__combinator-members.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/structentt_1_1y__combinator.html b/structentt_1_1y__combinator.html
index 9611c9a29..34f26797f 100644
--- a/structentt_1_1y__combinator.html
+++ b/structentt_1_1y__combinator.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/type__info_8hpp_source.html b/type__info_8hpp_source.html
index 82160acb5..8bdb4209c 100644
--- a/type__info_8hpp_source.html
+++ b/type__info_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
diff --git a/version_8h_source.html b/version_8h_source.html
index e84602f85..0612041de 100644
--- a/version_8h_source.html
+++ b/version_8h_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2
@@ -76,7 +76,7 @@ $(function() {
5 #define ENTT_VERSION_MAJOR 3
6 #define ENTT_VERSION_MINOR 5
- 7 #define ENTT_VERSION_PATCH 1
+ 7 #define ENTT_VERSION_PATCH 2
diff --git a/view_8hpp_source.html b/view_8hpp_source.html
index 7da7a9ca7..32292cf59 100644
--- a/view_8hpp_source.html
+++ b/view_8hpp_source.html
@@ -22,7 +22,7 @@
EnTT
- 3.5.1
+ 3.5.2