Commit Graph

3471 Commits

Author SHA1 Message Date
Michele Caini
f2411a1db7 sparse_set: do not invoke compact automatically when sorting 2023-10-02 11:48:34 +02:00
Michele Caini
9d97c83909 view: use scoped iterators with ::contains 2023-09-26 14:32:02 +02:00
Michele Caini
6a21e29397 view: use scoped iterators with ::back 2023-09-26 14:31:42 +02:00
Michele Caini
8fdc24097e view: begin/end return scoped iterators as needed 2023-09-26 08:45:52 +02:00
Michele Caini
4e7368f79a storage: entity storage no longer has component traits exposed 2023-09-25 14:26:10 +02:00
Michele Caini
1e1dee88b7 registry: avoid warnings due to unused variables 2023-09-25 08:50:16 +02:00
Michele Caini
91e4ff6a08 storage: internal changes 2023-09-22 18:31:28 +02:00
Michele Caini
4be9aac7a6 storage: use scoped iterators in entity storage 2023-09-22 18:30:31 +02:00
Michele Caini
af059b5e21 mixin: rework pop_all to make it work without component traits 2023-09-22 18:27:48 +02:00
Michele Caini
fdb1978f89 component: cleanup 2023-09-22 17:35:33 +02:00
Michele Caini
8332e59c62 sparse_set: minor changes 2023-09-22 16:15:27 +02:00
Michele Caini
20cc263502 view: use scoped iterators as in the ::each function 2023-09-22 07:57:33 +02:00
Michele Caini
361d4ec4dd sparse_set: scoped iterator 2023-09-21 17:58:24 +02:00
Michele Caini
c3bf842f9f sparse_set: const correctness 2023-09-21 17:35:05 +02:00
Michele Caini
33b598289b meta: help the code coverage tool 2023-09-20 14:51:14 +02:00
Michele Caini
cfc7f99405 meta: avoid dead code warnings 2023-09-20 12:35:01 +02:00
Michele Caini
db5ecd2c96 meta: further reduce size of symbols 2023-09-20 12:22:18 +02:00
Michele Caini
07ff28d9dc sparse_set/storage: put swap_or_move check into the base class 2023-09-18 14:07:59 +02:00
Michele Caini
6e4381934a storage: improve asserts 2023-09-14 23:47:50 +02:00
Michele Caini
46ccded145 *: in_use -> free_list 2023-09-14 23:34:59 +02:00
Ezekiel Warren
01453b67fc build system: add bzlmod support + tests (#1057) 2023-09-14 08:48:17 +02:00
Michele Caini
7ec739b5c7 view: drop specialization for single type views with exclusion list 2023-09-13 13:00:01 +02:00
Michele Caini
a6fea6727b sparse_set/storage: improve emplace(N) with non-sequential entities 2023-09-12 08:54:38 +02:00
Michele Caini
e561e8cbdd storage: deprecate in_use 2023-09-12 08:47:34 +02:00
Michele Caini
8d39f89aff sparse_set: added free_list(N) for swap_only sets 2023-09-12 08:46:57 +02:00
Michele Caini
16bb54c524 sparse_set/storage: move swap_only policy towards the base 2023-09-11 10:51:29 +02:00
Michele Caini
8731eb91f4 sparse_set: split swap_at for internal uses 2023-09-07 10:41:12 +02:00
Michele Caini
a987609b2a sparse_set: make ::free_list [[nodiscard]] 2023-09-06 15:13:16 +02:00
Michele Caini
40793e9485 sparse_set: minor changes 2023-09-06 14:59:56 +02:00
Michele Caini
874587a591 sparse_set: swap_only pop function 2023-09-06 08:37:31 +02:00
Michele Caini
9c797ead28 sparse_set: extra (temporary) check 2023-09-05 15:05:15 +02:00
Michele Caini
b6bb7c1a84 sparse_set: clear policy_to_head 2023-09-05 15:05:04 +02:00
Michele Caini
995f7e8e19 sparse_set: review pop_all 2023-09-05 14:37:14 +02:00
Michele Caini
9732f0547d sparse_set/storage: drop length in favor of a temporary function to make the transition easier 2023-09-05 14:36:33 +02:00
Michele Caini
9c9a71af74 sparse_set: update/set head properly accordingly with the policy 2023-09-05 10:00:03 +02:00
Michele Caini
be09b3a40a entity: update doc 2023-09-05 09:58:52 +02:00
Michele Caini
d79d08ef11 sparse_set: use the underlying entity type for the head of the free list 2023-09-04 17:37:40 +02:00
Michele Caini
c7377cbbbf sparse_set: strip the version from the head of the free list 2023-09-04 17:33:24 +02:00
Michele Caini
bbcc88217a sparse_set: make ::pop_all work property in managed swap_only mode 2023-09-04 12:40:33 +02:00
Michele Caini
c2838b4861 sparse_set: ::free_list function (for later uses) 2023-09-01 14:26:02 +02:00
Michele Caini
19c256d9a4 sparse_set: prepare to make swap_only a proper deletion policy managed at sparse set level 2023-09-01 09:26:42 +02:00
Michele Caini
baf0057628 sparse_set: drop swap_at as it ought to be 2023-08-31 11:28:15 +02:00
Michele Caini
99bf93dce6 storage: stop using swap_at, prepare to make swap_only a proper sparse set policy 2023-08-31 11:28:15 +02:00
Michele Caini
776ec96565 sparse_set: minor changes 2023-08-31 11:28:15 +02:00
Michele Caini
d03c444eae sparse_set: prepare to offer the free_list value to the user 2023-08-31 11:28:15 +02:00
Michele Caini
de6678c47a sparse_set: refine ::sort_n to work with upcoming changes 2023-08-31 11:28:15 +02:00
Michele Caini
b780198526 sparse_set: make ::compact work only with the right deletion policies 2023-08-31 11:28:15 +02:00
Michele Caini
27f1e9e476 sparse_set: refine ::contiguous to work fine with upcoming changes 2023-08-31 11:28:15 +02:00
Michele Caini
a9de9da75b sparse_set: prepare to drop swap_at 2023-08-31 11:28:15 +02:00
Michele Caini
4f0a119279 sparse_set: swap-only mode for easy identification 2023-08-31 11:28:15 +02:00