storage: return iterator to elements rather than entities and only if it makes sense
This commit is contained in:
@@ -315,12 +315,11 @@ ENTT_DEBUG_TEST_F(StorageDeathTest, EmptyType) {
|
||||
TEST_F(Storage, Insert) {
|
||||
entt::storage<stable_type> pool;
|
||||
entt::entity entities[2u]{entt::entity{3}, entt::entity{42}};
|
||||
typename entt::sparse_set::iterator it{};
|
||||
const entt::sparse_set &base = pool;
|
||||
entt::storage<stable_type>::iterator it{};
|
||||
|
||||
it = pool.insert(std::begin(entities), std::end(entities), stable_type{99});
|
||||
|
||||
ASSERT_EQ(it, base.cbegin());
|
||||
ASSERT_EQ(it, pool.cbegin());
|
||||
|
||||
ASSERT_TRUE(pool.contains(entities[0u]));
|
||||
ASSERT_TRUE(pool.contains(entities[1u]));
|
||||
@@ -334,7 +333,7 @@ TEST_F(Storage, Insert) {
|
||||
const stable_type values[2u] = {stable_type{42}, stable_type{3}};
|
||||
it = pool.insert(std::rbegin(entities), std::rend(entities), std::begin(values));
|
||||
|
||||
ASSERT_EQ(it, base.cbegin());
|
||||
ASSERT_EQ(it, pool.cbegin());
|
||||
|
||||
ASSERT_EQ(pool.size(), 4u);
|
||||
ASSERT_EQ(pool.at(2u), entities[1u]);
|
||||
@@ -348,12 +347,9 @@ TEST_F(Storage, Insert) {
|
||||
TEST_F(Storage, InsertEmptyType) {
|
||||
entt::storage<empty_stable_type> pool;
|
||||
entt::entity entities[2u]{entt::entity{3}, entt::entity{42}};
|
||||
typename entt::sparse_set::iterator it{};
|
||||
const entt::sparse_set &base = pool;
|
||||
|
||||
it = pool.insert(std::begin(entities), std::end(entities));
|
||||
|
||||
ASSERT_EQ(it, base.cbegin());
|
||||
pool.insert(std::begin(entities), std::end(entities));
|
||||
|
||||
ASSERT_TRUE(pool.contains(entities[0u]));
|
||||
ASSERT_TRUE(pool.contains(entities[1u]));
|
||||
@@ -363,9 +359,7 @@ TEST_F(Storage, InsertEmptyType) {
|
||||
|
||||
pool.erase(std::begin(entities), std::end(entities));
|
||||
const empty_stable_type values[2u]{};
|
||||
it = pool.insert(std::rbegin(entities), std::rend(entities), std::begin(values));
|
||||
|
||||
ASSERT_EQ(it, base.cbegin());
|
||||
pool.insert(std::rbegin(entities), std::rend(entities), std::begin(values));
|
||||
|
||||
ASSERT_EQ(pool.size(), 4u);
|
||||
ASSERT_EQ(pool.at(2u), entities[1u]);
|
||||
|
||||
@@ -227,12 +227,9 @@ TEST(StorageEntity, Insert) {
|
||||
|
||||
entt::storage<entt::entity> pool;
|
||||
entt::entity entities[2u]{};
|
||||
typename entt::sparse_set::iterator it{};
|
||||
const entt::sparse_set &base = pool;
|
||||
|
||||
it = pool.insert(std::begin(entities), std::end(entities));
|
||||
|
||||
ASSERT_EQ(it, base.cbegin());
|
||||
pool.insert(std::begin(entities), std::end(entities));
|
||||
|
||||
ASSERT_TRUE(pool.contains(entities[0u]));
|
||||
ASSERT_TRUE(pool.contains(entities[1u]));
|
||||
@@ -247,10 +244,7 @@ TEST(StorageEntity, Insert) {
|
||||
ASSERT_EQ(pool.size(), 2u);
|
||||
ASSERT_EQ(pool.in_use(), 0u);
|
||||
|
||||
it = pool.insert(entities, entities + 1u);
|
||||
|
||||
ASSERT_NE(it, base.cbegin());
|
||||
ASSERT_EQ(it, base.cbegin() + 1u);
|
||||
pool.insert(entities, entities + 1u);
|
||||
|
||||
ASSERT_TRUE(pool.contains(entities[0u]));
|
||||
ASSERT_FALSE(pool.contains(entities[1u]));
|
||||
|
||||
Reference in New Issue
Block a user