mirror of
https://github.com/BlackMATov/ecs.hpp.git
synced 2025-12-14 02:56:42 +07:00
little insert optimization
This commit is contained in:
@@ -177,7 +177,7 @@ TEST_CASE("detail") {
|
||||
REQUIRE(s.insert(position_c(1,2)));
|
||||
REQUIRE_FALSE(s.insert(position_c(1,2)));
|
||||
REQUIRE(s.has(position_c(1,2)));
|
||||
REQUIRE(s.emplace(3,4));
|
||||
REQUIRE(s.insert(position_c(3,4)));
|
||||
REQUIRE(s.has(position_c(3,4)));
|
||||
REQUIRE(s.get_dense_index(position_c(1,2)) == 0);
|
||||
REQUIRE(s.get_dense_index(position_c(3,4)) == 1);
|
||||
@@ -209,16 +209,16 @@ TEST_CASE("detail") {
|
||||
|
||||
{
|
||||
obj_t o{21u};
|
||||
REQUIRE(m.insert(21u, o));
|
||||
REQUIRE(m.insert(42u, obj_t{42u}));
|
||||
REQUIRE(m.emplace(84u, 84u));
|
||||
REQUIRE(m.insert(21u, o).second);
|
||||
REQUIRE(m.insert(42u, obj_t{42u}).second);
|
||||
REQUIRE(m.insert(84u, obj_t(84u)).second);
|
||||
}
|
||||
|
||||
{
|
||||
obj_t o{21u};
|
||||
REQUIRE_FALSE(m.insert(21u, o));
|
||||
REQUIRE_FALSE(m.insert(42u, obj_t{42u}));
|
||||
REQUIRE_FALSE(m.emplace(84u, 84u));
|
||||
REQUIRE_FALSE(m.insert(21u, o).second);
|
||||
REQUIRE_FALSE(m.insert(42u, obj_t{42u}).second);
|
||||
REQUIRE_FALSE(m.insert(84u, obj_t(84u)).second);
|
||||
}
|
||||
|
||||
REQUIRE_FALSE(m.empty());
|
||||
@@ -270,10 +270,10 @@ TEST_CASE("detail") {
|
||||
};
|
||||
|
||||
sparse_map<position_c, obj_t, position_c_indexer> s{position_c_indexer()};
|
||||
REQUIRE(s.insert(position_c(1,2), obj_t{1}));
|
||||
REQUIRE_FALSE(s.insert(position_c(1,2), obj_t{1}));
|
||||
REQUIRE(s.insert(position_c(1,2), obj_t{1}).second);
|
||||
REQUIRE_FALSE(s.insert(position_c(1,2), obj_t{1}).second);
|
||||
REQUIRE(s.has(position_c(1,2)));
|
||||
REQUIRE(s.emplace(position_c(3,4), obj_t{3}));
|
||||
REQUIRE(s.insert(position_c(3,4), obj_t{3}).second);
|
||||
REQUIRE(s.has(position_c(3,4)));
|
||||
REQUIRE(s.get(position_c(1,2)).x == 1);
|
||||
REQUIRE(s.get(position_c(3,4)).x == 3);
|
||||
@@ -291,14 +291,14 @@ TEST_CASE("detail") {
|
||||
};
|
||||
|
||||
sparse_map<unsigned, obj_t> m;
|
||||
REQUIRE(m.insert_or_assign(42, obj_t(42)));
|
||||
REQUIRE(m.insert_or_assign(42, obj_t(42)).second);
|
||||
REQUIRE(m.has(42));
|
||||
REQUIRE(m.get(42).x == 42);
|
||||
REQUIRE_FALSE(m.insert_or_assign(42, obj_t(21)));
|
||||
REQUIRE_FALSE(m.insert_or_assign(42, obj_t(21)).second);
|
||||
REQUIRE(m.has(42));
|
||||
REQUIRE(m.get(42).x == 21);
|
||||
REQUIRE(m.size() == 1);
|
||||
REQUIRE(m.insert_or_assign(84, obj_t(84)));
|
||||
REQUIRE(m.insert_or_assign(84, obj_t(84)).second);
|
||||
REQUIRE(m.has(84));
|
||||
REQUIRE(m.get(84).x == 84);
|
||||
REQUIRE(m.size() == 2);
|
||||
|
||||
Reference in New Issue
Block a user