Michele Caini
2196db562e
registry:: non-template storage(id) returns an iterator rather than a naked pointer
2022-01-19 12:15:22 +01:00
Michele Caini
2ad3e0ed4c
hashed_string: updated natvis representation
2022-01-19 09:30:35 +01:00
Michele Caini
6e03fe77ae
doc: updated copyright
2022-01-19 07:43:58 +01:00
Michele Caini
af8ec7b5dd
registry: remove/erase dispatch based on the iterator type
2022-01-18 08:30:43 +01:00
Michele Caini
7fa29e7341
registry: strict check on storage types to prevent subtle bugs in case of errors
2022-01-18 07:45:03 +01:00
Michele Caini
9c6950d163
hashed_string: I managed to crash clang but I remain humble and try to help it :)
2022-01-17 14:02:02 +01:00
Michele Caini
5d4cbfe8e7
hashed_string: make it work with vs toolset v141
2022-01-17 13:49:11 +01:00
Michele Caini
4747422110
*: added a bunch of final here and there
2022-01-17 13:43:55 +01:00
Michele Caini
7d1416ac74
hashed_string: store size information ( close #824 )
2022-01-17 08:25:56 +01:00
Michele Caini
2efaa7af7b
*: allocator aware classes fail to compile if allocator's value type and container's value type differ
2022-01-15 16:48:33 +01:00
Michele Caini
68e259870f
sparse_set/storage:
...
* support ::erase suppression
* support ::emplace with invalid entities when suppressed
* support ::erase/::remove with invalid entities when suppressed
2022-01-15 00:48:07 +01:00
Michele Caini
29c2c94784
doc: suppress warnings from doc generation
2022-01-15 00:45:35 +01:00
Michele Caini
3f2e1d078f
sparse_set/storage: replace the whole try_insert machinery with a force_back parameter to try_emplace
2022-01-15 00:44:47 +01:00
Michele Caini
0a259da05a
sparse_set: opaque insert always appends elements
2022-01-14 14:06:41 +01:00
Michele Caini
1b22fe6de2
storage: insert for non-empty types always appends elements
2022-01-13 15:01:06 +01:00
Michele Caini
9b700c3bd2
natvis: removed count filter from sparse set, it makes it harder to debug internal issues
2022-01-13 15:00:34 +01:00
Michele Caini
3b72e30c36
sparse_set: use the right iterator in the catch branch of insert
2022-01-13 14:44:27 +01:00
Michele Caini
9eba103de9
storage: insert for empty types always appends elements
2022-01-13 14:05:33 +01:00
Michele Caini
ecadee3876
sparse_set: added basic virtual try_insert (insert does not use it yet)
2022-01-13 13:47:22 +01:00
Michele Caini
699f9105ae
storage: arguments are always ignored for empty types
2022-01-13 13:41:32 +01:00
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
866a7fb641
natvis: added info about the sparse array of a sparse set
2022-01-11 18:18:41 +01:00
Michele Caini
a5fe42268f
test: cleanup
2022-01-11 08:15:09 +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
d514ecbd5e
doc: updated documentation about deletion policies
2022-01-08 14:36:04 +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
4472eb1c40
updated TODO file
2022-01-06 00:23:58 +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
19ab584d32
doc: updated FAQs
2021-12-29 16:34:26 +01:00