Michele Caini
2f03b225f7
sparse_set: remove the cursed ::slot function (finally)
2022-01-28 14:06:22 +01:00
Michele Caini
533bc1ce94
sparse_set: review ::clear
2022-01-28 14:06:22 +01:00
Michele Caini
add9df6058
doc: updated todo list
2022-01-28 14:06:21 +01:00
Michele Caini
d3496f3ff5
sparse_set: apparently using an invalid iterator isn't a good idea :)
2022-01-28 14:06:21 +01:00
Michele Caini
e97f7ee725
doc: minor changes
2022-01-28 14:06:21 +01:00
Michele Caini
37497295fb
sparse_set/storage:
...
* refine the try_erase to make it accept an iterator and a count (easier to work with at the call site)
* added a test for the stable clear
* added a note for future improvements
2022-01-28 14:06:21 +01:00
Michele Caini
2e89b3b5b9
sparse_set/storage: make try_erase accept a range of entities
2022-01-28 14:06:21 +01:00
Michele Caini
518bbc651e
sparse_set/storage:
...
* try_emplace returns a basic iterator
* try_erase accepts a basic iterator (prepare for an even faster remove/erase/clear/whatever)
2022-01-28 14:06:21 +01:00
Michele Caini
ffd1d97e03
natvis: updated container.natvis to use the right names
2022-01-28 14:05:41 +01:00
Michele Caini
e503d431f1
doc: minor changes
2022-01-28 14:00:54 +01:00
Michele Caini
49a066714a
test: minor changes
2022-01-28 14:00:33 +01:00
Michele Caini
7eec610d21
container:
...
* dense_hash_map -> dense_map
* dense_hash_set -> dense_set
2022-01-28 13:35:16 +01:00
Michele Caini
530507c36b
meta: some compile-time checks to avoid subtle runtime errors
2022-01-27 22:49:35 +01:00
Michele Caini
4d2584d8fc
doc: added home hearth to the links page
2022-01-25 18:09:37 +01:00
Michele Caini
0f5057920e
doc: added gaia-ecs to the list of similar projects
2022-01-25 18:00:34 +01:00
Michele Caini
a98000cf3b
test: I am the winner of the best error message ever but I remain humble :)
2022-01-25 14:56:00 +01:00
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
d2d35d490a
doc: updated entity.md
2022-01-22 16:45:05 +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
74eb2772b6
natvis: support standalone registry context
2022-01-20 15:58:32 +01:00
Michele Caini
3878a696af
registry: standalone context type ( close #575 )
2022-01-20 09:37:31 +01:00
Michele Caini
49ac34c405
doc: avoid confusion with context variables
2022-01-19 16:02:04 +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
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