* removed entt::page_size
* renamed ENTT_PAGE_SIZE to ENTT_SPARSE_PAGE
* added ENTT_PACKED_PAGE (page size for component arrays)
This commit is contained in:
Michele Caini
2021-05-24 23:29:55 +02:00
parent acf3d4cd74
commit 755699c31b
10 changed files with 85 additions and 68 deletions

View File

@@ -96,34 +96,34 @@ TEST(SparseSet, Pagination) {
ASSERT_EQ(set.extent(), 0u);
set.emplace(entt::entity{entt::page_size-1u});
set.emplace(entt::entity{ENTT_SPARSE_PAGE-1u});
ASSERT_EQ(set.extent(), entt::page_size);
ASSERT_TRUE(set.contains(entt::entity{entt::page_size-1u}));
ASSERT_EQ(set.extent(), ENTT_SPARSE_PAGE);
ASSERT_TRUE(set.contains(entt::entity{ENTT_SPARSE_PAGE-1u}));
set.emplace(entt::entity{entt::page_size});
set.emplace(entt::entity{ENTT_SPARSE_PAGE});
ASSERT_EQ(set.extent(), 2 * entt::page_size);
ASSERT_TRUE(set.contains(entt::entity{entt::page_size-1u}));
ASSERT_TRUE(set.contains(entt::entity{entt::page_size}));
ASSERT_FALSE(set.contains(entt::entity{entt::page_size+1u}));
ASSERT_EQ(set.extent(), 2 * ENTT_SPARSE_PAGE);
ASSERT_TRUE(set.contains(entt::entity{ENTT_SPARSE_PAGE-1u}));
ASSERT_TRUE(set.contains(entt::entity{ENTT_SPARSE_PAGE}));
ASSERT_FALSE(set.contains(entt::entity{ENTT_SPARSE_PAGE+1u}));
set.erase(entt::entity{entt::page_size-1u});
set.erase(entt::entity{ENTT_SPARSE_PAGE-1u});
ASSERT_EQ(set.extent(), 2 * entt::page_size);
ASSERT_FALSE(set.contains(entt::entity{entt::page_size-1u}));
ASSERT_TRUE(set.contains(entt::entity{entt::page_size}));
ASSERT_EQ(set.extent(), 2 * ENTT_SPARSE_PAGE);
ASSERT_FALSE(set.contains(entt::entity{ENTT_SPARSE_PAGE-1u}));
ASSERT_TRUE(set.contains(entt::entity{ENTT_SPARSE_PAGE}));
set.shrink_to_fit();
set.erase(entt::entity{entt::page_size});
set.erase(entt::entity{ENTT_SPARSE_PAGE});
ASSERT_EQ(set.extent(), 2 * entt::page_size);
ASSERT_FALSE(set.contains(entt::entity{entt::page_size-1u}));
ASSERT_FALSE(set.contains(entt::entity{entt::page_size}));
ASSERT_EQ(set.extent(), 2 * ENTT_SPARSE_PAGE);
ASSERT_FALSE(set.contains(entt::entity{ENTT_SPARSE_PAGE-1u}));
ASSERT_FALSE(set.contains(entt::entity{ENTT_SPARSE_PAGE}));
set.shrink_to_fit();
ASSERT_EQ(set.extent(), 2 * entt::page_size);
ASSERT_EQ(set.extent(), 2 * ENTT_SPARSE_PAGE);
}
TEST(SparseSet, Insert) {