Michele Caini
8a19e8dafe
storage: support chained constructors i.e. parent-to-child propagation
2022-01-13 12:00:15 +01:00
Michele Caini
588c056205
sparse_set/storage: minor changes, more tests
2022-01-11 22:56:22 +01:00
Michele Caini
0bd6816bdd
sparse_set: pop_at(pos) -> try_erase(entt) (prepare for inhibited deletions)
2022-01-11 08:06:20 +01:00
Michele Caini
1c6670c7a1
sparse_set: merge ::swap_and_pop and ::in_place_pop
2022-01-10 22:55:46 +01:00
Michele Caini
699a0eb934
sigh_storage_mixin:
...
* always check the owner in debug
* fixed a test that doesn't invoke bind
2022-01-10 17:22:34 +01:00
Michele Caini
72440ab937
sigh_storage_mixin: always trigger an emplace request notification (in sync with unbalanced destroy)
2022-01-10 00:23:18 +01:00
Michele Caini
9ad807bd58
storage: doc cleanup
2022-01-10 00:16:10 +01:00
Michele Caini
9fb1970ac0
sparse_set/storage: rollback ::policy(pol), incompatible with views
2022-01-09 16:15:47 +01:00
Michele Caini
48dfac2588
storage:
...
* also support (in theory) fancy pointers
* removed the internal ::construct function
2022-01-09 15:06:41 +01:00
Michele Caini
c6d3714e6f
sparse_set: also support (in theory) fancy pointers
2022-01-09 15:06:17 +01:00
Michele Caini
1345c257c3
storage: make final virtual functions private (moving towards private-only hooks)
2022-01-09 14:42:56 +01:00
Michele Caini
19112a8f27
storage: cleanup
2022-01-09 14:25:41 +01:00
Michele Caini
e0979fcf3f
sparse_set/storage: make empty virtual functions private (moving towards private-only hooks)
2022-01-08 16:14:54 +01:00
Michele Caini
a53dbb6950
registry: deletion policy is checked at runtime for groups since we can change it dynamically now
2022-01-08 14:34:21 +01:00
Michele Caini
a03b88e0eb
dense_hash_[map/set]: suppress super annoying warnings
2022-01-07 14:07:35 +01:00
Michele Caini
3443987127
meta: meta_type::invoke also searches into the base types for a candidate function
2022-01-04 14:55:30 +01:00
Michele Caini
c73a79fd42
view: cleanup
2022-01-04 13:53:00 +01:00
Michele Caini
dedbe3d431
storage: make shrink_to_size check for tombstones only when needed
2022-01-03 21:30:53 +01:00
Michele Caini
87ef713a17
dense_hash_[map/set]: cleanup
2022-01-03 21:17:37 +01:00
Michele Caini
4ba8ac4fa1
sparse_set: opaque emplace/insert return (eventually invalid) iterators to the inserted elements
2022-01-02 17:21:21 +01:00
Michele Caini
e74e0531bd
sparse_set/storage: minor changes
2022-01-02 16:51:08 +01:00
Michele Caini
b67cb4bd1f
sparse_set/storage: minor changes to make it easier to read for the future me :)
2022-01-01 17:09:34 +01:00
Michele Caini
22628c9ac4
sparse_set/storage: prepare them for a faster and opaque ::insert
2021-12-31 17:23:50 +01:00
Michele Caini
4dd0862fad
runtime_view:
...
* added ::iterate and ::exclude member functions to attach pools at runtime
* removed vector-based constructor
* removed basic_registry<...>::runtime_view member function
* updated benchmarks accordingly (also reviewed them as a whole just because)
2021-12-30 14:41:05 +01:00
Michele Caini
0ec57fbb8d
sparse_set: removed redundant check
2021-12-30 14:38:51 +01:00
Michele Caini
97fe978d14
runtime_view: removed redundant validity check
2021-12-29 00:25:11 +01:00
Michele Caini
2a74c7d897
runtime_view: support to all types of sparse set
2021-12-28 09:28:41 +01:00
Michele Caini
cdf9c2fc6f
registry: ctx internal review
2021-12-27 16:18:17 +01:00
Michele Caini
235f84a0d4
registry: minor changes
2021-12-27 15:58:09 +01:00
Michele Caini
ccaa490a2f
registry: removed unnecessary dispatching from non-const try_ctx
2021-12-27 15:54:49 +01:00
Michele Caini
8eaf11b510
sparse_set: added the possibility to change the deletion policy at runtime
2021-12-27 15:08:42 +01:00
Michele Caini
57a5faa448
sparse_set: updated doc
2021-12-26 23:31:36 +01:00
Michele Caini
be87191d0a
sparse_set:
...
* opaque emplace returns bool
* opaque insert returnes the number of entities actually emplaced
2021-12-26 17:04:10 +01:00
Michele Caini
40aabe76c7
sparse_set: fixed a throwing case that could leave the set in an inconsistent state
2021-12-26 16:36:30 +01:00
Michele Caini
e1b3f2b95a
registry: added weak ::storage for opaque cross registry operations
2021-12-22 16:21:55 +01:00
Michele Caini
771c449621
bump the version number
2021-12-21 13:27:04 +01:00
Michele Caini
61ecaa5756
storage: review to avoid code duplication
2021-12-21 08:33:46 +01:00
Michele Caini
c05dddc56e
runtime_view: slightly optimized iterators
2021-12-21 08:33:46 +01:00
Michele Caini
1bcc87c916
runtime_view: removed an useless check, slightly improved performance
2021-12-19 10:25:55 +01:00
Michele Caini
3498dea486
registry ( close #521 ):
...
* remove visit
* added storage_proxy_iterator (input iterator category, modeled as a random access iterator)
* added ::storage() (const and non-const) to return an iterable object over all pools
2021-12-17 17:05:14 +01:00
Michele Caini
a4aab8458b
group/storage/view: minor changes
2021-12-17 16:57:29 +01:00
Michele Caini
534744d615
iterator: minor changes
2021-12-17 16:57:26 +01:00
Michele Caini
dc5450b95e
view: natvis friendly representation
2021-12-17 16:57:24 +01:00
Michele Caini
9e0e276740
dense_hash_set/map: removed unnecessary type members
2021-12-17 16:57:22 +01:00
Michele Caini
1c9c02f3ce
view: avoid exposing internal details from iterators
2021-12-17 16:57:20 +01:00
Michele Caini
7774f9f402
storage: review + avoid exposing internal details from iterators
2021-12-17 16:57:18 +01:00
Michele Caini
5607219945
sparse_set: minor changes
2021-12-17 16:57:14 +01:00
Michele Caini
69ef3efd2d
dense_hash_map/set: avoid exposing internal details from iterators
2021-12-17 16:57:10 +01:00
Michele Caini
36c118922b
group/view:
...
* added default constructors to input iterators
* make sure that a default constructed iterator compares equal to end()
2021-12-17 08:39:54 +01:00
Michele Caini
1d014953e3
storage: try to also please gcc-9
2021-12-16 14:33:24 +01:00