Michele Caini
357fcd44d7
poly: make Member type explicit to avoid errors with older compilers
2022-01-31 14:48:20 +01:00
Michele Caini
5a0a682d35
meta: relaxed checks on conversion functions
2022-01-31 09:55:53 +01:00
Michele Caini
1fcb7e5aba
dispatcher: minor changes
2022-01-31 08:44:40 +01:00
Michele Caini
eec867bc9e
enum:
...
* remove unused functions
* avoid errors due to narrowing conversions
2022-01-31 08:44:24 +01:00
Michele Caini
5a956d2914
poly: compile-time checks on embedded vtables + code coverage
2022-01-30 16:53:27 +01:00
Michele Caini
e0e29cc363
test: cleanup
2022-01-30 16:52:51 +01:00
Michele Caini
9fc8e03f72
poly: refined fwd file, updated (typed-)tests
2022-01-29 17:32:15 +01:00
Michele Caini
b054e93f0e
build system: removed the in-source build check
2022-01-29 17:31:37 +01:00
Michele Caini
653680a356
doc: minor changes
2022-01-29 17:30:20 +01:00
Michele Caini
40035f2e52
gh: updated funding file
2022-01-29 17:29:05 +01:00
Michele Caini
a70b7daec4
build system: workflow cleanup
2022-01-29 17:25:34 +01:00
Michele Caini
0f3e7b5dac
doc: minor changes to suppress warnings
2022-01-29 16:15:40 +01:00
Michele Caini
2fbc08b606
test: a handful of minor changes to please all compilers from the CI and remove some lambdas
2022-01-29 11:31:57 +01:00
Michele Caini
e4897f709e
test: merge poly tests in a single file, use typed tests to reduce the boilerplate
2022-01-29 10:51:25 +01:00
Michele Caini
84445aa28b
test: use gtest typed test suite for enums
2022-01-29 10:50:33 +01:00
Michele Caini
0795f9a9f2
test: separate death tests as suggested in the gtest doc
2022-01-29 10:47:22 +01:00
Michele Caini
44ae0d67f6
sparse_set: set the free list to tombstone rather than null within ::clear
2022-01-28 15:53:36 +01:00
Michele Caini
a74f0ca370
test: code coverage
2022-01-28 14:06:22 +01:00
Michele Caini
266c1fcdcb
registry: better/faster remove
2022-01-28 14:06:22 +01:00
Michele Caini
977c3407e7
registry: better/faster erase
2022-01-28 14:06:22 +01:00
Michele Caini
99c2299ed4
test: added missing typename keyword
2022-01-28 14:06:22 +01:00
Michele Caini
39a08f17da
sparse_set: clear no longer creates tombstones
2022-01-28 14:06:22 +01:00
Michele Caini
57de1187fc
sparse_set/storage:
...
* reintroduce the swap_and_pop vs in_place_pop split for perf reasons
* rollback to a model with two iterators on virtual functions
* even faster range-erase/clear
2022-01-28 14:06:22 +01:00
Michele Caini
2bba6d4c0d
test: code coverage
2022-01-28 14:06:22 +01:00
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