Skip to content

Commit

Permalink
update single include file
Browse files Browse the repository at this point in the history
  • Loading branch information
skypjack committed Apr 10, 2024
1 parent 27efd6f commit 7821307
Showing 1 changed file with 52 additions and 39 deletions.
91 changes: 52 additions & 39 deletions single_include/entt/entt.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -127,7 +127,7 @@

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -169,7 +169,7 @@

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -296,7 +296,7 @@

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -5248,7 +5248,7 @@ struct radix_sort {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -10297,7 +10297,7 @@ struct y_combinator {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -10419,7 +10419,7 @@ struct y_combinator {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -19566,7 +19566,7 @@ template<typename... Args, typename... Other>

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -19685,7 +19685,7 @@ template<typename... Args, typename... Other>

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -24503,11 +24503,12 @@ class basic_sigh_mixin final: public Type {
*/
template<typename It, typename... Args>
void insert(It first, It last, Args &&...args) {
auto from = underlying_type::size();
underlying_type::insert(first, last, std::forward<Args>(args)...);

if(auto &reg = owner_or_assert(); !construction.empty()) {
for(; first != last; ++first) {
construction.publish(reg, *first);
for(const auto to = underlying_type::size(); from != to; ++from) {
construction.publish(reg, underlying_type::operator[](from));
}
}
}
Expand Down Expand Up @@ -25120,7 +25121,7 @@ struct y_combinator {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -25440,7 +25441,7 @@ struct iterable_adaptor final {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -25946,7 +25947,7 @@ class adjacency_matrix {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -26073,7 +26074,7 @@ class adjacency_matrix {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -33474,7 +33475,7 @@ class basic_organizer final {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -33601,7 +33602,7 @@ class basic_organizer final {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -37652,11 +37653,12 @@ class basic_sigh_mixin final: public Type {
*/
template<typename It, typename... Args>
void insert(It first, It last, Args &&...args) {
auto from = underlying_type::size();
underlying_type::insert(first, last, std::forward<Args>(args)...);

if(auto &reg = owner_or_assert(); !construction.empty()) {
for(; first != last; ++first) {
construction.publish(reg, *first);
for(const auto to = underlying_type::size(); from != to; ++from) {
construction.publish(reg, underlying_type::operator[](from));
}
}
}
Expand Down Expand Up @@ -39266,6 +39268,17 @@ class basic_snapshot {
for(auto first = storage->data(), last = first + storage->size(); first != last; ++first) {
archive(*first);
}
} else if constexpr(component_traits<Type>::in_place_delete) {
const typename registry_type::common_type &base = *storage;

for(auto it = base.rbegin(), last = base.rend(); it != last; ++it) {
if(const auto entt = *it; entt == tombstone) {
archive(static_cast<entity_type>(null));
} else {
archive(entt);
std::apply([&archive](auto &&...args) { (archive(std::forward<decltype(args)>(args)), ...); }, storage->get_as_tuple(entt));
}
}
} else {
for(auto elem: storage->reach()) {
std::apply([&archive](auto &&...args) { (archive(std::forward<decltype(args)>(args)), ...); }, elem);
Expand Down Expand Up @@ -42958,7 +42971,7 @@ basic_view(std::tuple<Get &...>, std::tuple<Exclude &...> = {}) -> basic_view<ge

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -43278,7 +43291,7 @@ struct iterable_adaptor final {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -43845,7 +43858,7 @@ void dot(std::ostream &out, const Graph &graph) {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -43972,7 +43985,7 @@ void dot(std::ostream &out, const Graph &graph) {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -50675,7 +50688,7 @@ class basic_flow {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -50992,7 +51005,7 @@ struct adl_meta_pointer_like {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -51119,7 +51132,7 @@ struct adl_meta_pointer_like {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -55832,7 +55845,7 @@ class dense_set {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -56116,7 +56129,7 @@ class meta_ctx: private internal::meta_context {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -59824,7 +59837,7 @@ struct std::tuple_element<Index, entt::value_list<Value...>>: entt::value_list_e

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -67799,7 +67812,7 @@ using invoke_result_t = typename std::invoke_result<Func, Args...>::type;

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -71975,7 +71988,7 @@ struct process_adaptor: process<process_adaptor<Func, Delta>, Delta>, private Fu

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -72102,7 +72115,7 @@ struct process_adaptor: process<process_adaptor<Func, Delta>, Delta>, private Fu

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -74114,7 +74127,7 @@ class basic_scheduler {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -74241,7 +74254,7 @@ class basic_scheduler {

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -78028,7 +78041,7 @@ struct uses_allocator<entt::internal::dense_map_node<Key, Value>, Allocator>

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -80653,7 +80666,7 @@ template<typename Lhs, typename Rhs>

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -80772,7 +80785,7 @@ template<typename Lhs, typename Rhs>

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -82219,7 +82232,7 @@ delegate(Ret (*)(const void *, Args...), const void * = nullptr) -> delegate<Ret

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down Expand Up @@ -82346,7 +82359,7 @@ delegate(Ret (*)(const void *, Args...), const void * = nullptr) -> delegate<Ret

#define ENTT_VERSION_MAJOR 3
#define ENTT_VERSION_MINOR 13
#define ENTT_VERSION_PATCH 1
#define ENTT_VERSION_PATCH 2

#define ENTT_VERSION \
ENTT_XSTR(ENTT_VERSION_MAJOR) \
Expand Down

0 comments on commit 7821307

Please sign in to comment.