|
|
@@ -121,8 +121,8 @@ TEST(Registry, Functionalities) {
|
|
|
const auto e0 = registry.create();
|
|
|
const auto e1 = registry.create();
|
|
|
|
|
|
- registry.assign<int>(e1);
|
|
|
- registry.assign<char>(e1);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
+ registry.emplace<char>(e1);
|
|
|
|
|
|
ASSERT_TRUE(registry.has<>(e0));
|
|
|
ASSERT_FALSE(registry.any<>(e1));
|
|
|
@@ -146,8 +146,8 @@ TEST(Registry, Functionalities) {
|
|
|
ASSERT_EQ(registry.try_get<double>(e0), nullptr);
|
|
|
ASSERT_EQ(registry.try_get<double>(e1), nullptr);
|
|
|
|
|
|
- ASSERT_EQ(registry.assign<int>(e0, 42), 42);
|
|
|
- ASSERT_EQ(registry.assign<char>(e0, 'c'), 'c');
|
|
|
+ ASSERT_EQ(registry.emplace<int>(e0, 42), 42);
|
|
|
+ ASSERT_EQ(registry.emplace<char>(e0, 'c'), 'c');
|
|
|
ASSERT_NO_THROW(registry.remove<int>(e1));
|
|
|
ASSERT_NO_THROW(registry.remove<char>(e1));
|
|
|
|
|
|
@@ -158,8 +158,8 @@ TEST(Registry, Functionalities) {
|
|
|
|
|
|
const auto e2 = registry.create();
|
|
|
|
|
|
- registry.assign_or_replace<int>(e2, registry.get<int>(e0));
|
|
|
- registry.assign_or_replace<char>(e2, registry.get<char>(e0));
|
|
|
+ registry.emplace_or_replace<int>(e2, registry.get<int>(e0));
|
|
|
+ registry.emplace_or_replace<char>(e2, registry.get<char>(e0));
|
|
|
|
|
|
ASSERT_TRUE((registry.has<int, char>(e2)));
|
|
|
ASSERT_EQ(registry.get<int>(e0), 42);
|
|
|
@@ -181,11 +181,11 @@ TEST(Registry, Functionalities) {
|
|
|
ASSERT_NE(®istry.get<int>(e0), ®istry.get<int>(e2));
|
|
|
ASSERT_NE(®istry.get<char>(e0), ®istry.get<char>(e2));
|
|
|
|
|
|
- ASSERT_EQ(registry.replace<int>(e0, [](auto &instance) { instance = 2; }), 2);
|
|
|
+ ASSERT_EQ(registry.patch<int>(e0, [](auto &instance) { instance = 2; }), 2);
|
|
|
ASSERT_EQ(registry.replace<int>(e0, 3), 3);
|
|
|
|
|
|
- ASSERT_NO_THROW(registry.assign_or_replace<int>(e0, 1));
|
|
|
- ASSERT_NO_THROW(registry.assign_or_replace<int>(e1, 1));
|
|
|
+ ASSERT_NO_THROW(registry.emplace_or_replace<int>(e0, 1));
|
|
|
+ ASSERT_NO_THROW(registry.emplace_or_replace<int>(e1, 1));
|
|
|
ASSERT_EQ(static_cast<const entt::registry &>(registry).get<int>(e0), 1);
|
|
|
ASSERT_EQ(static_cast<const entt::registry &>(registry).get<int>(e1), 1);
|
|
|
|
|
|
@@ -215,8 +215,8 @@ TEST(Registry, Functionalities) {
|
|
|
|
|
|
const auto e3 = registry.create();
|
|
|
|
|
|
- ASSERT_EQ(registry.get_or_assign<int>(e3, 3), 3);
|
|
|
- ASSERT_EQ(registry.get_or_assign<char>(e3, 'c'), 'c');
|
|
|
+ ASSERT_EQ(registry.get_or_emplace<int>(e3, 3), 3);
|
|
|
+ ASSERT_EQ(registry.get_or_emplace<char>(e3, 'c'), 'c');
|
|
|
|
|
|
ASSERT_EQ(registry.size<int>(), entt::registry::size_type{1});
|
|
|
ASSERT_EQ(registry.size<char>(), entt::registry::size_type{1});
|
|
|
@@ -242,7 +242,7 @@ TEST(Registry, Functionalities) {
|
|
|
const auto e4 = registry.create();
|
|
|
const auto e5 = registry.create();
|
|
|
|
|
|
- registry.assign<int>(e4);
|
|
|
+ registry.emplace<int>(e4);
|
|
|
|
|
|
ASSERT_NO_THROW(registry.remove_if_exists<int>(e4));
|
|
|
ASSERT_NO_THROW(registry.remove_if_exists<int>(e5));
|
|
|
@@ -264,16 +264,16 @@ TEST(Registry, ReplaceAggregate) {
|
|
|
entt::registry registry;
|
|
|
const auto entity = registry.create();
|
|
|
|
|
|
- registry.assign<aggregate>(entity, 0);
|
|
|
+ registry.emplace<aggregate>(entity, 0);
|
|
|
auto &instance = registry.replace<aggregate>(entity, 42);
|
|
|
|
|
|
ASSERT_EQ(instance.value, 42);
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, AssignOrReplaceAggregate) {
|
|
|
+TEST(Registry, EmplaceOrReplaceAggregate) {
|
|
|
entt::registry registry;
|
|
|
const auto entity = registry.create();
|
|
|
- auto &instance = registry.assign_or_replace<aggregate>(entity, 42);
|
|
|
+ auto &instance = registry.emplace_or_replace<aggregate>(entity, 42);
|
|
|
|
|
|
ASSERT_EQ(instance.value, 42);
|
|
|
}
|
|
|
@@ -306,7 +306,7 @@ TEST(Registry, RawData) {
|
|
|
ASSERT_EQ(std::as_const(registry).data<int>(), nullptr);
|
|
|
ASSERT_EQ(*std::as_const(registry).data(), entity);
|
|
|
|
|
|
- registry.assign<int>(entity, 42);
|
|
|
+ registry.emplace<int>(entity, 42);
|
|
|
|
|
|
ASSERT_EQ(*registry.raw<int>(), 42);
|
|
|
ASSERT_EQ(*std::as_const(registry).raw<int>(), 42);
|
|
|
@@ -351,8 +351,8 @@ TEST(Registry, CreateManyEntitiesAtOnceWithListener) {
|
|
|
|
|
|
registry.on_construct<int>().connect<&listener::incr<int>>(listener);
|
|
|
registry.create(std::begin(entities), std::end(entities));
|
|
|
- registry.assign(std::begin(entities), std::end(entities), 42);
|
|
|
- registry.assign(std::begin(entities), std::end(entities), 'c');
|
|
|
+ registry.insert(std::begin(entities), std::end(entities), 42);
|
|
|
+ registry.insert(std::begin(entities), std::end(entities), 'c');
|
|
|
|
|
|
ASSERT_EQ(registry.get<int>(entities[0]), 42);
|
|
|
ASSERT_EQ(registry.get<char>(entities[1]), 'c');
|
|
|
@@ -361,8 +361,8 @@ TEST(Registry, CreateManyEntitiesAtOnceWithListener) {
|
|
|
registry.on_construct<int>().disconnect<&listener::incr<int>>(listener);
|
|
|
registry.on_construct<empty_type>().connect<&listener::incr<empty_type>>(listener);
|
|
|
registry.create(std::begin(entities), std::end(entities));
|
|
|
- registry.assign(std::begin(entities), std::end(entities), 'a');
|
|
|
- registry.assign<empty_type>(std::begin(entities), std::end(entities));
|
|
|
+ registry.insert(std::begin(entities), std::end(entities), 'a');
|
|
|
+ registry.insert<empty_type>(std::begin(entities), std::end(entities));
|
|
|
|
|
|
ASSERT_TRUE(registry.has<empty_type>(entities[0]));
|
|
|
ASSERT_EQ(registry.get<char>(entities[2]), 'a');
|
|
|
@@ -422,14 +422,14 @@ TEST(Registry, CreateDestroyEntities) {
|
|
|
|
|
|
for(int i = 0; i < 10; ++i) {
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<double>(entity);
|
|
|
+ registry.emplace<double>(entity);
|
|
|
}
|
|
|
|
|
|
registry.clear();
|
|
|
|
|
|
for(int i = 0; i < 7; ++i) {
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
if(i == 3) { pre = entity; }
|
|
|
}
|
|
|
|
|
|
@@ -478,9 +478,9 @@ TEST(Registry, Each) {
|
|
|
entt::registry::size_type match;
|
|
|
|
|
|
registry.create();
|
|
|
- registry.assign<int>(registry.create());
|
|
|
+ registry.emplace<int>(registry.create());
|
|
|
registry.create();
|
|
|
- registry.assign<int>(registry.create());
|
|
|
+ registry.emplace<int>(registry.create());
|
|
|
registry.create();
|
|
|
|
|
|
tot = 0u;
|
|
|
@@ -529,9 +529,9 @@ TEST(Registry, Orphans) {
|
|
|
entt::registry registry;
|
|
|
entt::registry::size_type tot{};
|
|
|
|
|
|
- registry.assign<int>(registry.create());
|
|
|
+ registry.emplace<int>(registry.create());
|
|
|
registry.create();
|
|
|
- registry.assign<int>(registry.create());
|
|
|
+ registry.emplace<int>(registry.create());
|
|
|
|
|
|
registry.orphans([&](auto) { ++tot; });
|
|
|
ASSERT_EQ(tot, 1u);
|
|
|
@@ -554,15 +554,15 @@ TEST(Registry, View) {
|
|
|
auto cview = registry.view<char>();
|
|
|
|
|
|
const auto e0 = registry.create();
|
|
|
- registry.assign<int>(e0, 0);
|
|
|
- registry.assign<char>(e0, 'c');
|
|
|
+ registry.emplace<int>(e0, 0);
|
|
|
+ registry.emplace<char>(e0, 'c');
|
|
|
|
|
|
const auto e1 = registry.create();
|
|
|
- registry.assign<int>(e1, 0);
|
|
|
+ registry.emplace<int>(e1, 0);
|
|
|
|
|
|
const auto e2 = registry.create();
|
|
|
- registry.assign<int>(e2, 0);
|
|
|
- registry.assign<char>(e2, 'c');
|
|
|
+ registry.emplace<int>(e2, 0);
|
|
|
+ registry.emplace<char>(e2, 'c');
|
|
|
|
|
|
ASSERT_EQ(iview.size(), 3u);
|
|
|
ASSERT_EQ(cview.size(), 2u);
|
|
|
@@ -577,7 +577,7 @@ TEST(Registry, NonOwningGroupInitOnFirstUse) {
|
|
|
entt::registry registry;
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -592,12 +592,12 @@ TEST(Registry, NonOwningGroupInitOnFirstUse) {
|
|
|
ASSERT_EQ(cnt, 2u);
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, NonOwningGroupInitOnAssign) {
|
|
|
+TEST(Registry, NonOwningGroupInitOnEmplace) {
|
|
|
entt::registry registry;
|
|
|
auto group = registry.group<>(entt::get<int, char>);
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -615,7 +615,7 @@ TEST(Registry, FullOwningGroupInitOnFirstUse) {
|
|
|
entt::registry registry;
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -632,12 +632,12 @@ TEST(Registry, FullOwningGroupInitOnFirstUse) {
|
|
|
ASSERT_EQ(cnt, 2u);
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, FullOwningGroupInitOnAssign) {
|
|
|
+TEST(Registry, FullOwningGroupInitOnEmplace) {
|
|
|
entt::registry registry;
|
|
|
auto group = registry.group<int, char>();
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -657,7 +657,7 @@ TEST(Registry, PartialOwningGroupInitOnFirstUse) {
|
|
|
entt::registry registry;
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -675,12 +675,12 @@ TEST(Registry, PartialOwningGroupInitOnFirstUse) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, PartialOwningGroupInitOnAssign) {
|
|
|
+TEST(Registry, PartialOwningGroupInitOnEmplace) {
|
|
|
entt::registry registry;
|
|
|
auto group = registry.group<int>(entt::get<char>);
|
|
|
auto create = [&](auto... component) {
|
|
|
const auto entity = registry.create();
|
|
|
- (registry.assign<decltype(component)>(entity, component), ...);
|
|
|
+ (registry.emplace<decltype(component)>(entity, component), ...);
|
|
|
};
|
|
|
|
|
|
create(0, 'c');
|
|
|
@@ -701,8 +701,8 @@ TEST(Registry, CleanViewAfterRemoveAndClear) {
|
|
|
auto view = registry.view<int, char>();
|
|
|
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(view.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -710,7 +710,7 @@ TEST(Registry, CleanViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(view.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(view.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -718,7 +718,7 @@ TEST(Registry, CleanViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(view.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
|
|
|
ASSERT_EQ(view.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -732,8 +732,8 @@ TEST(Registry, CleanNonOwningGroupViewAfterRemoveAndClear) {
|
|
|
auto group = registry.group<>(entt::get<int, char>);
|
|
|
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -741,7 +741,7 @@ TEST(Registry, CleanNonOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -749,7 +749,7 @@ TEST(Registry, CleanNonOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -763,8 +763,8 @@ TEST(Registry, CleanFullOwningGroupViewAfterRemoveAndClear) {
|
|
|
auto group = registry.group<int, char>();
|
|
|
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -772,7 +772,7 @@ TEST(Registry, CleanFullOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -780,7 +780,7 @@ TEST(Registry, CleanFullOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -794,8 +794,8 @@ TEST(Registry, CleanPartialOwningGroupViewAfterRemoveAndClear) {
|
|
|
auto group = registry.group<int>(entt::get<char>);
|
|
|
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -803,7 +803,7 @@ TEST(Registry, CleanPartialOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<char>(entity, 'c');
|
|
|
+ registry.emplace<char>(entity, 'c');
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -811,7 +811,7 @@ TEST(Registry, CleanPartialOwningGroupViewAfterRemoveAndClear) {
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{0});
|
|
|
|
|
|
- registry.assign<int>(entity, 0);
|
|
|
+ registry.emplace<int>(entity, 0);
|
|
|
|
|
|
ASSERT_EQ(group.size(), entt::registry::size_type{1});
|
|
|
|
|
|
@@ -825,8 +825,8 @@ TEST(Registry, NestedGroups) {
|
|
|
entt::entity entities[10];
|
|
|
|
|
|
registry.create(std::begin(entities), std::end(entities));
|
|
|
- registry.assign<int>(std::begin(entities), std::end(entities));
|
|
|
- registry.assign<char>(std::begin(entities), std::end(entities));
|
|
|
+ registry.insert<int>(std::begin(entities), std::end(entities));
|
|
|
+ registry.insert<char>(std::begin(entities), std::end(entities));
|
|
|
const auto g1 = registry.group<int>(entt::get<char>, entt::exclude<double>);
|
|
|
|
|
|
ASSERT_TRUE(g1.sortable());
|
|
|
@@ -844,7 +844,7 @@ TEST(Registry, NestedGroups) {
|
|
|
ASSERT_TRUE(g1.contains(entities[i*2]));
|
|
|
ASSERT_TRUE(g2.contains(entities[i*2+1]));
|
|
|
ASSERT_TRUE(g2.contains(entities[i*2]));
|
|
|
- registry.assign<double>(entities[i*2]);
|
|
|
+ registry.emplace<double>(entities[i*2]);
|
|
|
}
|
|
|
|
|
|
ASSERT_EQ(g1.size(), 5u);
|
|
|
@@ -878,7 +878,7 @@ TEST(Registry, NestedGroups) {
|
|
|
ASSERT_TRUE(g2.contains(entities[i*2]));
|
|
|
ASSERT_FALSE(g3.contains(entities[i*2+1]));
|
|
|
ASSERT_FALSE(g3.contains(entities[i*2]));
|
|
|
- registry.assign<int>(entities[i*2+1]);
|
|
|
+ registry.emplace<int>(entities[i*2+1]);
|
|
|
}
|
|
|
|
|
|
ASSERT_EQ(g1.size(), 5u);
|
|
|
@@ -892,7 +892,7 @@ TEST(Registry, NestedGroups) {
|
|
|
ASSERT_TRUE(g2.contains(entities[i*2]));
|
|
|
ASSERT_FALSE(g3.contains(entities[i*2+1]));
|
|
|
ASSERT_FALSE(g3.contains(entities[i*2]));
|
|
|
- registry.assign<float>(entities[i*2]);
|
|
|
+ registry.emplace<float>(entities[i*2]);
|
|
|
}
|
|
|
|
|
|
ASSERT_EQ(g1.size(), 5u);
|
|
|
@@ -928,9 +928,9 @@ TEST(Registry, SortSingle) {
|
|
|
|
|
|
int val = 0;
|
|
|
|
|
|
- registry.assign<int>(registry.create(), val++);
|
|
|
- registry.assign<int>(registry.create(), val++);
|
|
|
- registry.assign<int>(registry.create(), val++);
|
|
|
+ registry.emplace<int>(registry.create(), val++);
|
|
|
+ registry.emplace<int>(registry.create(), val++);
|
|
|
+ registry.emplace<int>(registry.create(), val++);
|
|
|
|
|
|
for(auto entity: registry.view<int>()) {
|
|
|
ASSERT_EQ(registry.get<int>(entity), --val);
|
|
|
@@ -951,8 +951,8 @@ TEST(Registry, SortMulti) {
|
|
|
|
|
|
for(auto i = 0; i < 3; ++i) {
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<unsigned int>(entity, uval++);
|
|
|
- registry.assign<int>(entity, ival++);
|
|
|
+ registry.emplace<unsigned int>(entity, uval++);
|
|
|
+ registry.emplace<int>(entity, ival++);
|
|
|
}
|
|
|
|
|
|
for(auto entity: registry.view<unsigned int>()) {
|
|
|
@@ -978,9 +978,9 @@ TEST(Registry, SortMulti) {
|
|
|
TEST(Registry, SortEmpty) {
|
|
|
entt::registry registry;
|
|
|
|
|
|
- registry.assign<empty_type>(registry.create());
|
|
|
- registry.assign<empty_type>(registry.create());
|
|
|
- registry.assign<empty_type>(registry.create());
|
|
|
+ registry.emplace<empty_type>(registry.create());
|
|
|
+ registry.emplace<empty_type>(registry.create());
|
|
|
+ registry.emplace<empty_type>(registry.create());
|
|
|
|
|
|
ASSERT_LT(registry.data<empty_type>()[0], registry.data<empty_type>()[1]);
|
|
|
ASSERT_LT(registry.data<empty_type>()[1], registry.data<empty_type>()[2]);
|
|
|
@@ -995,7 +995,7 @@ TEST(Registry, ComponentsWithTypesFromStandardTemplateLibrary) {
|
|
|
// see #37 - the test shouldn't crash, that's all
|
|
|
entt::registry registry;
|
|
|
const auto entity = registry.create();
|
|
|
- registry.assign<std::unordered_set<int>>(entity).insert(42);
|
|
|
+ registry.emplace<std::unordered_set<int>>(entity).insert(42);
|
|
|
registry.destroy(entity);
|
|
|
}
|
|
|
|
|
|
@@ -1003,7 +1003,7 @@ TEST(Registry, ConstructWithComponents) {
|
|
|
// it should compile, that's all
|
|
|
entt::registry registry;
|
|
|
const auto value = 0;
|
|
|
- registry.assign<int>(registry.create(), value);
|
|
|
+ registry.emplace<int>(registry.create(), value);
|
|
|
}
|
|
|
|
|
|
TEST(Registry, Signals) {
|
|
|
@@ -1018,14 +1018,14 @@ TEST(Registry, Signals) {
|
|
|
auto e0 = registry.create();
|
|
|
auto e1 = registry.create();
|
|
|
|
|
|
- registry.assign<empty_type>(e0);
|
|
|
- registry.assign<empty_type>(e1);
|
|
|
+ registry.emplace<empty_type>(e0);
|
|
|
+ registry.emplace<empty_type>(e1);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
ASSERT_EQ(listener.last, e1);
|
|
|
|
|
|
- registry.assign<int>(e1);
|
|
|
- registry.assign<int>(e0);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 4);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
@@ -1048,8 +1048,8 @@ TEST(Registry, Signals) {
|
|
|
registry.on_construct<empty_type>().disconnect<&listener::incr<empty_type>>(listener);
|
|
|
registry.on_construct<int>().disconnect<&listener::incr<int>>(listener);
|
|
|
|
|
|
- registry.assign<empty_type>(e1);
|
|
|
- registry.assign<int>(e1);
|
|
|
+ registry.emplace<empty_type>(e1);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
@@ -1057,7 +1057,7 @@ TEST(Registry, Signals) {
|
|
|
registry.on_construct<int>().connect<&listener::incr<int>>(listener);
|
|
|
registry.on_destroy<int>().connect<&listener::decr<int>>(listener);
|
|
|
|
|
|
- registry.assign<int>(e0);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
registry.remove_if_exists<int>(e1);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
@@ -1067,7 +1067,7 @@ TEST(Registry, Signals) {
|
|
|
registry.on_destroy<empty_type>().connect<&listener::decr<empty_type>>(listener);
|
|
|
|
|
|
registry.remove_if_exists<empty_type>(e1);
|
|
|
- registry.assign<empty_type>(e0);
|
|
|
+ registry.emplace<empty_type>(e0);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
@@ -1078,10 +1078,10 @@ TEST(Registry, Signals) {
|
|
|
ASSERT_EQ(listener.counter, 0);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
|
|
|
- registry.assign<empty_type>(e0);
|
|
|
- registry.assign<empty_type>(e1);
|
|
|
- registry.assign<int>(e0);
|
|
|
- registry.assign<int>(e1);
|
|
|
+ registry.emplace<empty_type>(e0);
|
|
|
+ registry.emplace<empty_type>(e1);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
|
|
|
registry.destroy(e1);
|
|
|
|
|
|
@@ -1090,8 +1090,8 @@ TEST(Registry, Signals) {
|
|
|
|
|
|
registry.remove<int>(e0);
|
|
|
registry.remove<empty_type>(e0);
|
|
|
- registry.assign_or_replace<int>(e0);
|
|
|
- registry.assign_or_replace<empty_type>(e0);
|
|
|
+ registry.emplace_or_replace<int>(e0);
|
|
|
+ registry.emplace_or_replace<empty_type>(e0);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
@@ -1099,17 +1099,17 @@ TEST(Registry, Signals) {
|
|
|
registry.on_destroy<empty_type>().disconnect<&listener::decr<empty_type>>(listener);
|
|
|
registry.on_destroy<int>().disconnect<&listener::decr<int>>(listener);
|
|
|
|
|
|
- registry.assign_or_replace<empty_type>(e0);
|
|
|
- registry.assign_or_replace<int>(e0);
|
|
|
+ registry.emplace_or_replace<empty_type>(e0);
|
|
|
+ registry.emplace_or_replace<int>(e0);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 2);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
|
|
|
- registry.on_replace<empty_type>().connect<&listener::incr<empty_type>>(listener);
|
|
|
- registry.on_replace<int>().connect<&listener::incr<int>>(listener);
|
|
|
+ registry.on_update<empty_type>().connect<&listener::incr<empty_type>>(listener);
|
|
|
+ registry.on_update<int>().connect<&listener::incr<int>>(listener);
|
|
|
|
|
|
- registry.assign_or_replace<empty_type>(e0);
|
|
|
- registry.assign_or_replace<int>(e0);
|
|
|
+ registry.emplace_or_replace<empty_type>(e0);
|
|
|
+ registry.emplace_or_replace<int>(e0);
|
|
|
|
|
|
ASSERT_EQ(listener.counter, 4);
|
|
|
ASSERT_EQ(listener.last, e0);
|
|
|
@@ -1128,14 +1128,14 @@ TEST(Registry, RangeDestroy) {
|
|
|
const auto e1 = registry.create();
|
|
|
const auto e2 = registry.create();
|
|
|
|
|
|
- registry.assign<int>(e0);
|
|
|
- registry.assign<char>(e0);
|
|
|
- registry.assign<double>(e0);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
+ registry.emplace<char>(e0);
|
|
|
+ registry.emplace<double>(e0);
|
|
|
|
|
|
- registry.assign<int>(e1);
|
|
|
- registry.assign<char>(e1);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
+ registry.emplace<char>(e1);
|
|
|
|
|
|
- registry.assign<int>(e2);
|
|
|
+ registry.emplace<int>(e2);
|
|
|
|
|
|
ASSERT_TRUE(registry.valid(e0));
|
|
|
ASSERT_TRUE(registry.valid(e1));
|
|
|
@@ -1160,28 +1160,28 @@ TEST(Registry, RangeDestroy) {
|
|
|
ASSERT_FALSE(registry.valid(e2));
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, RangeAssign) {
|
|
|
+TEST(Registry, RangeEmplace) {
|
|
|
entt::registry registry;
|
|
|
|
|
|
const auto e0 = registry.create();
|
|
|
const auto e1 = registry.create();
|
|
|
const auto e2 = registry.create();
|
|
|
|
|
|
- registry.assign<int>(e0);
|
|
|
- registry.assign<char>(e0);
|
|
|
- registry.assign<double>(e0);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
+ registry.emplace<char>(e0);
|
|
|
+ registry.emplace<double>(e0);
|
|
|
|
|
|
- registry.assign<int>(e1);
|
|
|
- registry.assign<char>(e1);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
+ registry.emplace<char>(e1);
|
|
|
|
|
|
- registry.assign<int>(e2);
|
|
|
+ registry.emplace<int>(e2);
|
|
|
|
|
|
ASSERT_FALSE(registry.has<float>(e0));
|
|
|
ASSERT_FALSE(registry.has<float>(e1));
|
|
|
ASSERT_FALSE(registry.has<float>(e2));
|
|
|
|
|
|
const auto view = registry.view<int, char>();
|
|
|
- registry.assign(view.begin(), view.end(), 3.f);
|
|
|
+ registry.insert(view.begin(), view.end(), 3.f);
|
|
|
|
|
|
ASSERT_EQ(registry.get<float>(e0), 3.f);
|
|
|
ASSERT_EQ(registry.get<float>(e1), 3.f);
|
|
|
@@ -1189,7 +1189,7 @@ TEST(Registry, RangeAssign) {
|
|
|
|
|
|
registry.clear<float>();
|
|
|
float value[3]{0.f, 1.f, 2.f};
|
|
|
- registry.assign<float>(registry.data<int>(), registry.data<int>() + registry.size<int>(), value);
|
|
|
+ registry.insert<float>(registry.data<int>(), registry.data<int>() + registry.size<int>(), value, value + registry.size<int>());
|
|
|
|
|
|
ASSERT_EQ(registry.get<float>(e0), 0.f);
|
|
|
ASSERT_EQ(registry.get<float>(e1), 1.f);
|
|
|
@@ -1203,14 +1203,14 @@ TEST(Registry, RangeRemove) {
|
|
|
const auto e1 = registry.create();
|
|
|
const auto e2 = registry.create();
|
|
|
|
|
|
- registry.assign<int>(e0);
|
|
|
- registry.assign<char>(e0);
|
|
|
- registry.assign<double>(e0);
|
|
|
+ registry.emplace<int>(e0);
|
|
|
+ registry.emplace<char>(e0);
|
|
|
+ registry.emplace<double>(e0);
|
|
|
|
|
|
- registry.assign<int>(e1);
|
|
|
- registry.assign<char>(e1);
|
|
|
+ registry.emplace<int>(e1);
|
|
|
+ registry.emplace<char>(e1);
|
|
|
|
|
|
- registry.assign<int>(e2);
|
|
|
+ registry.emplace<int>(e2);
|
|
|
|
|
|
ASSERT_TRUE(registry.has<int>(e0));
|
|
|
ASSERT_TRUE(registry.has<int>(e1));
|
|
|
@@ -1229,14 +1229,14 @@ TEST(Registry, NonOwningGroupInterleaved) {
|
|
|
typename entt::entity entity = entt::null;
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
const auto group = registry.group<>(entt::get<int, char>);
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
std::size_t cnt{};
|
|
|
group.each([&cnt](auto...) { ++cnt; });
|
|
|
@@ -1249,14 +1249,14 @@ TEST(Registry, FullOwningGroupInterleaved) {
|
|
|
typename entt::entity entity = entt::null;
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
const auto group = registry.group<int, char>();
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
std::size_t cnt{};
|
|
|
group.each([&cnt](auto...) { ++cnt; });
|
|
|
@@ -1269,14 +1269,14 @@ TEST(Registry, PartialOwningGroupInterleaved) {
|
|
|
typename entt::entity entity = entt::null;
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
const auto group = registry.group<int>(entt::get<char>);
|
|
|
|
|
|
entity = registry.create();
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
std::size_t cnt{};
|
|
|
group.each([&cnt](auto...) { ++cnt; });
|
|
|
@@ -1289,19 +1289,19 @@ TEST(Registry, NonOwningGroupSortInterleaved) {
|
|
|
const auto group = registry.group<>(entt::get<int, char>);
|
|
|
|
|
|
const auto e0 = registry.create();
|
|
|
- registry.assign<int>(e0, 0);
|
|
|
- registry.assign<char>(e0, '0');
|
|
|
+ registry.emplace<int>(e0, 0);
|
|
|
+ registry.emplace<char>(e0, '0');
|
|
|
|
|
|
const auto e1 = registry.create();
|
|
|
- registry.assign<int>(e1, 1);
|
|
|
- registry.assign<char>(e1, '1');
|
|
|
+ registry.emplace<int>(e1, 1);
|
|
|
+ registry.emplace<char>(e1, '1');
|
|
|
|
|
|
registry.sort<int>(std::greater{});
|
|
|
registry.sort<char>(std::less{});
|
|
|
|
|
|
const auto e2 = registry.create();
|
|
|
- registry.assign<int>(e2, 2);
|
|
|
- registry.assign<char>(e2, '2');
|
|
|
+ registry.emplace<int>(e2, 2);
|
|
|
+ registry.emplace<char>(e2, '2');
|
|
|
|
|
|
group.each([e0, e1, e2](const auto entity, const auto &i, const auto &c) {
|
|
|
if(entity == e0) {
|
|
|
@@ -1317,10 +1317,10 @@ TEST(Registry, NonOwningGroupSortInterleaved) {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, GetOrAssign) {
|
|
|
+TEST(Registry, GetOrEmplace) {
|
|
|
entt::registry registry;
|
|
|
const auto entity = registry.create();
|
|
|
- const auto value = registry.get_or_assign<int>(entity, 3);
|
|
|
+ const auto value = registry.get_or_emplace<int>(entity, 3);
|
|
|
ASSERT_TRUE(registry.has<int>(entity));
|
|
|
ASSERT_EQ(registry.get<int>(entity), value);
|
|
|
ASSERT_EQ(registry.get<int>(entity), 3);
|
|
|
@@ -1329,8 +1329,8 @@ TEST(Registry, GetOrAssign) {
|
|
|
TEST(Registry, Constness) {
|
|
|
entt::registry registry;
|
|
|
|
|
|
- ASSERT_TRUE((std::is_same_v<decltype(registry.assign<int>({})), int &>));
|
|
|
- ASSERT_TRUE((std::is_same_v<decltype(registry.assign<empty_type>({})), void>));
|
|
|
+ ASSERT_TRUE((std::is_same_v<decltype(registry.emplace<int>({})), int &>));
|
|
|
+ ASSERT_TRUE((std::is_same_v<decltype(registry.emplace<empty_type>({})), void>));
|
|
|
|
|
|
ASSERT_TRUE((std::is_same_v<decltype(registry.get<int>({})), int &>));
|
|
|
ASSERT_TRUE((std::is_same_v<decltype(registry.get<int, char>({})), std::tuple<int &, char &>>));
|
|
|
@@ -1352,19 +1352,19 @@ TEST(Registry, BatchCreateAmbiguousCall) {
|
|
|
std::uint32_t foo = 32u;
|
|
|
std::uint64_t bar = 64u;
|
|
|
// this should work, no other tests required
|
|
|
- registry.assign<ambiguous>(entity, foo, bar);
|
|
|
+ registry.emplace<ambiguous>(entity, foo, bar);
|
|
|
}
|
|
|
|
|
|
TEST(Registry, MoveOnlyComponent) {
|
|
|
entt::registry registry;
|
|
|
// the purpose is to ensure that move only types are always accepted
|
|
|
- registry.assign<std::unique_ptr<int>>(registry.create());
|
|
|
+ registry.emplace<std::unique_ptr<int>>(registry.create());
|
|
|
}
|
|
|
|
|
|
TEST(Registry, NonDefaultConstructibleComponent) {
|
|
|
entt::registry registry;
|
|
|
// the purpose is to ensure that non default constructible type are always accepted
|
|
|
- registry.assign<non_default_constructible>(registry.create(), 42);
|
|
|
+ registry.emplace<non_default_constructible>(registry.create(), 42);
|
|
|
}
|
|
|
|
|
|
TEST(Registry, Dependencies) {
|
|
|
@@ -1372,17 +1372,17 @@ TEST(Registry, Dependencies) {
|
|
|
const auto entity = registry.create();
|
|
|
|
|
|
// required because of an issue of VS2019
|
|
|
- constexpr auto assign_or_replace = &entt::registry::assign_or_replace<double>;
|
|
|
+ constexpr auto emplace_or_replace = &entt::registry::emplace_or_replace<double>;
|
|
|
constexpr auto remove = &entt::registry::remove<double>;
|
|
|
|
|
|
- registry.on_construct<int>().connect<assign_or_replace>();
|
|
|
+ registry.on_construct<int>().connect<emplace_or_replace>();
|
|
|
registry.on_destroy<int>().connect<remove>();
|
|
|
- registry.assign<double>(entity, .3);
|
|
|
+ registry.emplace<double>(entity, .3);
|
|
|
|
|
|
ASSERT_FALSE(registry.has<int>(entity));
|
|
|
ASSERT_EQ(registry.get<double>(entity), .3);
|
|
|
|
|
|
- registry.assign<int>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
|
|
|
ASSERT_TRUE(registry.has<int>(entity));
|
|
|
ASSERT_EQ(registry.get<double>(entity), .0);
|
|
|
@@ -1391,20 +1391,20 @@ TEST(Registry, Dependencies) {
|
|
|
|
|
|
ASSERT_FALSE((registry.any<int, double>(entity)));
|
|
|
|
|
|
- registry.on_construct<int>().disconnect<assign_or_replace>();
|
|
|
+ registry.on_construct<int>().disconnect<emplace_or_replace>();
|
|
|
registry.on_destroy<int>().disconnect<remove>();
|
|
|
- registry.assign<int>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
|
|
|
ASSERT_TRUE((registry.any<int, double>(entity)));
|
|
|
ASSERT_FALSE(registry.has<double>(entity));
|
|
|
}
|
|
|
|
|
|
-TEST(Registry, StableAssign) {
|
|
|
+TEST(Registry, StableEmplace) {
|
|
|
entt::registry registry;
|
|
|
registry.on_construct<int>().connect<&listener::sort<int>>();
|
|
|
- registry.assign<int>(registry.create(), 0);
|
|
|
+ registry.emplace<int>(registry.create(), 0);
|
|
|
|
|
|
- ASSERT_EQ(registry.assign<int>(registry.create(), 1), 1);
|
|
|
+ ASSERT_EQ(registry.emplace<int>(registry.create(), 1), 1);
|
|
|
}
|
|
|
|
|
|
TEST(Registry, AssignEntities) {
|
|
|
@@ -1430,9 +1430,9 @@ TEST(Registry, Visit) {
|
|
|
const auto entity = registry.create();
|
|
|
const auto other = registry.create();
|
|
|
|
|
|
- registry.assign<int>(entity);
|
|
|
- registry.assign<double>(other);
|
|
|
- registry.assign<char>(entity);
|
|
|
+ registry.emplace<int>(entity);
|
|
|
+ registry.emplace<double>(other);
|
|
|
+ registry.emplace<char>(entity);
|
|
|
|
|
|
bool hasType[3]{};
|
|
|
|