Michele Caini
0cec8de164
dense_hash_map/set: suppress warnings due to integral conversions
2022-01-25 09:09:37 +01:00
Michele Caini
1caa8d923d
sparse_set/storage: iterator's ::index returns the right offset
2022-01-23 13:05:45 +01:00
Michele Caini
4fa51f8c52
type_traits: removed is_iterator_type[_v], it may be ambiguous and cause errors
2022-01-22 16:59:17 +01:00
Michele Caini
a8be765aa8
registry: disable optimizations based on is_iterator_type, free pools allow to implement them on the user side and more efficiently when needed
2022-01-22 16:52:45 +01:00
Michele Caini
26ba137424
registry: template ::storage support to const qualified types
2022-01-21 19:00:49 +01:00
Michele Caini
e6006663ec
registry: remove [[nodiscard]] from the template ::storage method
2022-01-21 11:08:07 +01:00
Michele Caini
3878a696af
registry: standalone context type ( close #575 )
2022-01-20 09:37:31 +01:00
Michele Caini
a7d4a980ba
*: more consistent policy for final classes
2022-01-19 12:41:50 +01:00
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
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
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
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