Michele Caini
cb974bf567
adjacency_matrix: fix in_edges() is off by 1 in some cases ( close #1019 )
2023-06-13 11:56:56 +02:00
Michele Caini
7b7d82e6f6
doc: snapshot ( close #984 )
2023-06-12 08:22:13 +02:00
Michele Caini
05c6898fc2
test: self-fixing archive example for snapshot classes
2023-06-12 08:20:32 +02:00
Michele Caini
7ffa459a66
snapshot: drop ::get member template parameter
2023-06-12 08:19:47 +02:00
Michele Caini
93e8e94e60
test: basic continuous loader
2023-06-11 12:52:20 +02:00
Michele Caini
c4e2416621
snapshot: review basic_continuous_loader (and drop shrink)
2023-06-09 09:28:53 +02:00
Michele Caini
9c25419b9a
test: more on basic_snapshot_loader
2023-06-09 09:02:42 +02:00
Michele Caini
1879830df1
snapshot: drop pointless assert
2023-06-09 09:01:12 +02:00
Michele Caini
29298c0eb1
test: guarantee code coverage, we'll update the test later on
2023-06-08 10:34:34 +02:00
Michele Caini
247abef1d7
test: rollback for code coverage purposes on the snapshot class
2023-06-08 09:47:40 +02:00
Michele Caini
6994d98d2a
test: typo
2023-06-07 17:07:22 +02:00
Michele Caini
9a600ece2d
test: snapshot
2023-06-07 15:32:41 +02:00
Michele Caini
f91226ef47
snapshot: share ::orphans implementation (to deprecate in future though)
2023-06-07 09:17:25 +02:00
Michele Caini
e366ffbd30
doc: snapshot
2023-06-07 09:14:14 +02:00
Michele Caini
63b300d39d
snapshot: again, dense_map::contains is a thing
2023-06-06 10:18:22 +02:00
Michele Caini
afb70d1570
test: avoid warnings due to unused variables
2023-06-06 10:17:38 +02:00
Michele Caini
49534eec0d
snapshot: dense_map::contains is a thing fortunately
2023-06-06 10:14:33 +02:00
Michele Caini
3f1277f7bd
snapshot: use the right allocator for the remote-local mapping
2023-06-06 10:10:10 +02:00
Michele Caini
26fad4c385
test: basic snapshot loader
2023-06-06 09:26:34 +02:00
Michele Caini
25b3afacf6
test: basic snapshot
2023-06-06 09:25:56 +02:00
Michele Caini
2d25bbb090
snapshot: check registry type
2023-06-05 16:03:11 +02:00
Michele Caini
0eb834582d
snapshot: small cleanup
2023-06-01 14:36:57 +02:00
Michele Caini
124a440527
test: use the new snapshot get functions in the test suite
2023-06-01 10:10:32 +02:00
Michele Caini
5c704636ef
test: use the new snapshot get functions in the test suite
2023-06-01 10:10:00 +02:00
Michele Caini
31fd94cc3c
snapshot: cleanup to get ready to drop an internal function
2023-05-31 15:16:13 +02:00
Michele Caini
573e43272a
snapshot: reduce storage lookups
2023-05-31 15:14:05 +02:00
Michele Caini
1d89434812
snapshot: drop useless function
2023-05-31 15:03:14 +02:00
Michele Caini
e0a1ef7c1b
snapshot: check on member type class
2023-05-31 14:44:59 +02:00
Michele Caini
48ac0e0eb4
snapshot: add basic_continuous_loader::get, deprecate ::entities and ::component
2023-05-31 10:04:37 +02:00
Michele Caini
bcb6234d94
snapshot: add basic_snapshot_loader::get, deprecate ::entities and ::component
2023-05-30 15:51:47 +02:00
Michele Caini
f967963264
snapshot: reject entity type in the range-get (now get instead of get_sparse)
2023-05-30 14:23:00 +02:00
Michele Caini
b22c55dd21
doc: typo
2023-05-30 14:21:43 +02:00
Michele Caini
4ff5a536ca
snapshot: add basic_snapshot::get, deprecate ::entities and ::component
2023-05-29 14:11:37 +02:00
Michele Caini
fff5f578ac
test: avoid using deprecated functions in an example
2023-05-26 15:11:53 +02:00
Michele Caini
0f44c8c923
doc: reflect recent changes
2023-05-26 15:06:34 +02:00
Michele Caini
0b6ad03150
snapshot:
...
* single element only archive functions required
* avoid iterating elements more than once
2023-05-26 15:00:25 +02:00
Michele Caini
2450b0bc69
test: minor changes (waiting for a rework)
2023-05-26 10:39:54 +02:00
Michele Caini
fc8eebf367
snapshot: use component_traits instead of is_empty_v
2023-05-26 08:49:15 +02:00
Michele Caini
e4f51f2b7f
snapshot: avoid multiple lookups of the same storage
2023-05-25 12:04:24 +02:00
Michele Caini
2c2216a89e
doc: typo
2023-05-25 11:51:51 +02:00
Michele Caini
cafe851809
snapshot: deprecate multi-type component loading function
2023-05-25 11:50:40 +02:00
Michele Caini
35e338cc99
snapshot: deprecate multi-type component loading function
2023-05-25 11:13:41 +02:00
Michele Caini
8feeaaef7c
doc: minor changes
2023-05-25 11:12:51 +02:00
Michele Caini
e7a3c4e370
snapshot: add missing [[deprecate(...)]]
2023-05-24 10:00:38 +02:00
Michele Caini
ea5c558bd4
snapshot: cleanup (waiting for further improvements)
2023-05-24 09:59:46 +02:00
Michele Caini
94f0ed179f
snapshot: deprecate multi-type component loading function
2023-05-24 09:54:49 +02:00
Michele Caini
244c359491
snapshot: deprecate multi-type component loading function
2023-05-24 09:47:20 +02:00
Michele Caini
1f24fea21a
type_traits: formatting
2023-05-23 14:02:20 +02:00
Michele Caini
8deaa09b24
test: perform static checks at compile-time
2023-05-23 14:00:24 +02:00
Dominic Koepke
85bffb7143
type_traits: std::tuple traits specialization for entt::type_list and entt::value_list ( #1011 )
2023-05-23 13:56:29 +02:00
Michele Caini
325ca310d3
view: updated ::refresh
2023-05-22 19:10:01 +02:00
Michele Caini
d903e268f0
snapshot: minor changes
2023-05-22 19:03:11 +02:00
Michele Caini
f4b26756c5
snapshot: improved basic_snapshot::component
2023-05-22 18:51:03 +02:00
Michele Caini
fb3a34ee91
*: updated TODO
2023-05-22 18:35:22 +02:00
Michele Caini
6902bb6c41
doc: typo
2023-05-22 17:34:09 +02:00
Michele Caini
379819b2b0
test: cleanup
2023-05-22 16:25:35 +02:00
Michele Caini
59abfbfb5a
meta: refine policy check on value types for non-member data
2023-05-19 12:20:21 +02:00
Michele Caini
6e2d871844
registry: avoid casting return types directly to better support empty storage
2023-05-19 12:19:27 +02:00
Michele Caini
57ec3c85cb
registry: erase_if ( close #977 )
2023-05-19 10:44:00 +02:00
Michele Caini
4afdf287f1
doc: minor changes
2023-05-19 10:43:12 +02:00
Michele Caini
2810ac7cb9
registry: suppress a warning on msvc
2023-05-18 14:56:58 +02:00
Michele Caini
e0d27f9bf8
*: updated TODO
2023-05-18 14:06:34 +02:00
Michele Caini
de303c9990
test: reverse-each for storage entity
2023-05-18 14:06:28 +02:00
Michele Caini
1619e780f4
test: reverse each for plain storage classes
2023-05-18 14:06:16 +02:00
Michele Caini
a1e37eca6b
storage: reverse-each
2023-05-18 14:06:03 +02:00
Michele Caini
c345e7456c
doc: note on reverse iterations
2023-05-17 16:26:15 +02:00
Michele Caini
d166c026f7
snapshot: minor changes
2023-05-17 14:39:54 +02:00
Michele Caini
5e639996d6
doc: minor changes
2023-05-17 10:24:13 +02:00
Michele Caini
dac2ef5a9c
doc: typo
2023-05-16 10:56:22 +02:00
Michele Caini
71d7888e81
snapshot: drop redundant check
2023-05-16 10:15:01 +02:00
Michele Caini
84a4df9c49
doc: exclude-only views
2023-05-16 09:55:08 +02:00
Michele Caini
95bc203196
doc: entity lifecycle
2023-05-16 09:49:35 +02:00
Michele Caini
5a9f6d211c
doc: cleanup
2023-05-15 16:13:31 +02:00
Michele Caini
a29302faae
test: more on entity signals
2023-05-15 08:49:07 +02:00
Michele Caini
75efa72c65
registry: cleanup ::erase
2023-05-15 08:33:26 +02:00
Michele Caini
58a84665b0
registry: cleanup ::remove
2023-05-15 08:33:06 +02:00
Michele Caini
a5263384d9
doc: drop redundant comments
2023-05-13 14:31:30 +02:00
Michele Caini
c0e6759c69
doc: cleanup a little further
2023-05-13 14:22:58 +02:00
Michele Caini
d754f74316
doc: cleanup
2023-05-13 14:06:58 +02:00
Michele Caini
1df5399431
doc: drop pointless tags
2023-05-13 13:57:48 +02:00
Michele Caini
c284e6feed
doc: minor changes
2023-05-13 13:29:26 +02:00
Michele Caini
500239758a
test: typo
2023-05-12 08:28:24 +02:00
DonutVikingChap
319ecd8084
organizer: fix organizer::vertex::prepare not creating component pools ( #1014 )
2023-05-12 08:24:23 +02:00
Michele Caini
d7891fabc0
doc: mention named pools support when registering listeners
2023-05-12 08:23:08 +02:00
Michele Caini
e287dd0419
helper: minor changes
2023-05-12 08:22:38 +02:00
Michele Caini
4dee9dde11
registry: named pools support for on_construct/on_update/on_destroy
2023-05-12 08:22:18 +02:00
Michele Caini
9bae6e67bc
doc: update connection helper doc
2023-05-11 14:23:15 +02:00
Michele Caini
aa7a7ce25a
doc: minor changes
2023-05-11 14:00:53 +02:00
Michele Caini
a969468c57
registry: de-deprecate :) on_construct/on_update/on_destroy
2023-05-11 13:58:52 +02:00
Michele Caini
a1e76fc638
doc: more about entity storage
2023-05-10 11:05:09 +02:00
Michele Caini
d8ed4ca354
registry: refine how entity storage is used internally
2023-05-10 10:47:11 +02:00
Michele Caini
3248e3f91e
helper: make sigh_helper work with named pools
2023-05-09 11:09:16 +02:00
Michele Caini
f00687e6f9
doc: updated registry documentation
2023-05-09 10:55:08 +02:00
Michele Caini
5240c6b60a
registry: deprecate on_construct/on_update/on_destroy
2023-05-09 10:54:49 +02:00
Michele Caini
67604a88e1
natvis: update registry snippet
2023-05-09 10:49:07 +02:00
Michele Caini
4242dfb8b5
registry: use entity storage directly as much as possible
2023-05-09 10:24:09 +02:00
Michele Caini
f96d8ee832
registry: prepare to split component storage and entity storage
2023-05-09 09:24:25 +02:00
Michele Caini
c147ec37c9
test: try to make gcc happy again
2023-05-09 08:48:22 +02:00
Michele Caini
094ddbba36
meta: avoid shadow warnings
2023-05-09 08:44:24 +02:00
Michele Caini
634630ca2d
test: add missing template keywords (thanks msvc for ignoring them)
2023-05-09 08:34:06 +02:00
Michele Caini
d78c26f266
*: updated TODO
2023-05-08 12:45:52 +02:00
Michele Caini
fabc6c9bd7
test: full cross-registry entity-copy example with meta (not strictly required)
2023-05-08 12:45:18 +02:00
Michele Caini
b6e8ddd2ad
meta: fight against the small nuances of the language :)
2023-05-08 12:24:43 +02:00
Michele Caini
cf2bbae6e1
mixin: make it simpler to modify the underlying type
2023-05-07 23:38:05 +02:00
Michele Caini
08799616d0
*: updated TODO
2023-05-05 16:19:51 +02:00
Michele Caini
58bebf78d8
meta: reduce symbols and their sizes if possible
2023-05-05 15:53:58 +02:00
Michele Caini
d534fad3ee
doc: more about views
2023-05-04 11:35:27 +02:00
Michele Caini
871dc7a401
doc: drop references to storage placeholders
2023-05-04 10:12:35 +02:00
Michele Caini
1fe7c78f7e
test: minor changes
2023-05-03 16:22:01 +02:00
Michele Caini
22a65f80fc
test: cleanup
2023-05-03 16:11:08 +02:00
Michele Caini
756ea8a388
*: updated TODO
2023-05-03 14:49:43 +02:00
Michele Caini
12186cb401
registry: drop internal static storage variables from ::assure
2023-05-03 14:49:35 +02:00
Michele Caini
aa9ffb9eef
registry: const ::storage<T>(...) returns a pointer to possibly null storage
2023-05-03 14:46:40 +02:00
Michele Caini
dcb5aed901
registry: lazily/partially initialize views in the ::view const function
2023-05-02 14:39:06 +02:00
Michele Caini
34f6a747a8
registry: add support for non-existent pools to try_get
2023-05-02 14:37:06 +02:00
Michele Caini
912cb2ad54
snapshot: constness review
2023-05-02 14:30:20 +02:00
Michele Caini
885488b3d6
registry: any_of supports non-existing pools now
2023-04-28 16:28:32 +02:00
Michele Caini
3d3d3ef2d9
registry: all_of supports non-existing pools now
2023-04-28 16:28:13 +02:00
Michele Caini
a7120b3400
registry: coding style
2023-04-28 16:26:56 +02:00
Michele Caini
51915205b0
test: cover stable multi-type model
2023-04-28 16:25:03 +02:00
Michele Caini
4a3ee042ea
view: refine ::storage function
2023-04-28 16:24:38 +02:00
Michele Caini
88a1b8d0df
view: stable multi-type view ::each(cb) function
2023-04-28 16:24:18 +02:00
Michele Caini
7e18a0f966
view: update ::use function
2023-04-28 16:23:33 +02:00
Michele Caini
c367082ddd
view: unchecked_refresh function
2023-04-28 16:22:23 +02:00
Michele Caini
9f94b5306d
view: double check on none_of
2023-04-28 16:21:17 +02:00
Michele Caini
44ed10c50b
view: stable multi type view ::find/::back/::front functions
2023-04-28 15:55:33 +02:00
Michele Caini
1b22809412
view: stable multi type view ::begin/::end functions
2023-04-28 15:48:09 +02:00
Michele Caini
bdabbaa63d
view: stable multi type view ::contains function
2023-04-28 15:47:16 +02:00
Michele Caini
c79c109b77
view: stable multi type view ::size_hint function
2023-04-28 15:44:00 +02:00
Michele Caini
f1a2133820
registry: prepare to remove static storage from const assure
2023-04-28 15:35:15 +02:00
Michele Caini
17dc061490
view: stable single type view ::each(cb) function
2023-04-28 14:20:45 +02:00
Michele Caini
3b8d82330d
view: drop unused return
2023-04-28 12:19:45 +02:00
Michele Caini
a20829e700
view: ::handle returns a pointer rather than a reference
2023-04-28 09:42:14 +02:00
Michele Caini
5be2fdc158
view: stable single type view ::each() function
2023-04-27 09:19:57 +02:00
Michele Caini
873b107e69
-: updated TODO
2023-04-27 09:19:27 +02:00
Michele Caini
356bbbe53e
view: stable single type view ::find function
2023-04-27 09:11:03 +02:00
Michele Caini
e3ce4e1567
view: stable single type view ::front/::back functions
2023-04-27 09:10:29 +02:00
Michele Caini
e02050c515
view: stable single type view ::rbegin/::rend functions
2023-04-27 09:07:37 +02:00
Michele Caini
26930633f0
view: stable single type view ::begin/::end functions
2023-04-27 08:59:50 +02:00
Michele Caini
b7a485767f
view: stable single type view ::contains function
2023-04-26 15:49:21 +02:00
Michele Caini
f54cdccd4f
view: stable single type view ::empty function
2023-04-26 15:48:45 +02:00
Michele Caini
41c9a32f31
view: stable single type view ::size function
2023-04-26 15:48:06 +02:00
Michele Caini
736ef35805
view: make operator bool work properly with partially initialized views
2023-04-26 13:10:31 +02:00
Michele Caini
0128cbb4f3
test: minor changes
2023-04-24 18:15:22 +02:00
Michele Caini
ff0a407151
test: prepare test suite for safe invalid views
2023-04-24 18:15:09 +02:00
Michele Caini
34f4403864
view: avoid using storage, further prepare for empty safe views
2023-04-24 17:49:49 +02:00
Michele Caini
b1c78efb6c
nativs: updated signal file
2023-04-24 17:31:56 +02:00
Michele Caini
28f03ff9ce
meta: add missing checks on factory<...>::data
2023-04-24 09:50:57 +02:00
Michele Caini
a5fe61adbb
*: minor changes
2023-04-24 08:35:52 +02:00
Michele Caini
457f5e59ea
view: rollback handle() usage and prepare to safe empty views
2023-04-24 08:35:17 +02:00
Michele Caini
422fd284e7
group: refine group ::find function
2023-04-21 15:32:14 +02:00
Michele Caini
6f32225736
view: refine single type view ::find function
2023-04-21 15:28:21 +02:00
Michele Caini
366bbceb02
doc: use doxygen-awesome-css
2023-04-21 09:03:44 +02:00
Michele Caini
7b7f81e08f
doc: update reference.md
2023-04-21 08:55:48 +02:00
Michele Caini
cfe955f970
doc: update links.md
2023-04-21 08:55:38 +02:00
Michele Caini
684ddc9de9
doc: minor changes
2023-04-21 08:42:52 +02:00
Michele Caini
f5d38a9aed
doc: drop redundant doxy variable
2023-04-21 08:34:23 +02:00
Michele Caini
447e3693f2
doc: updated doxy file (doxygen 1.9.6)
2023-04-21 08:29:25 +02:00
Michele Caini
909490bf63
view: try to make g++ happy again
2023-04-20 14:25:39 +02:00
Michele Caini
d90363e4a4
view: make view pack also work with empty views
2023-04-20 13:48:23 +02:00
Michele Caini
ee5de744c3
view: add missing [[nodiscard]]
2023-04-19 13:51:31 +02:00
Michele Caini
d401c88a04
view: assert on null handles
2023-04-19 11:54:45 +02:00
Michele Caini
80563b9557
view: allow swapping storage elements of a view
2023-04-19 09:29:31 +02:00
Michele Caini
c74900057c
sigh_mixin: avoid shadow warnings
2023-04-18 15:22:21 +02:00
Michele Caini
78867d5c9b
group: make msvc happy with constness on virtual functions
2023-04-18 15:22:04 +02:00
Michele Caini
d435fc7792
basic_entt_traits: suppress a warning by gcc
2023-04-18 15:21:26 +02:00
Michele Caini
e6f76e0f96
view: try to make VS happy again :)
2023-04-18 14:44:28 +02:00
Michele Caini
1c6b533609
test: minor changes
2023-04-18 13:28:01 +02:00
Michele Caini
5c3d8360c2
view: turn ::use into a self-contained, non-const function
2023-04-18 13:10:01 +02:00
Michele Caini
3882c7d9af
view: turn ::refresh into a self contained, non-const function
2023-04-18 13:00:59 +02:00
Michele Caini
15726218bd
view: doc
2023-04-18 12:58:04 +02:00
Michele Caini
869bfc82cf
test: minor changes
2023-04-17 18:34:53 +02:00
Michele Caini
0eb3d54b21
group: change signature of ::storage to return a (maybe null) pointer rather than a reference
2023-04-17 11:09:10 +02:00
Michele Caini
f83290f762
view: change signature of ::storage to return a (maybe null) pointer rather than a reference
2023-04-17 11:08:55 +02:00
Michele Caini
686a3b9d79
registry: make storage_for_type available to the final user
2023-04-14 12:37:05 +02:00
Michele Caini
4d57d5c327
registry: make ::storage<T> return type explicit
2023-04-14 12:33:41 +02:00
Michele Caini
36c21cf7fa
registry: drop redundant traits usage
2023-04-14 12:24:31 +02:00
Michele Caini
7ab10e1936
test: minor changes
2023-04-14 12:03:00 +02:00
Michele Caini
41467d35a4
-: updated TODO
2023-04-14 09:57:42 +02:00
Michele Caini
d351252a12
doc: entity storage
2023-04-14 09:11:42 +02:00
Michele Caini
c6cd4f701c
doc: refine storage section
2023-04-13 18:19:31 +02:00
Michele Caini
65889cca44
doc: brief mention of void storage
2023-04-13 14:02:17 +02:00
Michele Caini
f1914fd946
doc: rearrange a few things
2023-04-13 13:46:08 +02:00
Michele Caini
e53af7bef7
registry: minor changes
2023-04-12 15:43:46 +02:00
Michele Caini
b910cd2615
*: updated TODO
2023-04-12 15:16:00 +02:00
Michele Caini
58d331ca0e
registry: minor changes
2023-04-12 09:21:47 +02:00
Michele Caini
17f5b0a330
registry: avoid bumping version on destroy if not requested
2023-04-12 09:14:02 +02:00
Michele Caini
de386292bc
registry: deprecate ::each
2023-04-12 09:05:38 +02:00
Michele Caini
88bf26a2f8
registry: deprecate ::assign
2023-04-07 18:06:12 +02:00
Michele Caini
3caad4100d
mixin: common internal owner_or_assert function
2023-04-07 17:27:32 +02:00
Michele Caini
916203a240
test: stress assert on entity limit
2023-04-07 15:59:22 +02:00
Michele Caini
62f1971f7b
test: minor changes
2023-04-07 15:58:48 +02:00
Michele Caini
4fde96357d
natvis: updated registry snippet
2023-04-07 09:19:36 +02:00
Michele Caini
c3730b65fb
group:
...
* unified model
* drop group handler's size function (no longer required)
2023-04-07 09:19:22 +02:00
Michele Caini
1ea072cd38
group: back to the unified model for group handlers
2023-04-07 09:17:47 +02:00
Michele Caini
bbe4582ee9
meta: minor changes
2023-04-06 12:40:50 +02:00
Michele Caini
89ab5c328a
meta: operator==/!= for meta_func
2023-04-06 12:40:42 +02:00
Michele Caini
3a4672793d
meta: operator==/!= for meta_prop
2023-04-06 12:40:12 +02:00
Michele Caini
0a0446f35c
meta: operator==/!= for meta_data ( close #1002 )
2023-04-06 12:39:50 +02:00
Michele Caini
fc58ff74be
meta: operator==/!= for meta_handle (see #1002 )
2023-04-06 12:39:19 +02:00
Michele Caini
fed6831cdc
locator: support to opaque structures ( close #956 )
2023-04-05 14:20:34 +02:00
Michele Caini
1605c8d9d3
natvis: updated entity file
2023-04-04 11:51:56 +02:00
Michele Caini
d6641c7d8d
-: updated TODO file
2023-04-04 09:36:16 +02:00
Michele Caini
5079f38e99
storage: allow on_update signals on entity storage
2023-04-04 09:36:04 +02:00
Michele Caini
1eab2a4a80
meta: fix constness detection for static functions in meta_type::invoke
2023-04-04 09:35:10 +02:00
Michele Caini
c331107651
test: cleanup
2023-04-03 15:30:10 +02:00
Michele Caini
117b0bd675
test: more about storage<...>::patch
2023-04-03 08:56:02 +02:00
Michele Caini
9b4a6f8776
storage: use allocator_traits::destroy rather than destroy_at
2023-04-03 08:41:23 +02:00
Michele Caini
f4e6f2b375
group: suppress shadow warning
2023-03-31 15:51:03 +02:00
Michele Caini
5971fb7aa4
-: updated TODO
2023-03-31 14:00:05 +02:00
Michele Caini
10dfe7e935
sigh: allow disconnecting listeners during iterations ( close #986 )
2023-03-31 13:59:53 +02:00
Michele Caini
a9208a9565
doc: fixed typo
2023-03-31 11:14:54 +02:00
Michele Caini
1cc5b32cab
test: cleanup
2023-03-31 11:14:39 +02:00
Michele Caini
f8a972a3c6
signal: drop sink::before
2023-03-31 09:05:02 +02:00
Michele Caini
5b7cc20027
group: rollback some (no longer required) changes to the owning_group_descriptor
2023-03-30 15:07:51 +02:00
Michele Caini
bd34e7f2c7
group: drop nested groups support, prepare to the large group review and multi storage support
2023-03-30 15:00:32 +02:00
Michele Caini
46fe29c3f6
group: make matching functions virtual for owning groups
2023-03-30 08:48:04 +02:00
Michele Caini
c50e2815c8
group: make owning_group_descriptor depend on the storage base type
2023-03-30 08:43:53 +02:00
Michele Caini
fbfee632d5
group: minor changes
2023-03-29 18:32:19 +02:00
Michele Caini
77c59aabfa
group: group_handler::size function for owning groups
2023-03-29 18:26:41 +02:00
Michele Caini
ebb1e8a728
group: single check function for group handlers
2023-03-29 18:26:08 +02:00
Michele Caini
1646217f09
group: make types explicit for the next/prev functions
2023-03-29 17:36:31 +02:00
Michele Caini
645edfb2b8
group: decouple constructing and setting prev/next links
2023-03-29 17:35:53 +02:00
Michele Caini
61f28298c9
group/registry: minor changes
2023-03-29 15:11:05 +02:00
Michele Caini
d19f97bf21
group: use ::handle() if possible
2023-03-29 13:13:07 +02:00
Michele Caini
70c611a84f
group: cleanup
2023-03-29 13:12:05 +02:00
Michele Caini
286428c19c
group: make common_type base of non-owning group handlers
2023-03-29 13:11:59 +02:00
Michele Caini
6ec719bcfa
group: reduce the footprint of non-owning group handlers
2023-03-29 12:54:39 +02:00
Michele Caini
11f9bb2d74
registry: use shared_ptr<void> for non-owning groups (prepare to drop the basic handler dependency)
2023-03-29 12:21:56 +02:00
Michele Caini
5a1ba5ad7d
regisrtry: decouple container types for groups
2023-03-29 11:51:20 +02:00
Michele Caini
cf094e7ef5
registry: finally split owning and non-owning groups as it ought to be
2023-03-29 11:50:20 +02:00
Michele Caini
31808bd9a2
sigh: flip the last commit on its head and drop redundant functions rather than merging them
2023-03-27 17:01:14 +02:00
Michele Caini
61a5173a75
sigh: merge a couple of functions
2023-03-27 16:30:16 +02:00
Michele Caini
ed6fe9e657
sigh/sink: refine internal definition
2023-03-27 15:56:35 +02:00
Michele Caini
e30fa85200
doc: cleanup
2023-03-27 15:51:49 +02:00
Michele Caini
ca1069e182
snapshot: avoid allocations if possible
2023-03-27 14:41:46 +02:00
Michele Caini
70f73a0949
snapshot: drop pointless checks
2023-03-27 13:44:03 +02:00
Michele Caini
710fff0e3f
entity: make get_t, exclude_t and owned_t constexpr constructible
2023-03-27 11:21:31 +02:00
Michele Caini
660bc5843e
entity: turn get_t, exclude_t and owned_t into proper classes ( close #998 )
2023-03-27 11:15:35 +02:00
Michele Caini
13295a14ee
type_traits: v141 toolset workaround for value_list_diff
2023-03-27 11:10:45 +02:00
Michele Caini
9ce07ff617
type_traits: value_list_diff[_t]
2023-03-26 12:46:27 +02:00
Michele Caini
b272e04bab
type_traits: value_list_contains[_v]
2023-03-26 12:42:15 +02:00
Michele Caini
28b11912ab
test: cleanup
2023-03-26 12:38:50 +02:00
Michele Caini
b9f096d125
type_traits: value_list_unique[_t]
2023-03-26 12:38:09 +02:00
Michele Caini
8c60faa1d0
type_traits: value_list_index[_v]
2023-03-26 12:33:04 +02:00
Michele Caini
1f93ea4eee
snapshot: avoid unnecessary lookups
2023-03-24 17:09:09 +01:00
Michele Caini
7ca77e53f6
snapshot: avoid unnecessary lookups
2023-03-24 17:08:01 +01:00
Michele Caini
69397f3658
snapshot: avoid unnecessary lookups
2023-03-24 17:04:23 +01:00
Michele Caini
f907bc066a
snapshot: drop redundant checks and avoid unnecessary lookups
2023-03-24 16:48:30 +01:00
Michele Caini
bda52701f5
snapshot: avoid unnecessary lookups
2023-03-24 16:45:41 +01:00
Michele Caini
d26f7684ce
snapshot: minor changes
2023-03-24 16:42:24 +01:00
Michele Caini
63d6c2bff6
snapshot: avoid unnecessary lookups
2023-03-24 16:41:26 +01:00
Michele Caini
cc45e73414
snapshot: also avoid using views if not required
2023-03-24 16:37:20 +01:00
Michele Caini
5d092bcb18
snapshot: avoid unnecessary lookups
2023-03-24 16:35:22 +01:00
Michele Caini
295c68841c
snapshot: review ::orphans functions
2023-03-24 16:33:40 +01:00
Michele Caini
2664b52559
observer: allocator support
2023-03-24 16:04:52 +01:00
Michele Caini
dd36328331
observer: configurable mask type
2023-03-24 15:56:54 +01:00
Michele Caini
c8c929e4a2
group: use type members properly
2023-03-24 12:16:36 +01:00
Michele Caini
d1ef7bf155
view: use type members properly
2023-03-24 12:16:30 +01:00
Michele Caini
1ab23f17d2
group: early exit on signal races
2023-03-24 11:24:07 +01:00
Michele Caini
a72eb4693b
group: minor changes
2023-03-24 11:11:40 +01:00
Michele Caini
67579d062b
-: updated TODO
2023-03-23 16:48:48 +01:00
Michele Caini
766a233f37
view: base_type -> common_type
2023-03-23 16:42:13 +01:00
Michele Caini
905671c236
runtime_view: base_type -> common_type
2023-03-23 16:42:06 +01:00
Michele Caini
27c1383e46
group: base_type -> common_type
2023-03-23 16:41:54 +01:00
Michele Caini
029ccc8f75
registry: base_type -> common_type
2023-03-23 16:41:32 +01:00
Michele Caini
cde40d586d
group: drop unused using decl
2023-03-23 13:37:40 +01:00
Michele Caini
6a16a8a20b
group: auto init for owning groups
2023-03-23 08:52:38 +01:00
Michele Caini
1a12dede6f
group: auto init for non-owning groups
2023-03-23 08:36:23 +01:00
Michele Caini
35a78b65ea
group: cleanup
2023-03-22 16:42:31 +01:00
Michele Caini
ada19432f6
group: support for index based sort
2023-03-22 13:50:08 +01:00
Michele Caini
4998e90870
doc: minor changes
2023-03-22 13:49:45 +01:00
Michele Caini
471c11c6dc
sparse_set: respect -> sort_as (naming is hard, you know)
2023-03-21 14:26:35 +01:00
Michele Caini
3e13e0b59b
group: sort/respect -> sort_as (also decoupled from group types)
2023-03-21 14:14:18 +01:00
Michele Caini
53cd105f2e
group: reuse pools as much as possible
2023-03-20 10:07:11 +01:00
Michele Caini
24b31c3798
group: reuse pools as much as possible
2023-03-20 10:00:07 +01:00
Michele Caini
def82b534b
group: index based get
2023-03-20 08:11:42 +01:00
Michele Caini
a424f4ebf6
view: review get
2023-03-19 16:02:06 +01:00
Michele Caini
b8f0a8d8ec
doc: a couple of interesting articles/series ( close #994 )
2023-03-19 15:31:31 +01:00
Michele Caini
7941226eff
group: try to reuse pools when sorting and also please all compilers out there at the same time (aka me figthing ICEs again)
2023-03-18 12:48:52 +01:00
Michele Caini
86bbb2f6bb
group: reuse pools when sorting
2023-03-18 12:41:11 +01:00
Michele Caini
3c176f7258
test: suppress warnings due to unused variables
2023-03-18 12:21:13 +01:00
Michele Caini
3642c8a784
registry: drop [[nodiscard]] from ::group ( close #991 )
2023-03-18 12:17:39 +01:00
Michele Caini
0e80d90a76
group: use storage<idx> as much as possible
2023-03-18 12:14:55 +01:00
Michele Caini
4fdf2dccd4
group: update doc
2023-03-17 16:16:53 +01:00
Michele Caini
f8a997e6c5
group: minor changes
2023-03-17 16:14:16 +01:00
Michele Caini
40f676ed14
test: drop unused include
2023-03-17 12:20:19 +01:00
Michele Caini
5e346748ea
test: code coverage for groups and registry
2023-03-17 12:19:23 +01:00
Michele Caini
3ef61fe014
meta: support meta member functions on primitive types
2023-03-17 10:43:08 +01:00
Michele Caini
3885d280d3
test: cleanup
2023-03-17 10:36:10 +01:00
Michele Caini
f41b914197
meta: allow updating values on meta properties
2023-03-17 08:45:58 +01:00
Michele Caini
e0684f6348
registry: cleanup/minor changes
2023-03-17 08:45:00 +01:00
Michele Caini
fb980a78c0
registry: further refine the group function(s)
2023-03-16 15:00:17 +01:00
Michele Caini
c2430ab48d
doc: minor changes
2023-03-16 12:25:46 +01:00
Michele Caini
d36d9cb39c
registry: further cleanup group functions
2023-03-16 12:25:28 +01:00
Michele Caini
0017c08bb6
group: get pools from handlers
2023-03-16 09:26:47 +01:00
Michele Caini
e737ff7470
group: get filter from handlers
2023-03-15 10:32:59 +01:00
Michele Caini
945dc40937
group: split group handler functions
2023-03-15 09:39:50 +01:00
Michele Caini
7ef0085115
registry: drop group_data
2023-03-14 15:45:13 +01:00
Michele Caini
d2fa68813f
registry/group: prepare to get rid of group_data
2023-03-14 15:35:00 +01:00
Michele Caini
f22a09a9a2
group: in-between change to simplify dropping group_data
2023-03-14 15:12:02 +01:00
Michele Caini
b0aba79a56
snapshot: minor changes
2023-03-14 15:10:02 +01:00
Michele Caini
7c23e4a2f6
registry: minor changes
2023-03-14 13:56:06 +01:00
Michele Caini
7fe035ce4b
group: move group size from registry group_data to basic_group_handler
2023-03-14 11:38:41 +01:00
Michele Caini
3e7160edad
group: minor changes
2023-03-14 11:12:25 +01:00
Michele Caini
aaeb686ec7
group: common base class for group handlers
2023-03-14 11:11:22 +01:00
Michele Caini
3fdf4884d8
group: prepare for group handler common base class
2023-03-14 11:09:35 +01:00
Michele Caini
1b23ff4b91
registry: use common group handler types as keys for the group set
2023-03-14 10:50:02 +01:00
Michele Caini
88dac318e5
group: wrap the len of owning groups to avoid changing it by mistake
2023-03-13 14:47:26 +01:00
Michele Caini
520c2e660d
group: make group handlers work with multiple storage of the same type
2023-03-12 19:54:03 +01:00
Michele Caini
f5d0d451b4
group: split pools and filter in the group handlers
2023-03-11 19:23:09 +01:00
Michele Caini
8af6fc0cc4
group: use ::handle internally if possible
2023-03-10 14:41:51 +01:00
Michele Caini
c04b97a313
group: add ::handle function to all group types
2023-03-10 12:46:08 +01:00
Michele Caini
1d85414dc2
doc: drop refs to registry::version ( close #992 )
2023-03-10 12:23:07 +01:00
Michele Caini
c6533827f0
group: fight with clang format from time to time :)
2023-03-10 10:20:16 +01:00
Michele Caini
b5803451b4
group: make owning groups work with their handlers
2023-03-10 10:17:56 +01:00
Michele Caini
3417d66b2b
group: make non-owning groups work with their handlers
2023-03-10 10:05:10 +01:00
Michele Caini
1e61204e80
registry: deduce group handler type from group type
2023-03-10 09:57:23 +01:00
Michele Caini
19c4857ef1
group: cleanup
2023-03-03 11:31:01 +01:00
Michele Caini
66ea94898e
registry/group: move group handler to group file as it ought to be
2023-03-03 09:20:10 +01:00
Michele Caini
ced6d21c3e
registry: break dependency between registry and group handlers
2023-03-02 10:06:39 +01:00
Michele Caini
429c7c45c7
registry: further cleanup things
2023-03-02 10:03:23 +01:00
Michele Caini
c03b1111aa
registry: small cleanup
2023-03-02 09:54:26 +01:00
Michele Caini
ebd7d3acdc
registry: storage based model with pools for groups
2023-03-02 09:54:08 +01:00
Michele Caini
5aeec60cfe
registry: prepare to switch to storage based group handlers
2023-03-02 09:47:48 +01:00
Michele Caini
620b4f7517
registry: pass handlers to group callbacks
2023-03-02 08:50:25 +01:00
Michele Caini
6d58004c11
registry: minor changes to simplify the implementation slightly
2023-03-02 08:47:23 +01:00
Michele Caini
df6d926dec
registry: prepare for a storage based group handler
2023-03-02 08:46:56 +01:00
Michele Caini
e63af24cb5
registry: turn the non-owning group handler in a storage
2023-03-01 18:03:38 +01:00
Michele Caini
068d9f8ae8
registry: discard unused arguments from listeners if possible
2023-03-01 17:50:58 +01:00
Michele Caini
c19c848c46
test: suppress warnings due to unused variables
2023-03-01 12:17:55 +01:00
Michele Caini
0bf0a0a8fa
doc: delegate
2023-03-01 12:12:28 +01:00
Michele Caini
743e8678ea
delegate: also support functions that skip first elements (on second attempt only)
2023-03-01 12:12:18 +01:00
Michele Caini
a7ad1c06f4
delegate: prepare to support filtering on both sides
2023-02-28 10:46:54 +01:00
Michele Caini
b1af70e70f
registry: avoid checking pools in the group handler if possible
2023-02-28 10:23:58 +01:00
Michele Caini
c87c3533ee
registry: avoid checking pools in the group handler if possible
2023-02-28 10:08:54 +01:00
Michele Caini
4839a0ee6c
registry: cleanup
2023-02-27 16:31:46 +01:00
Michele Caini
a0f0c44e6d
registry: minor changes
2023-02-27 16:25:35 +01:00
Michele Caini
74691dc1d9
group: just use meaningful names :)
2023-02-27 16:21:04 +01:00
Michele Caini
e4957badb7
registry: split group handler to further refine group management
2023-02-27 16:17:05 +01:00
Michele Caini
46791c4c3a
registry: turn group handler functions into static ones
2023-02-27 16:03:33 +01:00
Michele Caini
56c3917841
registry: prepare to rework groups
2023-02-27 15:59:54 +01:00
Michele Caini
1fb13d3e93
doc: minor changes
2023-02-27 15:32:06 +01:00
Michele Caini
535beb4e2d
storage: drop unnecessary use of integral_constant
2023-02-24 16:32:36 +01:00
Michele Caini
2d318b88c9
-: updated TODO
2023-02-24 16:29:35 +01:00
Michele Caini
b7f0b76cef
entity/mixin: add missing include
2023-02-24 15:12:49 +01:00
Michele Caini
d30312f516
entity/helper: add missing include, drop unnecessary traits calls
2023-02-24 15:11:19 +01:00
Michele Caini
30772848e6
meta: avoid unnecessary calls to std::move
2023-02-24 15:04:40 +01:00
Nicolas Jakob
eca01a3979
doc: add vcpkg badge and vcpkg.link ( #985 )
2023-02-24 14:52:06 +01:00
Michele Caini
35ef0b7ac1
core: reduces the number of instantiations a bit
2023-02-23 16:21:49 +01:00
Michele Caini
19ccba3a6c
meta: reduces the number of instantiations a bit
2023-02-23 16:21:40 +01:00
Michele Caini
207b7674ae
doc: fix typo
2023-02-23 16:04:41 +01:00
Michele Caini
631c55ba92
storage: minor changes/tests
2023-02-22 11:32:15 +01:00
Michele Caini
e7b30fd36d
storage: return iterator to elements rather than entities and only if it makes sense
2023-02-22 11:14:30 +01:00
Michele Caini
3e959007b9
storage: ::insert returns an iterator to the range of inserted entities
2023-02-21 10:52:37 +01:00
Michele Caini
07ec4ca230
-: updated TODO
2023-02-21 10:50:42 +01:00
Michele Caini
6e4946b682
storage: uniform interface to simplify mixin implementation
2023-02-20 09:34:11 +01:00
Michele Caini
47ea16f17c
test: signals on entity creation/destruction
2023-02-18 11:51:18 +01:00
Michele Caini
722857fc07
test: get rid of pointless template parameters
2023-02-18 11:30:35 +01:00
Michele Caini
2125b38381
test: minor changes
2023-02-17 11:00:50 +01:00
Michele Caini
289de7d57b
test: exclude only views
2023-02-17 10:59:36 +01:00
Michele Caini
25ecd8e797
test: minor changes
2023-02-17 10:59:11 +01:00
Michele Caini
319dfdb070
test: filtered registry view
2023-02-17 10:36:07 +01:00
Michele Caini
9dbbcac01e
-: updated TODO
2023-02-17 09:09:36 +01:00
Michele Caini
f545c8e058
registry: deprecate ::release
2023-02-17 09:09:28 +01:00
Michele Caini
c68fa6a654
registry: make ::destroy work without ::release (the latter to be deprecated)
2023-02-16 10:00:45 +01:00
Michele Caini
d288ecd70d
registry: make ::release use ::bump return value
2023-02-16 09:59:42 +01:00
Michele Caini
312d3aba84
sparse_set: bump returns the version in use (for convenience)
2023-02-16 09:58:07 +01:00
Michele Caini
4d2b2c6de5
registry: use traits_type::next if possible
2023-02-16 09:24:03 +01:00
Michele Caini
80d55a226c
test: increase code coverage
2023-02-15 10:15:55 +01:00
Michele Caini
d86a539350
test: suppress warnings due to unused variables
2023-02-15 09:45:34 +01:00
Michele Caini
0f7098d0e0
-: updated TODO
2023-02-15 09:34:25 +01:00
Michele Caini
8c96be1e92
registry: deprecate a bunch of functions because of the entity storage
2023-02-15 09:34:08 +01:00
Michele Caini
37f396bfe3
registry: make entity storage storage as any other
2023-02-14 14:24:20 +01:00
Michele Caini
75894dc401
storage: update traits_type for entity storage
2023-02-13 11:42:30 +01:00
Michele Caini
cdee000ce8
any: rollback a change that turns vs toolset v141 crazy
2023-02-10 11:26:59 +01:00
Michele Caini
54ca62600b
dispatcher: refine aggregate check
2023-02-10 10:56:48 +01:00
Michele Caini
6f4280ed59
any: refine aggregate check
2023-02-10 10:56:41 +01:00
Michele Caini
ddf56b78cd
storage: backward compatibility on component requirements
2023-02-10 10:56:32 +01:00
Michele Caini
53a854f54f
any: just cleanup the code to make it easier to work with
2023-02-10 10:40:48 +01:00
Michele Caini
4896acac7d
storage: typo
2023-02-10 10:40:22 +01:00
Michele Caini
e3defeba2a
test: suppress warnings due to unused variables
2023-02-10 10:01:39 +01:00
Michele Caini
62079908ce
storage: use proper value type for entity storage
2023-02-10 09:37:13 +01:00
Michele Caini
e65a8f2e5f
doc: add link to koala engine :)
2023-02-10 08:33:41 +01:00
Michele Caini
9f27fb1e57
registry: further prepare to turn the entity storage into a plain pool
2023-02-09 13:40:41 +01:00
Michele Caini
04d734e76c
registry: prepare to turn the entity pool in a plain storage
2023-02-09 12:44:23 +01:00
Michele Caini
df50fa1b59
natvis: cleanup
2023-02-08 16:54:50 +01:00
Michele Caini
051872b8c8
natvis: update registry definition
2023-02-08 16:47:40 +01:00
Michele Caini
57ab9e7be0
registry: avoid using assure if not required
2023-02-07 14:56:56 +01:00
Michele Caini
69d95ba759
test: more bench to stress a little an upcoming feature
2023-02-06 11:27:02 +01:00
Michele Caini
9caf66d7c8
test: cleanup
2023-02-06 11:07:22 +01:00
Michele Caini
74cb0d40c5
test: internal rework
2023-02-06 10:59:10 +01:00
Michele Caini
deac7f34b8
dispatcher: refine aggregate support
2023-02-03 18:40:22 +01:00
Michele Caini
a9883f27c6
storage: refine transparent aggregate support
2023-02-03 18:37:14 +01:00
skypjack
85b1e57d8d
sparse_set: drop fast_compact, expect full clear
2023-02-02 18:27:20 +01:00
skypjack
b7d8e01867
storage: make the entity storage perform a full clear rather than a fake one (still viable via erase)
2023-02-02 17:34:11 +01:00
Michele Caini
390a56176f
-: updated TODO file
2023-02-01 16:07:17 +01:00
Michele Caini
a1b888cce6
natvis: add optiona storage length item for entity storage
2023-02-01 16:06:56 +01:00
Michele Caini
2107dd6891
natvis: fix already existing errors due to renaming or design changes
2023-02-01 16:06:37 +01:00
Michele Caini
1fca56afef
storage: make it easier to refine the natvis file
2023-02-01 16:05:47 +01:00
Michele Caini
c0762a6a5a
storage: add get/get_as_tuple to entity storage to make it suitable for use with views
2023-01-31 17:23:42 +01:00
Michele Caini
f48de1bac9
test: stress get/get_as_tuple for empty types
2023-01-31 17:22:07 +01:00
Michele Caini
c7dfce89e5
sigh_mixin: refine pop_all
2023-01-30 19:03:43 +01:00
Michele Caini
822fafcd42
view: uniform implementation to simplify upcoming changes
2023-01-30 16:17:44 +01:00
Michele Caini
1476d4ea9b
sparse_set: refine ::respect
2023-01-30 11:26:37 +01:00
Michele Caini
c1c63777e8
-: updated TODO
2023-01-30 10:52:10 +01:00
Michele Caini
2fab25ae89
registry: refine internal check
2023-01-30 10:52:03 +01:00
Michele Caini
75d4491522
-: updated TODO
2023-01-27 09:10:18 +01:00
Michele Caini
c7866fb21b
storage: use entt traits next function if possible
2023-01-27 09:10:11 +01:00
Michele Caini
87987bacde
entity: added basic_entt_traits::next (with tests)
2023-01-27 09:09:28 +01:00
Michele Caini
bde0219fe6
snapshot: review basic_continuous_loader::entities
2023-01-26 11:54:03 +01:00
Michele Caini
ad64c849b8
storage: suppress warnings
2023-01-26 11:42:19 +01:00
Michele Caini
b808bb83b7
test: suppress warnings
2023-01-26 11:42:11 +01:00
Michele Caini
d0090d35fb
snapshot: try to make sizes an opaque value to the caller
2023-01-26 11:30:52 +01:00
Michele Caini
7a1a06a24b
sigh_mixin: avoid shadow warnings
2023-01-26 11:13:39 +01:00
Michele Caini
000b17881b
-: updated TODO
2023-01-26 09:41:36 +01:00
Michele Caini
068b6ed49b
registry: first (almost) backward compatible version with opaque hidden entity storage
2023-01-26 09:41:25 +01:00
Michele Caini
0187fb48aa
test: sigh mixin for entity storage types
2023-01-25 11:30:41 +01:00
Michele Caini
35a2b38441
sigh_mixin: also support entity storage types
2023-01-25 11:29:53 +01:00
Michele Caini
4747c9a4c8
registry: extended checks to support swap-only entity storage types
2023-01-24 17:34:46 +01:00
Michele Caini
7be8d83278
registry: make a couple of conditions opaque
2023-01-24 17:08:26 +01:00
Michele Caini
a5d6757d6f
registry: prepare to get rid of the vector of entities
2023-01-24 17:06:58 +01:00
Michele Caini
3f09d47c81
storage: remove redundant typename keyword
2023-01-24 16:55:54 +01:00
Michele Caini
9c06d6ba0f
registry: use type member names
2023-01-24 16:54:32 +01:00
Michele Caini
b7c819bf48
test: entity storage
2023-01-24 16:46:50 +01:00
Michele Caini
9f31803ba7
storage: swap-only entity storage
2023-01-24 16:46:37 +01:00
Michele Caini
1e7deff9c9
test: drop redundant checks
2023-01-24 10:57:37 +01:00
Michele Caini
04ac15d8d9
test: minor changes
2023-01-24 10:57:25 +01:00
Michele Caini
3762189916
sigh_mixin: make pop_all use narrow view iterators if any
2023-01-23 10:09:56 +01:00
Michele Caini
18d6e466d0
-: [[nodiscard]] as appropriate
2023-01-22 18:16:57 +01:00
Michele Caini
095ecf3142
group: extended_group_iterator::base to return the underlying iterator
2023-01-22 18:16:18 +01:00
Michele Caini
433ed863e5
view: extended_view_iterator::base to return the underlying iterator
2023-01-22 18:08:32 +01:00
Michele Caini
0dba68e754
storage: coding style/minor changes
2023-01-22 18:02:49 +01:00
Michele Caini
1ab2815823
storage: extended_storage_iterator::base to return the underlying iterator
2023-01-22 18:00:28 +01:00
Michele Caini
2af5a725e4
doc:
...
* updated copyright
* udpated TODO list
2023-01-20 08:50:26 +01:00
Michele Caini
a86bf1332b
test: try to make lcov happy
2023-01-18 15:34:49 +01:00
Michele Caini
831054bff1
test: share as much as possible
2023-01-18 10:29:37 +01:00
Michele Caini
f94de1c069
test: rework lib stuff to share common files
2023-01-18 10:17:54 +01:00
Michele Caini
a3d9503a17
test: try to make lcov happy
2023-01-18 08:34:39 +01:00
Michele Caini
3f2b15f9f7
test: try to make lcov happy
2023-01-17 11:42:14 +01:00
Michele Caini
e48817d518
test: try to make lcov happy
2023-01-17 10:57:41 +01:00
Michele Caini
d11cebe30b
view: uniform design to also help natvis without having to poke into stl internals
2023-01-17 08:19:34 +01:00
Michele Caini
77a5efb327
natvis: updated to_entity intrinsic
2023-01-17 08:18:21 +01:00
Michele Caini
851006efee
-: updated TODO
2023-01-16 16:36:12 +01:00
Michele Caini
6fc6b2fb35
sigh_mixin: further improve ::pop_all
2023-01-16 16:08:11 +01:00
Michele Caini
ed17a2c48b
sparse_set: ::contiguous function
2023-01-16 11:07:10 +01:00
Michele Caini
bd00e797a9
sparse_set: further refine pop_all to make it even faster
2023-01-13 12:09:42 +01:00
Michele Caini
e645c4928a
-: updated TODO
2023-01-13 12:06:12 +01:00
Michele Caini
a425878e80
sparse_set/storage: clear is backward compatible now
2023-01-12 18:37:33 +01:00
Michele Caini
f3cd9d374d
storage: fixed clear_all counter
2023-01-12 15:53:50 +01:00
Michele Caini
b3e93b084e
registry: naming convention
2023-01-12 14:45:36 +01:00
Michele Caini
314c189c49
test: minor changes
2023-01-12 08:56:40 +01:00
Michele Caini
2bb2c55662
build: try to make lcov happy again
2023-01-11 18:36:23 +01:00
Michele Caini
d13c126e99
view: avoid name clashes
2023-01-11 18:09:33 +01:00
Michele Caini
9b54ee37a6
flow: propagate allocator to generated graph + internal rework
2023-01-11 17:55:57 +01:00
Michele Caini
e1ead9d3ee
build: update coverage workflow
2023-01-11 17:20:58 +01:00
Michele Caini
cf61068dc0
mixin: suppress a warning with gcc11
2023-01-11 16:50:18 +01:00
Michele Caini
82863f8291
test: code coverage for range functionalities
2023-01-11 16:49:52 +01:00
Michele Caini
e4de59827f
test: try to make lcov happy
2023-01-11 16:17:02 +01:00
Michele Caini
ccea4c920a
memory: code coverage
2023-01-11 15:54:56 +01:00
Michele Caini
89166f0e47
build: refine analyzer workflow
2023-01-11 15:33:00 +01:00
Michele Caini
7a05a16c54
registry: slightly better destroy (yet not quite there though)
2023-01-11 11:54:29 +01:00
Michele Caini
d0854646c7
test: yet another test to stress the upcoming changes
2023-01-11 11:03:04 +01:00
Michele Caini
1e9c9fe5f8
registry: better, faster range-remove + refine range-erase
2023-01-11 10:15:19 +01:00
Michele Caini
80fac8d8e5
test: minor changes
2023-01-11 10:13:47 +01:00
Michele Caini
c774b98389
-: updated TODO
2023-01-11 09:55:57 +01:00
Michele Caini
3fd0403cc9
registry: faster, better range-erase
2023-01-11 09:55:47 +01:00
Michele Caini
6eb3347a3b
test: a couple of extra functions to stress the upcoming changes
2023-01-11 09:34:22 +01:00
Michele Caini
89bceaff75
-: updated TODO
2023-01-10 15:51:35 +01:00
Michele Caini
dc25c9c1a2
sparse_set: invoke release_sparse_pages before clearing the sparse array
2023-01-10 15:33:48 +01:00
Michele Caini
e68ba5870c
sigh_mixin: add a missing include
2023-01-10 15:01:48 +01:00
Michele Caini
c68cb33751
entity: make deletion_policy publicly available via fwd.hpp
2023-01-10 14:41:13 +01:00
Michele Caini
59f807fd02
sparse_set: suppress warnings due to unused expressions
2023-01-10 14:32:43 +01:00
Michele Caini
232ffebc1e
sparse_set: internal clear_all function
2023-01-10 14:22:50 +01:00
Michele Caini
3cea845a0f
sparse_set: sparse_set_iterator::data function
2023-01-10 10:53:30 +01:00
Michele Caini
295f3b32e4
registry: a couple of extra move calls here and there
2023-01-10 09:23:28 +01:00
Michele Caini
254da2c3c6
sparse_set: better, faster range remove
2023-01-10 08:43:02 +01:00
Michele Caini
ecd3b8d933
sparse_set: prevent rework errors as much as possible
2023-01-09 18:48:22 +01:00
Michele Caini
c673b9b17c
sigh_mixin: slightly improved pop + review insert
2023-01-09 17:45:33 +01:00
Michele Caini
cd28de0d63
test: clear-stable bench
2023-01-09 15:20:19 +01:00
Michele Caini
672f6a7112
test: minor changes
2023-01-09 15:18:06 +01:00
Michele Caini
3b50672b70
storage: restore storage_for/storage_type duality, it turned out to be very useful in practice
2022-12-28 17:56:22 +01:00
Michele Caini
f0613b1c6c
sparse_set/storage: minor changes to reuse type members
2022-12-27 12:35:37 +01:00
Michele Caini
2197e160ef
-: drop file pushed by mistake :)
2022-12-23 16:58:32 +01:00
Michele Caini
2dccd90166
handle: discard entity on destruction
2022-12-23 16:53:51 +01:00
Michele Caini
2f873f2dd2
-: storage_mixin.hpp -> mixin.hpp (non-storage mixins are also a thing)
2022-12-22 15:12:03 +01:00
Michele Caini
fde1a524ea
sparse_set: ::get -> ::value (to avoid hiding from derived classes)
2022-12-22 13:10:57 +01:00
Michele Caini
0558010479
doc: drop references to docsforge + minor changes
2022-12-22 11:40:03 +01:00
Michele Caini
79a054a524
sigh_mixin: scope base_type properly
2022-12-20 15:46:18 +01:00
Michele Caini
d94e443a14
doc: drop outdated section
2022-12-20 15:32:35 +01:00
Michele Caini
3862184e88
sigh_mixin: support self managed storage classes
2022-12-20 15:30:37 +01:00
Michele Caini
f40fa3c2f6
test:
...
* use range destroy
* avoid compiler optimizations
2022-12-19 16:28:50 +01:00
Michele Caini
01bc93459b
test (bench): the new entity storage enables the fast path in all cases
2022-12-19 15:30:30 +01:00
Michele Caini
151bd07391
sparse_set: revert optmized range push, it prevents self-managed storage classes
2022-12-19 08:24:08 +01:00
Michele Caini
935393aae0
sparse_set: better, faster range push
2022-12-16 18:45:51 +01:00
Michele Caini
fbfde43477
snapshot: avoid unused variable warnings
2022-12-16 15:21:56 +01:00
Michele Caini
2ffbe115b7
component_traits: revert entity customization support
2022-12-16 15:14:31 +01:00
Michele Caini
645973eb79
sparse_set: insert -> push
2022-12-15 18:11:19 +01:00
Michele Caini
1332307972
sparse_set: emplace -> push
2022-12-15 14:16:58 +01:00
Michele Caini
b700f5eb5d
doc: typo
2022-12-15 12:18:29 +01:00
Michele Caini
e60dbdc521
sparse_set/storage:
...
* rename swap_at in swap_or_move to capture the real purpose
* define swap_at as a protected function to allow swapping from above
2022-12-15 11:19:44 +01:00
Michele Caini
c66623b330
sigh_mixin: avoid hiding basic_iterator type meber
2022-12-14 12:06:06 +01:00
Michele Caini
62246d8796
storage: avoid hiding basic_iterator type meber
2022-12-14 10:49:32 +01:00
Michele Caini
b35f131309
sparse_set: support swap-only mixins
2022-12-13 17:36:58 +01:00
Michele Caini
3dd82633a3
-: drop storage_mixin.cpp, I forgot to do it a couple of commits ago :)
2022-12-13 15:41:07 +01:00
Michele Caini
00231bf8a7
storage: make swap_at non-final to support checks on derived classes
2022-12-13 15:40:25 +01:00
Michele Caini
58d392e813
-: minor changes
2022-12-13 15:36:49 +01:00
Michele Caini
1d4d99d090
mixin: sigh_storage_mixin -> sigh_mixin
2022-12-13 10:53:07 +01:00
Michele Caini
fe3edf2c83
-: minor changes
2022-12-13 10:50:17 +01:00
Michele Caini
0864ba0429
-: drop useless typename
2022-12-13 10:48:34 +01:00
Michele Caini
3a96980013
build: minor changes
2022-12-12 18:43:44 +01:00
Michele Caini
423f7a555d
is_equality_comparable: detect C-style arrays directly
2022-12-12 18:32:07 +01:00
Michele Caini
5db8ad53ac
build: update gh workflow
2022-12-12 18:19:51 +01:00
Michele Caini
c2ab357802
view: make also VS toolset v141 happy
2022-12-12 15:42:39 +01:00
Michele Caini
4fb558f143
view: further reduce instantiations
2022-12-12 15:08:37 +01:00
Michele Caini
5762a8a086
view: reuse internal functions if possible
2022-12-12 11:49:47 +01:00
Michele Caini
ed4c675211
sparse_set/storage: drop move_element
2022-12-12 09:38:58 +01:00
Michele Caini
f157898462
config: ENTT_FAIL(msg) -> ENTT_ASSERT(false, msg)
2022-12-07 12:22:35 +01:00
Michele Caini
6d20709e07
storage: minor changes
2022-12-07 10:41:33 +01:00
Michele Caini
a9a9853c01
sigh_storage_mixin: use entity_type from Type
2022-12-06 14:34:16 +01:00
Michele Caini
af14aa4c9e
doc: more about signals (sigh_storage_mixin)
2022-12-06 12:01:01 +01:00
Michele Caini
24d6b98817
test: minor changes
2022-12-05 15:29:43 +01:00
Michele Caini
899f4baa63
storage:
...
* drop storage_for]_t]
* make storage_type[_t] deal with constness
2022-12-05 14:47:32 +01:00
Michele Caini
c1ab7ba025
sigh_storage_mixin: make all virtual member functions final
2022-12-05 09:52:22 +01:00
Michele Caini
9d38f60207
registry: thanks MSVC for accepting invalid C++ code
2022-12-02 11:57:29 +01:00
Michele Caini
0efa25cf61
sigh: cool, I keep doing the same error again and again apparently :)
2022-12-02 11:49:21 +01:00
Michele Caini
6316b60451
registry: make it work with storage<void> also in C++17
2022-12-02 10:56:03 +01:00
Michele Caini
f268fb60a8
entity: avoid breaking changes due to type members renaming
2022-12-01 13:26:22 +01:00
Michele Caini
3520d6915c
entity: add base_type
2022-12-01 12:48:26 +01:00
Michele Caini
4da7a84518
entity: make checks work with 64b identifiers :)
2022-12-01 12:26:24 +01:00
Michele Caini
382dfc3bb4
entity: strict check on entity/version masks
2022-12-01 11:17:31 +01:00
Michele Caini
b6dcdc816e
entity:
...
* also expose entity_mask and version mask to the final user
* avoid default args with entt_traits::construct for backward compatibility
2022-12-01 09:22:46 +01:00
Michele Caini
c9d544089a
doc: review/cleanup entity.md a bit (done)
2022-11-30 16:17:02 +01:00
Michele Caini
3eb5faeed5
doc: review/cleanup entity.md a bit (work in progress)
2022-11-29 14:40:27 +01:00
Michele Caini
7a328c7edf
doc: updated links
2022-11-29 08:21:19 +01:00
Michele Caini
6567aa1951
doc: a note about listeners disconnection ( close #958 )
2022-11-28 15:40:21 +01:00
Michele Caini
92319f0111
entt_traits: split basic impl, simplify def
2022-11-28 12:48:16 +01:00
Michele Caini
782d86b6e7
entt_traits: value_type -> type (cuz it's not a value type after all)
2022-11-26 18:57:10 +01:00
Michele Caini
c2cae37c1d
entity_traits: make page_size type explicit
2022-11-25 18:24:12 +01:00
Michele Caini
1026d26ecb
entt_traits: drop reserved value
2022-11-25 11:13:14 +01:00
Michele Caini
7156803dbe
test: local non-static constexpr variables
2022-11-25 11:11:54 +01:00
Michele Caini
f54ed54247
helper: local non-static constexpr variables
2022-11-25 11:07:29 +01:00
Michele Caini
f30b50195a
algorithm: local non-static constexpr variables
2022-11-25 10:59:47 +01:00
Michele Caini
c90ab9affd
sparse_set:
...
* break dependency on traits_type::reserved
* use a tombstone if all I need is a tombstone
2022-11-25 10:23:43 +01:00
Michele Caini
c2f6ca43f1
doc: graph ( close #957 )
2022-11-24 09:33:34 +01:00
Michele Caini
3e5e41d88f
test: cover some corner cases of the flow class
2022-11-24 09:33:04 +01:00
Michele Caini
9eafc0431d
flow: minor changes
2022-11-24 09:31:14 +01:00
Michele Caini
0a82b777b2
component_traits: support specializations based on entity type
2022-11-23 14:53:31 +01:00
Michele Caini
32bcc01a46
component:
...
* make component_traits treat void properly
* drop ignore_as_empty_v
2022-11-23 12:36:21 +01:00
Michele Caini
9c3fe3546b
nativs: entity module
2022-11-23 11:29:48 +01:00
Michele Caini
83f8aed583
helper: use traits_type from storage class directly
2022-11-23 11:28:08 +01:00
Michele Caini
2fd6602740
snapshot: use public registry traits_type member type
2022-11-23 11:11:54 +01:00
Michele Caini
a554d406e7
registry:
...
* public traits_type member type
* break dependency on component_traits
* use public storage traits_type member type
2022-11-23 11:06:51 +01:00
Michele Caini
5f12f872e6
test: minor changes
2022-11-23 11:04:56 +01:00
Michele Caini
be4eb68a30
helper:
...
* break dependency on component_traits
* use public storage traits_type member type
2022-11-23 08:58:45 +01:00
Michele Caini
df5284d9e5
view:
...
* break dependency on component_traits
* use public storage traits_type member type
2022-11-23 08:56:46 +01:00
Michele Caini
0e27d33e7e
storage: public traits_type member type
2022-11-23 08:54:56 +01:00
Michele Caini
fe6e6ae738
sparse_set: public traits_type member type
2022-11-23 08:52:54 +01:00
Michele Caini
9d29713eaa
entity: naming convention
2022-11-22 15:33:55 +01:00
Michele Caini
270d0277db
group: cleanup
2022-11-22 15:33:20 +01:00
Michele Caini
0bd06c8d5d
hashed_string: naming convention
2022-11-22 15:32:37 +01:00
Michele Caini
733f215ccf
storage: break dependency between component_traits and storage_iterator
2022-11-22 14:53:20 +01:00
Michele Caini
ad01a69fe5
*: renaming/coding style
2022-11-22 14:45:26 +01:00
Michele Caini
dd9c1dade8
sparse_set: no need to differentiate template args for sparse_set_iterator
2022-11-22 14:44:59 +01:00
Michele Caini
b8f70519f6
doc: fixed typo
2022-11-22 14:26:46 +01:00
Michele Caini
9b9d212dde
*: coding style
2022-11-22 12:44:31 +01:00
Michele Caini
3fe15969db
doc: cleanup
2022-11-22 12:30:51 +01:00
Michele Caini
ec4bf222c6
meta: avoid the +1u trick for 0-sized arrays
2022-11-21 12:48:40 +01:00
Michele Caini
1173908ee4
meta: avoid rebinding when forwarding requests
2022-11-21 12:43:26 +01:00
Michele Caini
2595b8a925
doc: sigh_helper
2022-11-21 10:52:26 +01:00
Michele Caini
f4e2a8c76c
sigh_builder: add all missing .template that msvc kindly accepted anyway
2022-11-21 10:38:44 +01:00
Michele Caini
66e1a05652
entity: sigh_helper utility with tests ( close #928 )
2022-11-21 10:38:42 +01:00
Michele Caini
87283dc41f
storage: simplified impl in order to introduce multi-type storage more easily
2022-11-18 14:40:55 +01:00
Michele Caini
a802ebffed
storage:
...
* move storage_type[_t] and storage_for[_t] to fwd.hpp
* no need to include storage.hpp when forward defining views
2022-11-17 17:48:11 +01:00
genar
b84b09421e
doc: add Arch ECS to references.md ( #954 )
2022-11-17 08:45:25 +01:00
Michele Caini
940fd09396
todo: add a note for a (soon to be released) change
2022-11-17 08:42:11 +01:00
Michele Caini
920338be59
doc: add ecsact to links.md (thanks @zaucy for pointing this out)
2022-11-17 08:24:48 +01:00
Michele Caini
bcd1155b77
gh: add more gcc and clang versions
2022-11-16 11:10:13 +01:00
Michele Caini
1dc88109e8
gh: update workflows
2022-11-16 11:03:38 +01:00
Michele Caini
262c1f53c1
cmake: only enable -Wdocumentation for clang-cl
2022-11-16 10:47:03 +01:00
Michele Caini
4af0a3a0d1
doc: cleanup
2022-11-16 10:30:40 +01:00
Michele Caini
be16418289
doc: cleanup
2022-11-16 10:30:35 +01:00
Michele Caini
b54a52fbfe
doc: fixed typo
2022-11-16 10:30:18 +01:00
Michele Caini
ae88159952
doc: fixed typo
2022-11-16 10:30:12 +01:00
Michele Caini
62c764f681
doc: fixed typo
2022-11-16 10:29:59 +01:00
Michele Caini
2c48cc10ae
cmake: enable documentation diagnostic for clang
2022-11-16 10:23:00 +01:00
Michele Caini
82f2866789
sigh: drop redundant function
2022-11-15 15:40:10 +01:00
Michele Caini
d56e5a269c
registry: propagate allocator to context
2022-11-15 14:48:10 +01:00
Michele Caini
1517b29513
doc: document delegate raw access
2022-11-15 08:27:00 +01:00
Michele Caini
bea7b43a1a
delegate: target member function
2022-11-15 08:26:44 +01:00
Michele Caini
2f878f8b5a
sigh: refine ::collect
2022-11-14 17:47:48 +01:00
Michele Caini
fc68c1b290
view/group: cleanup
2022-11-14 17:13:38 +01:00
Michele Caini
9081c185da
meta: minor changes
2022-11-14 14:57:37 +01:00
Michele Caini
7c4493f237
group: make filter storage available
2022-11-14 11:19:22 +01:00
Michele Caini
da4e73ab85
view: make filter storage available
2022-11-14 11:00:57 +01:00
Michele Caini
f3e7f98b48
registry: extra check when moving a registry
2022-11-13 12:36:19 +01:00
Michele Caini
3925fc6124
emitter: extra allocator check when moving
2022-11-13 12:23:32 +01:00
Michele Caini
c639130c1e
dispatcher: extra allocator check when moving
2022-11-13 12:21:21 +01:00
Michele Caini
75c3116008
registry: cleanup
2022-11-13 12:01:36 +01:00
Michele Caini
e9e14eb49c
meta: [[nodiscard]]
2022-11-13 11:15:50 +01:00
Michele Caini
d1558304f8
any: [[nodiscard]]
2022-11-13 11:15:42 +01:00
Michele Caini
0531b530b1
snapshot: minor changes
2022-11-11 16:37:39 +01:00
Michele Caini
f9d0178dd7
workflow: bump iwyu version
2022-11-11 11:01:04 +01:00
Michele Caini
b66b8d37eb
test: suppress warning
2022-11-11 10:59:10 +01:00
Michele Caini
05ef4c29d8
storage: minor changes
2022-11-10 18:47:02 +01:00
Michele Caini
9c3d756692
test: cleanup include directives
2022-11-10 15:56:17 +01:00
Michele Caini
93651e46f5
registry: drop [[deprecated]] functions
2022-11-10 15:05:48 +01:00
Michele Caini
ea901cbfa0
test: code coverage
2022-11-09 12:15:03 +01:00
Michele Caini
d5dc4f43ee
doc: meta.md
2022-11-09 12:15:02 +01:00
Michele Caini
498e02f154
doc: core.md
2022-11-09 12:15:02 +01:00
Michele Caini
d0ea8f4f96
cmake: suppress some warnings for clang-cl, it goes a little wrong otherwise
2022-11-09 12:15:02 +01:00
Michele Caini
dec3b7bb39
test: suppress warnings
2022-11-09 12:15:02 +01:00
Michele Caini
10bc8b05ad
test: use /W1 with VS (but for toolset v141, too bugged for that)
2022-11-09 12:15:02 +01:00
Michele Caini
ad77b54dce
cmake: bump version to get some cool feature/update
2022-11-09 12:15:02 +01:00
Michele Caini
b6724b0283
group: pass filter storage to groups (in-between change for full storage access)
2022-11-09 12:15:02 +01:00
Michele Caini
54270b1038
group: make them easily copyable/movable
2022-11-09 12:15:02 +01:00
Michele Caini
31dc732a74
doc: graph.md
2022-11-09 12:15:02 +01:00
Michele Caini
f0e02d6d39
doc: container.md
2022-11-09 12:15:02 +01:00
Michele Caini
156d6e4ead
doc: poly.md
2022-11-09 12:15:02 +01:00
Michele Caini
4375c1c3d6
doc: lib.md
2022-11-09 12:15:02 +01:00
Michele Caini
24a9cd67ee
scheduler: forgot to add the fwd file to the previous commit :)
2022-11-09 12:15:02 +01:00
Michele Caini
ba8d522c19
doc: add the worst engine (love the name) to the list of links
2022-11-09 12:15:01 +01:00
Michele Caini
3ae46214a4
doc: review process.md
2022-11-09 12:15:01 +01:00
Michele Caini
5119fe8d7b
scheduler: basic type model with default for common cases
2022-11-09 12:15:01 +01:00
Michele Caini
ed0319cdd8
view: avoid shadow warnings
2022-11-09 12:15:01 +01:00
Michele Caini
bc50da6a7c
storage: suppress warnings with non copyable nor default constructible types
2022-11-09 12:15:01 +01:00
Michele Caini
52b3b4c249
group: suppress warnings for unused variables in case of empty types
2022-11-09 12:15:01 +01:00
Michele Caini
74bab529d2
test: minor changes
2022-11-09 12:15:01 +01:00
Michele Caini
b1b143917b
meta: [[maybe_unused]] variable to avoid warnings with corner cases
2022-11-09 12:15:01 +01:00
Michele Caini
7beb4c85c4
test: suppress a few warnings (entity)
2022-11-09 12:15:01 +01:00
Michele Caini
f3beb5670a
test: suppress a few warnings (container)
2022-11-09 12:15:01 +01:00
Michele Caini
446c67b69a
test: suppress a few warnings (resource)
2022-11-09 12:15:01 +01:00
Michele Caini
c4507bd172
test: suppress a few warnings (poly)
2022-11-09 12:15:01 +01:00
Michele Caini
61e872bb4e
test: suppress a few warnings (meta)
2022-11-09 12:15:01 +01:00
Michele Caini
9f22a3e23a
test: suppress a few warnings (memory)
2022-11-09 12:15:00 +01:00
Michele Caini
653dd5cd42
test: suppress a few warnings (tuple)
2022-11-09 12:15:00 +01:00
Michele Caini
bc53ed3be9
test: suppress a few warnings (flow)
2022-11-09 12:15:00 +01:00
Michele Caini
f935bbccee
dense_set: suppress warnings due to possible narrowing conversions
2022-11-09 12:15:00 +01:00
Michele Caini
c7d5053536
dense_map: suppress warnings due to possible narrowing conversions
2022-11-09 12:15:00 +01:00
Michele Caini
ea78f1d970
now working on version 3.12
2022-11-09 12:14:10 +01:00
Michele Caini
76298bc26a
update single include file
2022-11-09 12:13:00 +01:00
Michele Caini
7c84ce666e
sigh: rollback some changes that apparently create issues with (very old) compilers (ie clang 6)
2022-10-26 12:37:46 +02:00
Michele Caini
a02a7c67cb
doc: fix typo
2022-10-26 11:53:43 +02:00
Michele Caini
2bb913b898
any: suppress warnings C4706 due to asserts
2022-10-26 10:57:58 +02:00
Michele Caini
94a8bb57dd
doc: review resource.md
2022-10-26 10:50:31 +02:00
Michele Caini
f06852b5c2
doc: fixed typos
2022-10-25 14:50:18 +02:00
Michele Caini
fb14d26015
config: refine the ENTT_ASSERT vs ENTT_ASSERT_CONSTEXPR work
2022-10-25 11:05:50 +02:00
Michele Caini
6a53c8eaca
doc: review locator.md
2022-10-25 11:04:13 +02:00
Michele Caini
4a98874431
doc: review faq.md
2022-10-25 11:03:59 +02:00
Michele Caini
baf60502c6
doc: review config.md
2022-10-25 11:03:39 +02:00
Michele Caini
2a01b78b32
any: forward/centralize requests internally
2022-10-24 14:38:55 +02:00
Michele Caini
b02e4efe4d
doc: updated links (and thanks @Naios for these)
2022-10-24 12:20:20 +02:00
Michele Caini
3c8f6d2831
doc: minor changes
2022-10-24 11:53:23 +02:00
Michele Caini
95b443af16
tuple: is_tuple[_v] implementation
2022-10-24 11:15:34 +02:00
Michele Caini
b54766d2b4
sigh: small cleanup
2022-10-23 11:42:19 +02:00
Michele Caini
25929d6188
doc: ENTT_ASSERT_CONSTEXPR
2022-10-22 19:10:48 +02:00
Michele Caini
4398c962e7
memory:
...
* use ENTT_ASSERT_CONSTEXPR
* turn the power-of-two toolset into a constexpr one as it ought to be
2022-10-22 19:10:40 +02:00
Michele Caini
fe8919c540
config: introduce ENTT_ASSERT_CONSTEXPR to facilitate extreme customizations
2022-10-22 19:08:13 +02:00
Michele Caini
bdaeef856d
delegate: just an extra safe check
2022-10-22 18:56:55 +02:00
Michele Caini
57ad7696be
memory: turn the power-of-two/fast_mod toolset into a non-constexpr one
2022-10-21 11:01:18 +02:00
Michele Caini
7c58c83ee0
memory: review propagate_on_container_swap
2022-10-21 10:57:37 +02:00
Michele Caini
dd7aaa30ca
organizer: minor changes
2022-10-20 15:34:57 +02:00
Michele Caini
76f95945fc
registry: better use of entt:: to avoid ambiguities
2022-10-20 09:36:51 +02:00
Michele Caini
869836ba79
registry: use allocator to allocate_shared groups with uses-allocator policy
2022-10-20 09:10:20 +02:00
Michele Caini
2358552c27
*: internal review of some traits usage
2022-10-19 12:08:41 +02:00
Michele Caini
e22ea5e189
meta: minor changes
2022-10-18 11:03:03 +02:00
Michele Caini
496fefdd01
meta: favor top-level conversion functions over bases lookup
2022-10-18 10:54:31 +02:00
Michele Caini
26f85050c1
any: debug-only check to detect nasty bugs in the client code, if any
2022-10-18 10:53:51 +02:00
Michele Caini
d478b5bc6a
test: minor changes to avoid UBs
2022-10-18 10:50:16 +02:00
Michele Caini
c8337e529e
natvis: review a bunch of definitions
2022-10-17 09:54:13 +02:00
Michele Caini
f0995297cf
emitter: update destructor check on derived type
2022-10-17 09:53:27 +02:00
Michele Caini
b395df0f56
doc: cleanup
2022-10-14 19:05:42 +02:00
Michele Caini
69a6cc6656
meta: better doc, minor changes to propagate the context to the meta handles
2022-10-14 18:52:05 +02:00
Michele Caini
bf73216a76
meta: minor changes
2022-10-14 17:01:54 +02:00
Michele Caini
621860718b
meta: rebind elements to the right context upon invocation if possible
2022-10-14 15:40:31 +02:00
Michele Caini
c34c5da277
meta: minor changes
2022-10-14 14:31:55 +02:00
Michele Caini
8dcabba31b
meta: clarify utilities behavior with regard to context, instances and arguments
2022-10-14 12:24:25 +02:00
Michele Caini
294064f11f
meta: args are always rebinded to the right context (with non-regression tests)
2022-10-14 11:47:27 +02:00
Michele Caini
d125229312
doc: more about the new meta context rework
2022-10-14 11:46:35 +02:00
Michele Caini
11c1e23a91
meta: context aware copy/move ctor for meta_any
2022-10-14 08:49:44 +02:00
Michele Caini
82bc2e1fe4
test: no need to test mixing meta contexts actually, dropped the todo
2022-10-13 13:12:55 +02:00
Michele Caini
92a00f591d
test: context aware meta handle
2022-10-13 11:15:48 +02:00
Michele Caini
04716a7fde
meta: minor changes
2022-10-13 09:38:22 +02:00
Michele Caini
b6155080b2
test: a few more tests for meta_handle
2022-10-13 09:37:13 +02:00
Michele Caini
0a61de4a09
test: context aware meta_any
2022-10-13 09:33:43 +02:00
Michele Caini
7121da100a
test: context aware meta sequence containers
2022-10-13 09:24:20 +02:00
Michele Caini
7bee969ebf
test: context aware meta pointers (dereferencing picks the type from the right context)
2022-10-13 09:12:45 +02:00
Michele Caini
4a0a534796
test: context aware forward_as_meta
2022-10-13 09:09:11 +02:00
Michele Caini
a0041d9062
meta: resolve an ambiguity and avoid redundant default ctors (win-win)
2022-10-13 08:59:16 +02:00
Michele Caini
3dd768bb9b
meta: context aware meta template
2022-10-12 19:02:30 +02:00
Michele Caini
2a307a681f
test: context aware meta prop
2022-10-12 18:30:21 +02:00
Michele Caini
dd1211d021
meta: combine enable_if_t and a meta policy detection utility to avoid API changes
2022-10-12 16:06:25 +02:00
Michele Caini
09a600d68a
meta: propagate API changes to the internal functions
2022-10-12 15:36:31 +02:00
Michele Caini
7c25b46513
test: minor changes
2022-10-12 15:14:58 +02:00
Michele Caini
dc42486de8
test: drop redundant using namespace
2022-10-12 14:57:46 +02:00
Michele Caini
36411faf43
test: context aware meta dtor
2022-10-12 14:56:27 +02:00
Michele Caini
a9cd565d65
test: context aware meta conv
2022-10-12 12:49:39 +02:00
Michele Caini
0adbb0ad16
test: context aware meta ctor
2022-10-12 12:43:58 +02:00
Michele Caini
db31f77d63
test: context aware meta func
2022-10-12 12:22:26 +02:00
Michele Caini
c275afef28
test: context aware meta data
2022-10-12 12:16:35 +02:00
Michele Caini
4bad4f3067
test: context aware meta bases
2022-10-12 10:28:41 +02:00
Michele Caini
d2048c037a
test: bare minimum tests for meta types from different contexts
2022-10-12 10:04:28 +02:00
Michele Caini
2a39717893
test: add all desired tests for meta context support
2022-10-12 09:59:03 +02:00
Michele Caini
49c2ae0e77
test: context aware meta resolve
2022-10-12 09:58:20 +02:00
Michele Caini
869c18f150
test: prepare to test meta context support
2022-10-12 09:57:58 +02:00
Michele Caini
d79cb5ca98
meta: turn meta_handle into a context aware wrapper
2022-10-11 15:24:23 +02:00
Michele Caini
acc6390312
meta: drop make_meta, unfortunately it doesn't fit well with the context aware design
2022-10-11 14:56:25 +02:00
Michele Caini
2e59fbbccc
meta:
...
* review pending functions to make them context aware if they aren't already
* suppress a meta_associative_container::insert warning (rvalue-to-lvalue binding)
2022-10-11 14:40:16 +02:00
Michele Caini
bec0037797
meta: fully context aware meta_any
2022-10-11 12:20:25 +02:00
Michele Caini
d08c7ddb58
meta: review meta_associative_container::insert/::erase
2022-10-11 12:11:54 +02:00
Michele Caini
696681fefa
meta: context aware meta associative container
2022-10-11 11:53:17 +02:00
Michele Caini
5f9faf7a32
meta: context aware meta sequence container
2022-10-11 11:14:22 +02:00
Michele Caini
f160503aaf
meta: unroll meta_type::forward_to_bases to return always scoped elements
2022-10-11 11:09:33 +02:00
Michele Caini
b1e9f75a28
meta: meta_type::construct always returns scoped meta_any objects
2022-10-11 11:01:50 +02:00
Michele Caini
91da98353d
meta: keep track of the pending changes
2022-10-11 10:28:48 +02:00
Michele Caini
bc86ceb707
meta: drop resolve trampoline function, no longer required
2022-10-10 18:13:59 +02:00
Michele Caini
0baf316e5f
meta: add partial support for meta contexts to meta containers
2022-10-10 18:13:20 +02:00
Michele Caini
082605f9d3
meta: prepare meta containers to support context injection
2022-10-10 18:03:30 +02:00
Michele Caini
0fdd7d7a3a
meta: meta_any::allow_cast returns a scoped value now
2022-10-10 16:46:43 +02:00
Michele Caini
eee59e6af9
meta: track pending changes as much as possible
2022-10-10 16:46:43 +02:00
Michele Caini
223a8628e3
meta: meta_any::allow_cast propagates the context now
2022-10-10 16:46:42 +02:00
Michele Caini
c0bb603210
meta: meta_any::operator* propagates the context now
2022-10-10 16:46:42 +02:00
Michele Caini
2981d8746a
meta: avoid returning contex-less meta_any from meta objects
2022-10-10 16:46:42 +02:00
Michele Caini
c06280894b
meta: make internal meta_invoke accept meta contexts and use them properly
2022-10-10 16:46:42 +02:00
Michele Caini
2f2bdcac4d
meta:
...
* make meta_getter use properly meta contexts
* remove the meta context from the argument list of meta setters (not required)
2022-10-10 16:46:42 +02:00
Michele Caini
2739964a1f
meta: make meta_dispatch support and use meta contexts
2022-10-10 16:46:42 +02:00
Michele Caini
c3a2a44830
meta: drop useless [[maybe_unused]]
2022-10-10 16:46:42 +02:00
Michele Caini
37a2c3b76c
meta: make meta_construct support and use meta contexts
2022-10-10 16:46:42 +02:00
Michele Caini
146a7b2aa3
meta: rollback redundant functions (reduce the number of generated symbols)
2022-10-10 16:46:42 +02:00
Michele Caini
7e093c951f
meta:
...
* use different function names to disambiguate utility calls
* drop base class meta_policy for policies, no longer required
2022-10-10 16:46:42 +02:00
Michele Caini
4901188409
meta: use meta_any context aware constructors if possible
2022-10-10 16:46:42 +02:00
Michele Caini
15d78f80a6
meta: context aware constructors for meta_any
2022-10-10 16:46:42 +02:00
Michele Caini
d61dff45c1
meta: introduce meta_ctx_arg[_t]
2022-10-10 16:46:42 +02:00
Michele Caini
34abddfbbd
meta: move the meta context argument to the first slot of the argument lists
2022-10-10 16:46:42 +02:00
Michele Caini
238ebe4e8f
meta: try to get around invalid code that msvc accepts happily otherwise
2022-10-10 16:46:42 +02:00
Michele Caini
502accabbc
meta: make default_constructor forward the context to the returned element
2022-10-10 16:46:42 +02:00
Michele Caini
9d1df1dae4
meta: make from_void forward the context to the returned element
2022-10-10 16:46:42 +02:00
Michele Caini
a39cfb9e99
meta: always forward the context to meta_type
2022-10-10 16:46:42 +02:00
Michele Caini
27d0e5f55e
meta: always forward the context to meta_func
2022-10-10 16:46:42 +02:00
Michele Caini
a0e5d2c495
meta: always forward the context to meta_data
2022-10-10 16:46:42 +02:00
Michele Caini
d2c89d2a40
meta: always forward the context to meta_prop
2022-10-10 16:46:42 +02:00
Michele Caini
54f66c9094
meta: make meta_range_iterator forward the context to the returned elements
2022-10-10 16:46:42 +02:00
Michele Caini
10be00b352
meta: suppress a bunch of shadow warnings
2022-10-10 16:46:42 +02:00
Michele Caini
9032051bf7
meta: review meta_any::try_cast to use the local context
2022-10-10 16:46:42 +02:00
Michele Caini
2d2e4c784e
meta: reintroduce as_ref constructor
2022-10-10 16:46:41 +02:00
Michele Caini
0d4674d8e2
meta: refined meta_conv_node definition
2022-10-10 16:46:41 +02:00
Michele Caini
ac06ad35c1
meta: added bare minimum support for contexts to forward_as_meta
2022-10-10 16:46:41 +02:00
Michele Caini
27e492d750
meta: minor changes
2022-10-10 16:46:41 +02:00
Michele Caini
f8281f2a37
meta: add bare minimum support for contexts to meta_any
2022-10-10 16:46:41 +02:00
Michele Caini
9fc717fa6e
meta: track pending points for future refinement
2022-10-10 16:46:41 +02:00
Michele Caini
4a0f2f3fe9
meta: drop redundant constructors for meta_any
2022-10-10 16:46:41 +02:00
Michele Caini
ebdd4118fd
meta: context aware internal try_cast
2022-10-10 16:46:41 +02:00
Michele Caini
54ae48936f
meta: refine includes
2022-10-10 16:46:41 +02:00
Michele Caini
3c9045a3a8
test: avoid using the trampoline resolve function
2022-10-10 16:46:41 +02:00
Michele Caini
f80f179499
meta: small refinement
2022-10-10 16:46:41 +02:00
Michele Caini
69c6ee0675
meta: high level meta types are now context aware
2022-10-10 16:46:41 +02:00
Michele Caini
4e28d96bef
meta: remove the last use of the trampoline resolve function from the meta factory
2022-10-10 16:46:41 +02:00
Michele Caini
6552cc4599
meta: refine factory.hpp as it's likely done now
2022-10-10 16:46:41 +02:00
Michele Caini
75b10cfa09
meta: make meta and meta_reset context aware
2022-10-10 16:46:41 +02:00
Michele Caini
dc394f62c6
meta: fully context aware meta factory
2022-10-10 16:46:41 +02:00
Michele Caini
ea6d6662b4
meta: make meta_ctor_node and meta_func_node fully context aware
2022-10-10 16:46:41 +02:00
Michele Caini
de3ecbdd28
meta: make meta_conv_node context aware
2022-10-10 16:46:41 +02:00
Michele Caini
e5c6559836
meta: make meta_data_node fully context aware
2022-10-10 16:46:41 +02:00
Michele Caini
0d422236d6
doc: minor changes
2022-10-10 16:46:41 +02:00
Michele Caini
199b065fe3
meta: make it compile after the last changes as it ought to be
2022-10-10 16:46:41 +02:00
Michele Caini
c46e107107
meta: try to follow my own coding style :)
2022-10-10 16:46:41 +02:00
Michele Caini
a3f66387b2
meta: further refine meta_type_node to make it context aware
2022-10-10 16:46:41 +02:00
Michele Caini
33383bd0c3
meta: try to follow my own naming convention :)
2022-10-10 16:46:41 +02:00
Michele Caini
35b8d95671
meta: make meta_type_node even more context aware
2022-10-10 16:46:40 +02:00
Michele Caini
6e254fb39d
meta: make meta_type_node partially context aware
2022-10-10 16:46:40 +02:00
Michele Caini
f50a03dcb4
meta: make meta_ctor_node context aware
2022-10-10 16:46:40 +02:00
Michele Caini
71554b2c19
meta: drop temporary trampoline for meta_arg
2022-10-10 16:46:40 +02:00
Michele Caini
e7762980ec
meta: make meta_ctor_node and meta_func_node partially context aware
2022-10-10 16:46:40 +02:00
Michele Caini
c62099969e
meta: make meta_data_node partially context aware
2022-10-10 16:46:40 +02:00
Michele Caini
c45ee64800
meta: make meta_arg context aware
2022-10-10 16:46:40 +02:00
Michele Caini
b53c243ef7
meta: refactor context argument as the last one
2022-10-10 16:46:40 +02:00
Michele Caini
9ee084fc40
meta: make meta_template_node context aware
2022-10-10 16:46:40 +02:00
Michele Caini
9c969fb6ac
meta: context aware meta_prop_node
2022-10-10 16:46:40 +02:00
Michele Caini
6a8a9c4b31
meta: context aware meta_arg_node function (with internal temporary trampoline)
2022-10-10 16:46:40 +02:00
Michele Caini
bc0233e34b
meta: context aware resolve functions (with internal temporary trampoline)
2022-10-10 16:46:40 +02:00
Michele Caini
afd91b4e5a
container: suppress a few shadow warnings
2022-10-10 16:46:26 +02:00
Michele Caini
50349dc2af
any/meta: work around the bugs of toolset v141 to also make it happy if possible
2022-10-08 19:51:49 +02:00
Michele Caini
4b10981d75
meta: better support to rvalue references for forward_as_meta
2022-10-08 19:00:13 +02:00
Michele Caini
b16cefd534
any: better support to rvalue references for forward_as_any
2022-10-08 19:00:03 +02:00
Michele Caini
46d6625467
dispatcher: minor changes
2022-10-08 17:08:32 +02:00
Michele Caini
a1a8e134d2
doc: mino changes
2022-10-07 12:25:42 +02:00
Michele Caini
0b6bbcc6a3
signal: move connect_arg_t to fwd.hpp
2022-10-07 12:24:11 +02:00
Michele Caini
5fac237153
any: favor delegating constructors if possible
2022-10-07 12:13:17 +02:00
Michele Caini
d2cc1c880c
meta: any: favor delegating constructors if possible
2022-10-07 12:09:01 +02:00
Michele Caini
ac18ad5823
any: favor delegating constructors if possible
2022-10-07 12:08:54 +02:00
Michele Caini
9ac5f6d046
meta: simplify container traits definitions
2022-10-06 19:02:32 +02:00
Michele Caini
08adb29d91
registry: also support empty queries to get and try_get (with tests)
2022-10-06 08:36:14 +02:00
Michele Caini
1721d07746
meta: drop useless [[maybe_unused]]
2022-10-06 08:27:38 +02:00
Michele Caini
9401d560b0
any: drop useless [[maybe_unused]]
2022-10-06 08:27:26 +02:00
Michele Caini
7eae8523cb
container: drop useless [[maybe_unused]]
2022-10-06 08:27:12 +02:00
Michele Caini
45b5eeeaa0
doc: update doxy file (and required doxygen version)
2022-10-05 18:51:04 +02:00
Michele Caini
12b436e5b8
sigh: small changes to make doxygen happy
2022-10-05 12:20:43 +02:00
Michele Caini
534dc7e7b7
registry: allocate_shared pools to further improve the use of the allocator
2022-10-04 12:30:25 +02:00
Michele Caini
5dfac37dac
dispatcher: just a comment for the future me
2022-10-04 12:29:43 +02:00
Michele Caini
f17a4e7f8e
locator: just a comment for the future me
2022-10-04 12:29:22 +02:00
Michele Caini
4b586efe66
registry: use the allocator a bit more if possible
2022-10-03 16:04:42 +02:00
Michele Caini
db6dc1e21b
sigh: reduce the number of instantiations and the size of the generated symbols
2022-09-30 10:29:47 +02:00
Michele Caini
da11771dab
meta: drop using definitions that are pointless/no longer required
2022-09-29 15:48:43 +02:00
Michele Caini
475e3a70b0
meta: minor changes
2022-09-29 09:48:51 +02:00
Michele Caini
5255afc80d
meta: drop useless scope
2022-09-28 18:14:12 +02:00
Michele Caini
7a3f59cc5d
delegate: drop useless scope
2022-09-28 18:14:04 +02:00
Michele Caini
9470133e33
registry: don't pass the allocator to the fake storage
2022-09-28 12:54:21 +02:00
Michele Caini
5ab0f9e4c0
dispatcher: const assure
2022-09-27 15:08:29 +02:00
Michele Caini
ef91cd5375
registry: rollback some no longer required changes
2022-09-26 15:43:15 +02:00
Michele Caini
cd9553ca10
registry: ::storage(id) returns a pointer rather than an utterly annoying iterator
2022-09-26 15:42:57 +02:00
Michele Caini
8b27a846a6
view: avoid moving the callback with multi-type views
2022-09-23 11:06:30 +02:00
Michele Caini
9d961ad8aa
view: minor changes
2022-09-23 11:00:45 +02:00
Michele Caini
0952f3ce03
view: reduce the number of symbols
2022-09-23 10:59:23 +02:00
Michele Caini
ab33111192
view/group: make ::handle [[nodiscard]]
2022-09-22 17:42:38 +02:00
Michele Caini
9a457c5aca
registry: prepare to drop static storage within const assure
2022-09-22 17:42:21 +02:00
Michele Caini
4f1c86c52e
view: prepare for partially working empty views
2022-09-22 17:42:15 +02:00
Michele Caini
c605e3b5a1
view: prepare for partially working empty views
2022-09-22 17:42:11 +02:00
Michele Caini
5a8c9b8a95
test: ASSERT_NO_THROW -> ASSERT_NO_FATAL_FAILURE
2022-09-22 17:42:01 +02:00
Michele Caini
2b8e9cab18
view: drop useless constexpr branch
2022-09-22 17:41:59 +02:00
Michele Caini
c3dec4b04e
view: added ::refresh function to reinitialize the leading pool
2022-09-21 15:42:38 +02:00
Michele Caini
699aa5cd96
meta: rework internal function meta_arg_node
2022-09-21 14:49:54 +02:00
Michele Caini
fea0210b6e
meta: support const/non-const overloads of the same function
2022-09-21 13:57:05 +02:00
Michele Caini
cf12765738
registry: pass the allocator to the pools
2022-09-20 16:04:14 +02:00
Michele Caini
17f47fbc92
storage_type[_t]/storage_for[_t]: allocator support
2022-09-20 11:01:58 +02:00
Michele Caini
1e36b6c4b6
registry: strict check on value_type for allocators
2022-09-20 10:25:29 +02:00
Michele Caini
28692fc142
registry: also adjust construction and swap orders
2022-09-19 15:03:51 +02:00
Dominic Koepke
6eff5a88f6
registry: update (and test) member destruction order ( #930 )
2022-09-19 13:06:37 +02:00
tocic
5742100973
doc: fix typos ( #934 )
2022-09-19 12:09:30 +02:00
Michele Caini
c52eea7db7
doc: update README ( thanks @Alan-FGR )
2022-09-16 15:46:20 +02:00
Michele Caini
2f59f5a8fa
meta: refine internal::meta_arg_node + code coverage
2022-09-16 10:06:56 +02:00
Michele Caini
e77fe56e8f
natvis: meta
2022-09-15 14:09:50 +02:00
Michele Caini
eea1e7b1f8
meta: further reduce the number of instantiations and allocations
2022-09-15 14:09:44 +02:00
Michele Caini
b0fbccdf10
meta: minor changes
2022-09-15 10:20:29 +02:00
Michele Caini
4f3faef153
meta: remove a few pointless moves
2022-09-15 10:08:50 +02:00
Michele Caini
3ae3c82fbb
meta: refine meta_construct to make it work with lambdas (+tests)
2022-09-14 16:29:11 +02:00
Michele Caini
1063fbccbe
meta: const correctness
2022-09-14 16:26:14 +02:00
Michele Caini
b9e60c679a
meta: added meta_function_descriptor_traits to avoid repetition and errors
2022-09-14 09:46:11 +02:00
Michele Caini
88fd79069b
locator: minor changes
2022-09-14 09:22:43 +02:00
Michele Caini
ab859f7fa7
meta: review meta_base_node::cast and meta_any::try_cast to reduce their sizes
2022-09-13 15:57:44 +02:00
Michele Caini
cc4d4dfc2b
meta: also make vs2017 happy if possible
2022-09-13 12:45:49 +02:00
Michele Caini
bd62e817dc
meta: reduce the size of the erased conversion function
2022-09-13 12:33:14 +02:00
Michele Caini
de34a109e1
meta: internal meta_arg_node is back to its old, unsafe version
2022-09-13 12:08:25 +02:00
Michele Caini
e0e45719fa
meta: minor changes
2022-09-12 10:59:08 +02:00
Michele Caini
b21b254258
meta: avoid non-standard rvalue-to-lvalue bindings :)
2022-09-12 10:57:04 +02:00
Michele Caini
ca3ef33f46
meta: further reduce the size of the resolve function
2022-09-12 10:46:53 +02:00
Michele Caini
8c4803d906
meta: minor changes
2022-09-12 10:46:52 +02:00
Michele Caini
ffb9e4b0eb
meta: shrink function templates a bit
2022-09-12 10:46:49 +02:00
Michele Caini
6010dbc368
meta: pre-instantiate the details section when constructing a factory
2022-09-12 10:46:46 +02:00
Michele Caini
a6343bd152
doc: updated links ( close #933 )
2022-09-09 14:14:22 +02:00
Michele Caini
9e4a7f48a4
meta: try to also make clang happy
2022-09-09 12:02:57 +02:00
Michele Caini
6ad7424d4a
meta: minor changes
2022-09-08 18:02:07 +02:00
Michele Caini
218fa1ba35
meta: share common code if possible
2022-09-08 15:11:09 +02:00
Michele Caini
b45db747a8
meta: review meta_arg[_node] + increase code coverage
2022-09-08 13:29:10 +02:00
Michele Caini
eedecc07fd
meta: avoid tricks and whatnot with meta_arg_node
2022-09-08 10:28:49 +02:00
Michele Caini
dcea36de7a
meta: try to share common code if possibile
2022-09-07 17:51:11 +02:00
Michele Caini
ed0e3f4435
meta: share common code
2022-09-07 16:17:29 +02:00
Michele Caini
8595e4bd99
meta: review meta containers to further reduce memory usage
2022-09-07 14:58:44 +02:00
Michele Caini
e31b81294d
meta: minor changes for consistency
2022-09-07 14:54:34 +02:00
Michele Caini
ac6e9cf2f0
meta: further reduce the number of instantiations
2022-09-07 14:32:15 +02:00
Michele Caini
dac4ae94c0
meta: further reduce the number of instantiations
2022-09-07 12:48:40 +02:00
Michele Caini
b31b585805
natvis: update meta
2022-09-07 11:33:15 +02:00
Michele Caini
1368c56655
meta: avoid storing meta type nodes by reference in the meta factory
2022-09-07 11:32:49 +02:00
Michele Caini
6cab12a14f
test: code coverage
2022-09-06 23:42:12 +02:00
Michele Caini
924a09a9c5
meta: minor changes (to suppress warnings)
2022-09-06 23:42:12 +02:00
Michele Caini
e4f6293f42
meta: use the hot/cold model with meta_type_node
2022-09-06 23:42:12 +02:00
Michele Caini
f197b32b02
meta: cleanup
2022-09-06 23:42:12 +02:00
Michele Caini
b80ab36418
meta: use the hot/cold model with meta_func_node
2022-09-06 23:42:12 +02:00
Michele Caini
d5588333f7
meta: use the hot/cold model with meta_data_node
2022-09-06 23:42:12 +02:00
Michele Caini
10755275ea
meta: use the hot/cold model with meta_prop_node
2022-09-06 23:42:12 +02:00
Michele Caini
a30cecdf36
meta: use a shared_pointer to void for meta properties
2022-09-06 23:42:12 +02:00
Michele Caini
0068afa06c
meta: cleanup
2022-09-06 23:42:12 +02:00
Michele Caini
38597a6499
meta: hot/cold data to allow copies of meta nodes
2022-09-06 23:42:12 +02:00
Michele Caini
65ee240e8e
meta: add a test (and a fix) for a corner case of meta_reset
2022-09-06 23:42:12 +02:00
Michele Caini
336bcf4d11
test: minor changes
2022-09-06 23:42:12 +02:00
Michele Caini
ed74a4c213
meta: explicit initialization of all values of a meta object
2022-09-06 23:42:12 +02:00
Michele Caini
3e29617da8
doc: meta
2022-09-06 23:42:11 +02:00
Michele Caini
715b3e450f
meta: make meta_factory<...>::type id argument required
2022-09-06 23:42:11 +02:00
Michele Caini
1ab10f3b28
meta: range iterator is an input iterator but models a random access iterator ( close #927 )
2022-09-06 23:42:11 +02:00
Michele Caini
304d8a80be
meta: avoid warnings due to unused variables
2022-09-06 23:42:11 +02:00
Michele Caini
560a3f664e
meta: drop meta_func_node::watermark, compare pointers to invoke instead
2022-09-06 23:42:11 +02:00
Michele Caini
41081204f9
tests: minor changes
2022-09-06 23:42:11 +02:00
Michele Caini
b895dfc901
nativs: review meta after the rework
2022-09-06 23:42:11 +02:00
Michele Caini
93a1d65103
meta: meta_type_node is no longer static
2022-09-06 23:42:11 +02:00
Michele Caini
443d53400d
meta: decouple meta containers and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
9725582089
meta: use insert_or_assign rather than operator[]
2022-09-06 23:42:11 +02:00
Michele Caini
cd2634a5d4
meta: use lvalue refs to meta any to construct meta handles
2022-09-06 23:42:11 +02:00
Michele Caini
798d1a4f9e
meta: add missing template keywords (love you, msvc)
2022-09-06 23:42:11 +02:00
Michele Caini
e13996f68a
meta avoid shadow warnings
2022-09-06 23:42:11 +02:00
Michele Caini
1ee077d511
meta: minor internal changes (try to make all compilers happy)
2022-09-06 23:42:11 +02:00
Michele Caini
ccf301c73d
test: review/minor changes
2022-09-06 23:42:11 +02:00
Michele Caini
461fe715b7
meta: decouple meta_template_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
9549bb4f4d
meta: decouple meta_func_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
0215722103
meta: decouple meta_data_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
7c6606f27e
meta: decouple meta_base_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
f0b10965fb
meta: decouple meta_prop_node and meta_type_node
2022-09-06 23:42:10 +02:00
Michele Caini
53f2bb7701
meta: meta_func_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
945e61d668
meta:
...
* meta_prop_node is no longer static
* we can attach multiple properties at different times
* meta property keys are of type id_type only
* removed meta_factory::props (use prop instead)
* meta range returns id and meta object pairs now
* removed mera_prop::key (id returned by meta ranges)
2022-09-06 23:42:10 +02:00
Michele Caini
e74c4bb684
meta: improve internal meta_from_void function
2022-09-06 23:42:10 +02:00
Michele Caini
a8eebcb0e2
meta: make meta_range iterators return an id and meta object pair
2022-09-06 23:42:10 +02:00
Michele Caini
1581aa1cf5
meta: meta_ctor_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
839a2cc86d
meta: removed meta_data::id
2022-09-06 23:42:10 +02:00
Michele Caini
3062114f0c
meta: meta_data_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
ab3abf23ed
meta: avoid allocations for meta_template_node
2022-09-06 23:42:10 +02:00
Michele Caini
b5a7812ab4
meta: added meta_dtor_node for consistency
2022-09-06 23:42:10 +02:00
Michele Caini
565de36155
meta: meta_base is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
c76f078834
meta: prepare for iterator based meta range
2022-09-06 23:42:10 +02:00
Michele Caini
358a9742c5
meta: removed meta_type::base(id_type) because pointless
2022-09-06 23:42:10 +02:00
Michele Caini
7f9e200cfb
meta: meta_conv_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
a12710af70
meta: meta_template_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
871234ec76
any: avoid declaring nested types in an union
2022-09-06 23:41:45 +02:00
Michele Caini
0c062cc351
any: refine replacement for std aligned storage (see #919 )
2022-09-06 23:09:44 +02:00
Michele Caini
67271e4672
registry: start to introduce the allocator (work in progress)
2022-09-06 09:43:34 +02:00
Michele Caini
2489a95dab
registry: don't store the allocator aside anymore
2022-09-06 08:33:10 +02:00
Michele Caini
70b8bd27b8
any/poly: avoid using aligned_storage_t (deprecated - close #919 )
2022-09-05 15:32:49 +02:00
Michele Caini
ee88cf16d1
any: avoid using storage_type to compute in_situ
2022-09-05 15:30:29 +02:00
Michele Caini
d83e818517
test: avoid using aligned_storage_t if possible (see #919 )
2022-09-02 15:23:47 +02:00
Michele Caini
6462ceb1f5
meta: turn meta_any::operator!= into an in-class method ( close #917 )
2022-09-02 10:10:10 +02:00
Michele Caini
e2f8ea110a
any: turn operator!= into an in-class method
2022-09-02 10:09:02 +02:00
Kyriet
f1acbbedf9
doc: add section about sorting and reverse-iterating views ( #918 )
2022-08-31 11:29:46 +02:00
Philipp Kurth
8510f535a5
storage: storage_iterator doesn't refer to the right specialization of component_traits ( #924 )
2022-08-30 12:16:52 +02:00
Michele Caini
9a97a57423
storage: test the proper use of component traits by the storage iterator
2022-08-30 12:13:57 +02:00
Michele Caini
a50cc628ec
natvis: drop meta_type_node is_pointer
2022-08-29 14:30:44 +02:00
Michele Caini
dc922c9e4c
storage: how the code coverage tool can be hated sometimes :)
2022-08-29 12:35:34 +02:00
Michele Caini
2f2b0cf98a
test: minor changes (help the code coverage tool)
2022-08-29 12:11:55 +02:00
Michele Caini
798d5eeb86
storage: minor changes (help the code coverage tool)
2022-08-29 12:04:35 +02:00
Michele Caini
02d8cefcde
locator: avoid shadow warnings
2022-08-29 11:48:17 +02:00
Michele Caini
f627593d63
build system: add explicit dependencies for plugin tests
2022-08-29 11:32:16 +02:00
Michele Caini
9aeddc2cb1
locator: lib plugin test
2022-08-29 11:25:37 +02:00
Michele Caini
6650071d24
locator: lib test
2022-08-29 11:08:03 +02:00
Michele Caini
006822c7fc
build system: set PIC property for odr target explicitly
2022-08-29 09:48:23 +02:00
Michele Caini
8bed15e469
natvis: update registry snippet
2022-08-28 18:55:58 +02:00
Michele Caini
4200bb9ebb
locator: ::handle and extended ::reset
2022-08-27 17:35:42 +02:00
Michele Caini
fdae346aa6
doc: typo (thanks @DNKpp)
2022-08-25 15:07:34 +02:00
Michele Caini
01acb15fab
meta: avoid using traits if not needed
2022-08-22 16:58:00 +02:00
Michele Caini
3a6764a685
meta: any and meta_any catchall ctors work the same
2022-08-22 16:56:02 +02:00
Michele Caini
e2e8a575c6
*: minor changes
2022-08-22 16:35:35 +02:00
Michele Caini
7205fb63fa
dense_set: minor changes
2022-08-22 16:35:32 +02:00
Michele Caini
c7b59fdc14
entity/*: minor changes
2022-08-22 16:35:28 +02:00
Michele Caini
e9a59bb014
registry: swap
2022-08-11 12:15:49 +02:00
Michele Caini
76ba063f29
registry:
...
* accept allocator upon construction
* no allocator-extended move ctor due to type erasure (we can't pass it to pools)
2022-08-11 11:40:57 +02:00
Michele Caini
2988a74fe4
registry: prepare allocator support (still an unused parameter)
2022-08-10 11:10:18 +02:00
Michele Caini
72bc9e3973
doc: cleanup
2022-08-10 10:13:12 +02:00
Michele Caini
31fb2bc2c3
group: basic_registry is no longer a friend class
2022-08-10 08:18:52 +02:00
Michele Caini
768f8cd74c
storage mixin: prepare for cross registry mixin
2022-08-10 07:59:42 +02:00
Michele Caini
751e044ce2
sigh_storage_mixin: use the allocator as it ought to be
2022-08-10 07:57:00 +02:00
Michele Caini
3406250cf6
iwyu: cleanup
2022-08-09 18:04:38 +02:00
Michele Caini
e510bdf4f2
dot: updated includes
2022-08-09 18:02:43 +02:00
Michele Caini
fccdff05e3
dense_map: equal_range
2022-08-09 09:50:55 +02:00
Michele Caini
e530b3d6f6
dense_set: equal_range
2022-08-09 09:50:52 +02:00
Michele Caini
0f0b70be23
iwyu: use imp file rather than intrusive pragma exports
2022-08-08 10:59:27 +02:00
Michele Caini
e39f235287
test: review includes
2022-08-06 17:36:04 +02:00
Michele Caini
af5acb8d32
test: minor changes
2022-08-05 18:40:17 +02:00
Michele Caini
a2f70cb5e4
emitter: updated includes
2022-08-05 18:38:53 +02:00
Michele Caini
25d10f03bb
iwyu: export all fwd includes
2022-08-05 17:47:42 +02:00
Michele Caini
85c1ad060f
test: minor changes
2022-08-05 12:28:22 +02:00
Michele Caini
d9b1cc0db3
iwyu: begin/end exports directive for entt.hpp/fwd.hpp (see #777 )
2022-08-05 12:28:05 +02:00
Michele Caini
34205014e9
test: review includes
2022-08-05 12:06:10 +02:00
Michele Caini
749106aa47
test: suppress iwyu warnings for odr.cpp
2022-08-05 12:05:45 +02:00
Michele Caini
b828e0295a
build system: update analyzer workflow
2022-08-05 11:46:53 +02:00
Michele Caini
2345002c1c
build system: add iwyu workflow (see #777 )
2022-08-05 08:56:35 +02:00
Michele Caini
2ce18a47b4
cleanup TODO file
2022-08-05 08:54:20 +02:00
Michele Caini
76b380d7c0
meta: review meta_any::allow_cast
2022-08-04 15:14:43 +02:00
Michele Caini
d3244ab4da
cleanup TODO file
2022-08-04 10:58:00 +02:00
Michele Caini
d06ccfb8e3
test: remove unused variable
2022-08-03 18:16:22 +02:00
Michele Caini
6f807d6f9e
dense_set: added count
2022-08-03 18:10:03 +02:00
Michele Caini
2b0045e23e
dense_map: added count
2022-08-03 18:09:52 +02:00
Michele Caini
57067bc362
dense_set: add max_size
2022-08-03 17:47:54 +02:00
Michele Caini
abe185c003
dense_map: add max_size
2022-08-03 17:47:45 +02:00
Michele Caini
85ca2f3562
doc: updated entity.md and README files
2022-08-03 11:24:23 +02:00
Michele Caini
3d03b01439
storage: full support for non-movable types ( close #905 )
2022-08-03 10:57:51 +02:00
Michele Caini
879e7d775f
component: yet another piece to fully support non-movable types (see #905 )
2022-08-02 14:06:35 +02:00
Michele Caini
e9dbd10db4
storage: fix cross range-erase can break when using built-in iterators ( close #914 )
2022-08-02 09:56:24 +02:00
Michele Caini
acc95bd9b7
doc: registry context
2022-08-02 08:41:45 +02:00
Michele Caini
504c7b5d6d
registry ( close #911 ):
...
* added context emplace_as
* deprecated context emplace_hint
2022-08-02 08:40:06 +02:00
Michele Caini
b20ab29d82
registry: context insert_or_assign
2022-08-02 08:35:10 +02:00
Michele Caini
95b16a0b04
sparse_set: fix cross range-erase can break when using built-in iterators ( close #913 )
2022-08-01 11:04:56 +02:00
Michele Caini
6ee64d1dc2
*: add a couple of <functional> because of equal_to
2022-07-29 12:06:25 +02:00
Michele Caini
83ecd2d1d9
test: suppress all death tests in release
2022-07-29 10:49:03 +02:00
Michele Caini
325a5dd353
test: utilities to suppress death tests in release
2022-07-29 10:46:15 +02:00
Michele Caini
e0ee35da61
sparse_set/storage/sigh_storage_mixin:
...
* prepare to support non-movable, non-copyable types
* improve destroying entities
2022-07-29 09:26:28 +02:00
Michele Caini
b3fde98020
build system: make pkg-config work with includedir as absolute paths ( close #890 )
2022-07-28 11:14:32 +02:00
Michele Caini
3c7c21cea3
cmake: add hand made join_paths (because we don't use cmake v3.20+ yet)
2022-07-28 11:13:12 +02:00
Michele Caini
c73d6c52bf
registry context: add get, deprecate at ( close #911 )
2022-07-28 08:54:43 +02:00
Michele Caini
c38c1454b4
test: code coverage
2022-07-27 10:09:09 +02:00
Michele Caini
06d1d23273
test: minor changes
2022-07-27 09:48:47 +02:00
Michele Caini
4081b46302
test: clean up
2022-07-27 08:55:11 +02:00
Michele Caini
914bf49656
natvis: update emitter definition
2022-07-27 08:54:42 +02:00
Michele Caini
dc634c61c4
natvis: runtime view
2022-07-27 08:54:19 +02:00
Michele Caini
566878b29c
natvis: update registry context definition
2022-07-27 08:54:03 +02:00
Michele Caini
0060479e33
cmake: remove aob workflow
2022-07-26 10:23:04 +02:00
Michele Caini
1a0d892201
doc: cleanup
2022-07-26 09:41:10 +02:00
Michele Caini
0424b63bf1
registry: decouple asserts
2022-07-26 09:41:01 +02:00
Michele Caini
de9d3c04e2
registry: remove redundant check
2022-07-25 17:08:19 +02:00
Michele Caini
b0e4a853cf
view: drop redundant asserts
2022-07-25 16:35:09 +02:00
Michele Caini
ac8dfe29ae
group: drop redundant asserts
2022-07-25 16:35:03 +02:00
Michele Caini
9d33a38ec4
registry: bypassing the check is possible already, remove it as a whole then
2022-07-25 15:25:06 +02:00
Michele Caini
e3076fa5d1
registry: drop useless validity check from remove
2022-07-21 17:14:59 +02:00
Michele Caini
2067b2aea6
registry: remove redundant validity check from orphan
2022-07-21 15:05:01 +02:00
Michele Caini
a14af95f9d
registry: remove useless validity check from a get
2022-07-21 11:39:31 +02:00
Michele Caini
8fd2ce8d47
registry: remove useless validity check from erase
2022-07-21 10:56:53 +02:00
Michele Caini
d6edc64d65
registry: remove useless check when invoking patch
2022-07-21 10:19:36 +02:00
Michele Caini
f882158387
registry: renaming for consistency
2022-07-20 17:59:32 +02:00
Michele Caini
6f852c2dcb
registry: minor changes
2022-07-20 17:59:22 +02:00
Michele Caini
e47e74fc76
registry: remove validity check from erase
2022-07-20 14:49:49 +02:00
Michele Caini
e604060369
registry: remove validity check from try_get
2022-07-20 14:47:54 +02:00
Michele Caini
80f8051c57
registry: remove validity check from patch
2022-07-20 12:53:44 +02:00
Michele Caini
612c499a3d
registry: remove validity check from get
2022-07-20 12:52:11 +02:00
Michele Caini
cceffe6ac4
registry: renaming for consistency
2022-07-19 19:15:04 +02:00
Michele Caini
a74416c730
registry: remove validity check from any_of/all_of
2022-07-19 16:47:33 +02:00
Michele Caini
0830704484
container/*: minor changes
2022-07-19 15:14:08 +02:00
Michele Caini
79f7eaaf9a
handle: include null as it ought to be
2022-07-19 08:08:43 +02:00
Michele Caini
389e038445
registry/context: prepare to allocator support
2022-07-18 15:18:00 +02:00
Michele Caini
8f84bd7091
emitter: allocator support
2022-07-18 14:29:31 +02:00
Michele Caini
2146e3ded9
dispatcher: minor changes
2022-07-18 14:28:59 +02:00
Michele Caini
97c0582765
emitter: cleanup/simplification
2022-07-15 08:43:44 +02:00
Michele Caini
c3f230956c
organizer: cleanup/remove dependency from <algorithm>
2022-07-15 08:41:46 +02:00
Michele Caini
b914a4a93e
meta: try to please all compilers (again)
2022-07-14 09:22:57 +02:00
Michele Caini
befa0fe213
doc: meta
2022-07-14 08:46:06 +02:00
Michele Caini
61ef5a44e0
meta:
...
* improved sequence container support for non-contiguous containers
* added support to (standard) deque as sequence containers
2022-07-14 08:45:59 +02:00
Michele Caini
131fd0d778
doc: updated readme
2022-07-14 08:43:33 +02:00
Michele Caini
8973757b43
updated TODO (gh stuff)
2022-07-13 11:48:30 +02:00
Michele Caini
14ce88730f
meta: minimal (and still inefficient) support for lists as sequence containers
2022-07-13 11:48:30 +02:00
Michele Caini
84cbfb2f91
meta: use clear rather than reserve to spot dynamic sequence containers
2022-07-13 11:48:30 +02:00
Michele Caini
e8f8520251
dense_set: fix an issue when erasing movable keys
2022-07-13 11:24:40 +02:00
Michele Caini
c26558cd6d
dense_map: fix an issue when erasing movable keys
2022-07-13 11:24:29 +02:00
Paolo Monteverde
71feb0516d
adjacency_matrix: update allocator aware constructor ( #909 )
2022-07-13 11:22:20 +02:00
Michele Caini
382187089c
meta: make meta_type::from_void const as it ought to be
2022-07-11 10:31:08 +02:00
Michele Caini
4faeb5c44e
dispatcher: removed unused/useless code
2022-07-07 10:41:53 +02:00
Michele Caini
ac8f569280
nativs: updated meta type representation
2022-07-06 12:16:47 +02:00
Michele Caini
669420d31c
meta: try to please all compilers (as usual)
2022-07-06 11:52:32 +02:00
Michele Caini
df48cc9471
meta: minor changes
2022-07-06 11:30:45 +02:00
Michele Caini
274a08070f
meta: meta_type::from_void support
2022-07-06 11:30:43 +02:00
Michele Caini
c0e20825ac
metx: ctx.hpp -> context.hpp
2022-07-06 11:30:40 +02:00
Michele Caini
15d821f2f8
helper: review includes
2022-07-05 08:39:48 +02:00
Michele Caini
acbd38c1ed
container/entity: noexcept-ness review
2022-07-05 08:39:16 +02:00
Michele Caini
92f5f97d83
entity/*: updated includes
2022-07-05 08:36:24 +02:00
Michele Caini
1128b9de81
dispatcher: remove unused include
2022-07-04 17:46:33 +02:00
Michele Caini
fcd60467a7
memory: minor/internal changes
2022-07-04 17:46:03 +02:00
Michele Caini
2f51341633
meta: a few optimizations/improvements (size bench review)
2022-07-04 08:27:05 +02:00
Michele Caini
5799f407ae
meta: minor changes
2022-07-04 08:27:02 +02:00
Michele Caini
c7a5e09c0e
meta container: small changes
2022-07-04 08:26:58 +02:00
Michele Caini
3318ac2699
meta: reduce a little the number and size of vtables/fake functions
2022-07-04 08:26:53 +02:00
Michele Caini
437f1fea54
view: suppress shadow warnings
2022-07-03 12:23:08 +02:00
Michele Caini
3ab43f894f
organizer: suppress shadow warnings
2022-07-03 12:23:03 +02:00
Michele Caini
86f98f40a1
test: added missing include
2022-07-03 12:22:53 +02:00
Michele Caini
655f1dd906
doc: minor changes
2022-07-01 18:56:02 +02:00
Michele Caini
243a382485
registry: drop some lambdas and calls to std::
2022-07-01 18:09:37 +02:00
Michele Caini
4b74163306
meta: turn the meta_range class into an alias of iterable_adaptor
2022-07-01 18:09:35 +02:00
Michele Caini
50e67d7c15
view: drop <algorithm> (no longer required)
2022-07-01 16:00:47 +02:00
Michele Caini
c5afd8f589
dense_map: remove <algorithm> (no longer required)
2022-07-01 16:00:44 +02:00
Michele Caini
c6ab65d552
meta: coding style
2022-07-01 09:50:55 +02:00
Michele Caini
1a853fe145
doc: core, iterator.hpp
2022-07-01 09:18:00 +02:00
Michele Caini
72abc8e4c4
doc: minor changes
2022-07-01 09:17:49 +02:00
Michele Caini
e15ad2e21b
storage: minor changes (for consistency)
2022-06-30 18:35:38 +02:00
Michele Caini
5afc5529c2
doc: runtime_view
2022-06-30 18:32:57 +02:00
Michele Caini
7eed368dc2
sparse_set: minor changes
2022-06-30 16:09:28 +02:00
Michele Caini
600303bb5b
observer: derive from storage rather than using one internally
2022-06-30 15:52:43 +02:00
Michele Caini
bcfd6d1b4f
runtime view: allocator support
2022-06-29 18:27:43 +02:00
Michele Caini
e65b3a790d
runtime view: const/non-const support
2022-06-29 18:27:41 +02:00
Michele Caini
a28467d393
dense set/map: drop <algorithm> and save some bytes here and there
2022-06-29 18:27:25 +02:00
Michele Caini
bf13d9363d
updated TODO
2022-06-29 18:27:21 +02:00
Michele Caini
ff9c472f86
registry: remove unused header
2022-06-29 18:27:17 +02:00
Michele Caini
46e601db6e
natvis: print both the index and the entity for the storage representation
2022-06-29 18:27:14 +02:00
Michele Caini
d4482d0d26
oeganizer: use a flow builder under the hood
2022-06-29 18:27:11 +02:00
Michele Caini
281289c46a
flow: set-with-mode function to ease the transition of the observer class
2022-06-29 18:27:09 +02:00
Michele Caini
bc85d96938
meta: remove a few lambdas
2022-06-29 18:26:12 +02:00
Michele Caini
c2475381fd
meta: make meta_associative_container::erase return the number of elements removed
2022-06-29 18:25:47 +02:00
Michele Caini
6ac14f35ad
doc: minor changes
2022-06-29 18:25:32 +02:00
Michele Caini
de18834c91
view: remove useless member
2022-06-24 10:51:08 +02:00
Michele Caini
fc7d28c723
test: view constructors
2022-06-24 08:55:31 +02:00
Michele Caini
7ac2ce50a0
registry: use internal type member storage_for_type
2022-06-24 08:53:45 +02:00
Michele Caini
9cf9661484
doc: minor changes
2022-06-24 08:22:51 +02:00
Michele Caini
8dbf00ad3a
flow: minor changes
2022-06-23 14:43:22 +02:00
Michele Caini
e0e623fa36
doc: links
2022-06-23 08:57:34 +02:00
Michele Caini
4094669222
doc: typo
2022-06-23 08:51:12 +02:00
Michele Caini
9e19244659
flow: added a couple of [[nodiscard]]
2022-06-23 08:37:17 +02:00
Michele Caini
d41ccb6b34
doc: tabs -> spaces
2022-06-23 08:36:28 +02:00
Michele Caini
72c1da2507
view: storage based model
2022-06-22 09:07:25 +02:00
Michele Caini
2e8c5ea2de
doc: typo
2022-06-22 09:05:31 +02:00
Michele Caini
65561fe431
group: minor changes
2022-06-22 09:02:37 +02:00
Michele Caini
cf401aa0b5
doc: minor changes
2022-06-22 09:00:46 +02:00
Michele Caini
9b2c9936c2
doc: dot
2022-06-21 18:30:26 +02:00
Michele Caini
e4aabc7feb
adjacency_matrix: single edge iterator
2022-06-21 18:11:36 +02:00
Michele Caini
610951771e
adjacency_matrix: add error messages
2022-06-21 14:31:59 +02:00
Michele Caini
f76959af63
test: suppress warnings due to unused variables
2022-06-21 14:24:49 +02:00
Michele Caini
0eb5b0437b
dot: directed/undirected support
2022-06-21 12:36:23 +02:00
Michele Caini
c1ac684f9a
adjacency_matrix: directed/undirected tag
2022-06-21 12:28:59 +02:00
Michele Caini
473c36aba5
adjacency_matrix:
...
* make swap accept the right type
* make resize work properly
2022-06-21 11:02:23 +02:00
Michele Caini
38e6722358
dot: try to also please gcc
2022-06-21 09:49:47 +02:00
Michele Caini
d2a0f86908
dot: first draft
2022-06-21 09:26:32 +02:00
Michele Caini
c6707bec97
test: handle
2022-06-20 12:49:33 +02:00
Michele Caini
5c6a11cb8f
test: minor changes
2022-06-20 08:30:26 +02:00
Michele Caini
600cc5e167
handle: since it's a reference type, we don't need two overloads for storage
2022-06-20 08:27:57 +02:00
Michele Caini
c441a9ad97
handle: remove visit, use iterable objects instead
2022-06-20 08:22:57 +02:00
Michele Caini
c2d2ba29ea
doc: typo
2022-06-18 16:21:37 +02:00
Michele Caini
25af23d3ff
registry: minor changes
2022-06-18 16:17:25 +02:00
Michele Caini
cbd6fd8aee
view: minor changes
2022-06-18 16:17:07 +02:00
Michele Caini
7a7fc20438
doc: typo ( close #898 )
2022-06-17 17:10:50 +02:00
Michele Caini
ca4b2b68a7
updated TODO
2022-06-17 17:01:47 +02:00
Michele Caini
f3ae553706
doc: minor changes - thanks @morbo84
2022-06-17 16:27:04 +02:00
Michele Caini
fe6696b107
graph: sync point
2022-06-17 16:06:49 +02:00
Michele Caini
3a85d0f179
doc: graph
2022-06-17 11:39:07 +02:00
Michele Caini
9845d2c87d
adjacency_matrix:
...
* iterator review
* in_edges iterable
2022-06-17 11:36:11 +02:00
Michele Caini
ea8730c2a9
doc: typo ( close #896 )
2022-06-16 09:53:51 +02:00
Michele Caini
c81868f8f7
flow: removed ::tasks, added operator[]
2022-06-16 09:51:18 +02:00
Michele Caini
33d1839b75
flow: task -> bind
2022-06-16 09:37:12 +02:00
Michele Caini
df10a01af9
flow: increase code coverage, simplify the internals
2022-06-16 09:30:21 +02:00
Michele Caini
4aa40aba4c
build system: try to satisfy codecov requirements
2022-06-16 09:01:01 +02:00
Michele Caini
696c94e2ea
flow: suppress shadow warnings
2022-06-16 08:23:30 +02:00
Michele Caini
bc5dfb9371
graph: flow (first draft)
2022-06-16 08:11:45 +02:00
Michele Caini
88c63b941d
natvis: graph
2022-06-16 07:48:41 +02:00
Michele Caini
b8e12dc42a
doc: minor changes
2022-06-15 09:21:49 +02:00
Michele Caini
2974e959e5
doc:: minor changes
2022-06-15 09:11:36 +02:00
Michele Caini
67b2fc085c
view: prepare to storage based model
2022-06-15 09:01:57 +02:00
Michele Caini
cb202c15a5
group: minor changes
2022-06-15 09:01:41 +02:00
Michele Caini
850abd440b
doc: typo
2022-06-15 08:28:00 +02:00
Michele Caini
01d125f53d
group: storage based model
2022-06-14 08:07:01 +02:00
Michele Caini
3f0572c5ce
graph: class vs struct definition
2022-06-13 00:39:53 +02:00
Michele Caini
cc6c45f591
adjacency_matrix: edges -> out_edges
2022-06-04 11:40:52 +02:00
Michele Caini
8029777c4e
graph: (currently directed only) adjacency_matrix
2022-06-04 10:52:28 +02:00
Michele Caini
a6171551bd
input_iterator_pointer: operator*
2022-06-04 09:16:18 +02:00
Michele Caini
6bb67ab5da
process: fwd file
2022-06-03 19:42:37 +02:00
Michele Caini
a31c492c83
core: iota_iterator (waiting for C++20)
2022-06-03 19:25:47 +02:00
Michele Caini
c36d5e4a9c
organizer: minor changes
2022-06-03 18:56:52 +02:00
Michele Caini
17b3fc93b0
updated todo file
2022-06-01 09:42:02 +02:00
Michele Caini
d2f4ffc433
registry/storage: minor changes
2022-06-01 09:41:41 +02:00
Michele Caini
1c8a296f49
doc: minor changes
2022-06-01 09:21:43 +02:00
Michele Caini
de0e5862dd
meta: use a more explicit static_cast (!! tricks some tools)
2022-05-31 10:37:04 +02:00
Michele Caini
e822b8c99e
meta: minor changes
2022-05-31 10:33:27 +02:00
Michele Caini
48d767749d
meta: removed redundant meta_traits::is_pointer
2022-05-31 10:23:34 +02:00
Michele Caini
fa48c76dd1
any: drop useless remove_const_t
2022-05-29 12:10:32 +02:00
Michele Caini
754fe9f4ec
any: make things explicit to avoid cast to same type warnings
2022-05-29 12:09:23 +02:00
Michele Caini
1ad3adfff0
any: drop pointless cast
2022-05-29 12:03:42 +02:00
Michele Caini
0c0fd4d7f7
storage_for: minor changes
2022-05-29 10:08:07 +02:00
Michele Caini
72f5df82b2
doc: some links :)
2022-05-29 09:41:56 +02:00
Michele Caini
c7407f5b6a
view:
...
* reduce (a lot) the number of instantiations due to tuples
* review operator|
2022-05-27 19:03:28 +02:00
Michele Caini
f57975acca
view: avoid delegating constructors with tuples
2022-05-27 18:12:38 +02:00
Michele Caini
a8a0c9e571
test: minor changes
2022-05-27 16:39:54 +02:00
Michele Caini
e05277d56a
registry: use storage_for[_t]
2022-05-26 11:50:31 +02:00
Michele Caini
0b1985ca7e
view: use storage_for[_t]
2022-05-26 11:50:22 +02:00
Michele Caini
637764ee4e
group: use storage_for[_t]
2022-05-26 08:46:53 +02:00
Michele Caini
c6e613c317
storage: storage_for[_t] utility
2022-05-26 08:25:47 +02:00
Michele Caini
aa3e769463
doc: type_list_transform
2022-05-25 23:04:15 +02:00
Michele Caini
630ba195d1
input_iterator_pointer: no reason for which it shouldn't be copyable
2022-05-25 16:51:44 +02:00
Michele Caini
13276d2f10
input_iterator_pointer: minor changes
2022-05-25 16:48:07 +02:00
Michele Caini
d59407a339
any: makes assign work for all basic_any types
2022-05-25 16:46:50 +02:00
Michele Caini
92c2fd9409
hashed_string: nit
2022-05-25 11:42:10 +02:00
Michele Caini
063e6160e0
natvis: explicit entity-component mapping
2022-05-25 11:39:42 +02:00
Michele Caini
6155a10037
doc: minor changes
2022-05-25 11:24:20 +02:00
Michele Caini
7428cb353c
storage: add default entity type to storage_type
2022-05-25 10:32:40 +02:00
Michele Caini
fe3b5b03eb
entity/invoke: properly decay deduced argument to avoid nasty errors with reference types
2022-05-24 14:11:19 +02:00
Michele Caini
497fb90b12
doc: updated core.md
2022-05-24 10:59:50 +02:00
Michele Caini
48ab892de1
type_traits: type_list_transform[_t] utility
2022-05-24 10:59:40 +02:00
Michele Caini
a85ad88d5a
entitiy/invoke: use nth_argument_t and avoid explicitly mentioning the registry
2022-05-24 08:31:14 +02:00
Michele Caini
cf2566ff74
doc: nth_argument (core)
2022-05-23 11:47:04 +02:00
Michele Caini
619f51518a
type_traits: nth_argument utility (with tests)
2022-05-23 11:46:50 +02:00
Michele Caini
b26330adab
delegate: minor changes
2022-05-23 11:35:11 +02:00
Michele Caini
83009bac02
resource: remove use_count ( close #889 )
2022-05-21 14:18:05 +02:00
Michele Caini
8780d536c7
resource: add member function handle
2022-05-21 14:14:15 +02:00
Michele Caini
99f4134d9d
resource: add type member handle_type
2022-05-21 14:12:31 +02:00
Michele Caini
ca02ab7d5d
resource: add type member element_type
2022-05-21 14:11:25 +02:00
kcalbCube
dc295ca0e1
doc: add an notice about possible undefined behaviour. ( #887 )
2022-05-20 10:44:25 +02:00
Michele Caini
8ee91095c5
organizer: make it depend on the registry type and not the entity type
2022-05-20 09:07:32 +02:00
Michele Caini
49c7b2f8f4
entity/*: renaming things to make them clear
2022-05-19 09:00:04 +02:00
Michele Caini
5d80cf11ef
helper: decouple invoke and to_entity from the registry type
2022-05-19 08:15:17 +02:00
Michele Caini
bc929bcb90
snapshot: suppress warnings/errors due to shadow template parameters
2022-05-18 15:21:35 +02:00
Michele Caini
26a3057acf
handle: decouple from entity type, make it work with all registry types
2022-05-18 15:02:25 +02:00
Michele Caini
96cf0a6d02
handle: prepare for a registry oriented version
2022-05-18 11:12:53 +02:00
Michele Caini
12e773f3fb
as_group/as_view: make them transparent to the registry type
2022-05-17 12:40:47 +02:00
Michele Caini
c321997591
snapshot/loader: support all types of registry (allocator oriented)
2022-05-17 12:35:45 +02:00
Michele Caini
b2d98452f1
observer: support all types of registry (allocator oriented)
2022-05-17 12:28:54 +02:00
Michele Caini
16e48aa10f
storage_type_t: simplify the definition to make it work with default template arguments for storage_type
2022-05-17 12:17:44 +02:00
Michele Caini
4da85a5f4a
storage_type[_t]: flip entity type and value type
2022-05-17 12:07:21 +02:00
Michele Caini
a5c9d3a809
basic_storage: flip entity type and value type
2022-05-17 11:55:53 +02:00
Michele Caini
f288ba744d
test: cleanup
2022-05-17 11:35:32 +02:00
Michele Caini
ba5b85de00
storage: use storage_type_t everywhere
2022-05-16 08:59:04 +02:00
Michele Caini
bd2f412225
storage: add storage_type_t
2022-05-16 08:25:50 +02:00
Michele Caini
a86cf32f55
entity: storage_traits -> storage_type
2022-05-16 08:25:23 +02:00
Michele Caini
0c8178c753
view/group/registry: storage_type -> storage_for (prepare for storage_type_t)
2022-05-15 10:45:33 +02:00
Michele Caini
b59e06ec89
storage_traits: storage_type -> type
2022-05-13 14:11:23 +02:00
Michele Caini
10153a371b
sparse_set: use null values as watchdogs
2022-05-13 12:12:48 +02:00
Michele Caini
a93c1478c0
sparse_set: check against null rather than tombstone (prepare support for enable/disable)
2022-05-13 11:10:08 +02:00
Michele Caini
215b7a19c9
test: suppress warning due to integral conversions
2022-05-12 17:51:03 +02:00
Michele Caini
14ed666b91
helper: suppress warning with gcc from to_entity
2022-05-12 17:50:13 +02:00
Michele Caini
ac1d61b2c4
sparse_set: refine the check of the bump function
2022-05-12 17:32:25 +02:00
Michele Caini
acb6e90158
sparse_set: bump doesn't allow to set a tombstone version (yet)
2022-05-12 15:58:38 +02:00
Michele Caini
d3609737f5
view: minor changes
2022-05-12 14:23:45 +02:00
Michele Caini
95b91cd7dd
runtime_view: remove the dependency on the sparse set class
2022-05-12 12:43:00 +02:00
Michele Caini
affd2a3b91
registry: ::storage<T> doesn't accept const types anymore
2022-05-11 13:48:03 +02:00
Michele Caini
d392259364
TODO: cleanup
2022-05-11 07:49:37 +02:00
Michele Caini
e03f4fac64
sigh_storage_mixin: added fwd decl to entity/fwd.hpp
2022-05-11 07:49:14 +02:00
Michele Caini
538840351a
natvis: updated definition for meta_type_node
2022-05-11 07:48:42 +02:00
Michele Caini
1ddad3577c
registry: minor changes
2022-05-11 07:47:58 +02:00
Michele Caini
d44d1325fc
meta: add meta_type::is_integral and meta_type::is_signed ( close #884 )
2022-05-10 14:43:08 +02:00
Michele Caini
dc07af6ad1
sigh: updated noexcept token
2022-05-09 12:16:57 +02:00
Michele Caini
c6f1809d60
sigh:
...
* cleanup
* conditionally noexcept
2022-05-09 12:07:28 +02:00
Michele Caini
261e73bf3e
y_combinator: conditionally noexcept
2022-05-09 12:07:13 +02:00
Michele Caini
8c7d2a1e96
allocation_deleter: conditionally noexcept
2022-05-09 12:06:42 +02:00
Michele Caini
72507977bd
input_iterator_pointer: conditionally noexcept
2022-05-09 12:05:56 +02:00
Michele Caini
270829f05b
iterable_adaptor: constructors are conditionally noexcept now
2022-05-09 08:32:11 +02:00
Michele Caini
b92e4f7e65
iterable_adaptor: move iterators on construction
2022-05-09 08:23:51 +02:00
Michele Caini
8e890135fe
compressed pair: make the full class conditionally noexcept
2022-05-06 12:25:07 +02:00
Michele Caini
a6601939d5
compressed_pair: make compressed_pair_element conditionally noexcept
2022-05-06 12:19:14 +02:00
Michele Caini
c608e735d2
test: use page size variables
2022-05-06 12:01:37 +02:00
Michele Caini
e0a1a338a5
view: security net and explicit arrays to avoid regressions
2022-05-06 09:31:23 +02:00
Michele Caini
7aa276df5a
entity: oops, typo :)
2022-05-06 08:44:03 +02:00
Michele Caini
d939a72219
config: drop ENTT_NOEXCEPT[_IF]
2022-05-06 08:41:22 +02:00
Michele Caini
96fc59eee5
updated TODO
2022-05-06 08:40:33 +02:00
Michele Caini
989f8568cf
helper: use the right page size in all cases
2022-05-06 08:40:17 +02:00
Michele Caini
66f451124f
entity: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:37:41 +02:00
Michele Caini
e59ff47f6f
core: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:30:49 +02:00
Michele Caini
b176be9ef7
meta: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:52 +02:00
Michele Caini
942879bbba
signal: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:42 +02:00
Michele Caini
2065c4294f
resource: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:30 +02:00
Michele Caini
cb02f0621c
process: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:22 +02:00
Michele Caini
971f371eab
poly: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:14 +02:00
Michele Caini
f21c56bd98
locator: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:23:03 +02:00
Michele Caini
363299a27d
containter: prepare to remove ENTT_NOEXCEPT[_IF]
2022-05-06 08:22:55 +02:00
Michele Caini
10e74dad41
doc: drop mentions of ENTT_NOEXCEPT
2022-05-05 14:54:04 +02:00
Michele Caini
dc041b7ea0
test: cleanup/update
2022-05-05 14:53:05 +02:00
Michele Caini
584cfdf64c
test: avoid using ENTT_NOEXCEPT in the test suite
2022-05-05 09:24:02 +02:00
Michele Caini
74c498cf15
doc: avoid using ENTT_NOEXCEPT in the doc
2022-05-05 09:02:38 +02:00
Michele Caini
a1e5855f2b
updated TODO
2022-05-05 09:00:03 +02:00
Michele Caini
d8e5a97ef3
entity: iterator constexpr-ness review ( close #883 )
2022-05-04 16:18:37 +02:00
Michele Caini
96804b0b28
meta: constexpr all the way (see #883 )
2022-05-04 16:10:37 +02:00
Michele Caini
b0d69c50da
resource_cache: constexpr all the way (see #883 )
2022-05-04 16:06:54 +02:00
Michele Caini
de6b2e139b
container: constexpr all the way (see #883 )
2022-05-04 16:04:55 +02:00
Michele Caini
7204840a8a
resource: fixed typo
2022-05-04 09:30:23 +02:00
Michele Caini
76369a01ad
group: avoid unnecessary instantiations and try to please all compilers
2022-05-04 08:38:28 +02:00
Michele Caini
3a92a93604
y_combinator: constexpr-ness all the way (see #883 )
2022-05-03 18:51:03 +02:00
Michele Caini
f1c968372f
memory: constexpr-ness all the way (see #883 )
2022-05-03 18:48:54 +02:00
Michele Caini
759d9a642f
config: add ENTT_ENTT_CONSTEXPR to use in combination with ENTT_TRY and the like (waiting for C++20)
2022-05-03 18:48:11 +02:00
Michele Caini
86d86c3044
iterator: constexpr-ness all the way (see #883 )
2022-05-03 18:41:15 +02:00
Michele Caini
c38708c483
compressed_pair: constexpr-ness all the way (see #883 )
2022-05-03 18:37:39 +02:00
Michele Caini
1673a5ade9
doc: minor changes
2022-05-03 17:07:06 +02:00
Michele Caini
c56a49ddce
group: prepare to the storage reference semantics move
2022-05-02 15:36:05 +02:00
Michele Caini
03477ce400
type_traits: type_list_index[_v]
2022-05-02 10:58:11 +02:00
Michele Caini
14d213d13e
ident/family: change names for consistency
2022-05-02 09:14:53 +02:00
Michele Caini
8d86816d8d
view: tuple constructor
2022-04-30 11:56:04 +02:00
Michele Caini
12cf3fd8e7
*: spot and clear some misues of = default
2022-04-29 12:35:11 +02:00
Michele Caini
8c23f2de8b
core/entity: spot and remove useless add_const_t
2022-04-29 12:24:47 +02:00
Michele Caini
837481a854
group: support both const and non-const excluded types
2022-04-29 12:22:54 +02:00
Michele Caini
b682e58df7
view:
...
* prepare to storage getters for filters
* support both const and non-const excluded types
2022-04-29 12:18:12 +02:00
Michele Caini
c4f430d0d0
view: minor changes
2022-04-28 23:02:00 +02:00
Michele Caini
c7930ab349
natvis: update registry definition
2022-04-28 16:56:54 +02:00
Michele Caini
045baba7ea
compressed_pair: re-add base_type to avoid breaking natvis
2022-04-28 16:51:04 +02:00
Michele Caini
d17ac421ec
updated authors and todo files
2022-04-28 16:36:55 +02:00
Qix
049e529f66
test: add mention of storage initialization workaround (ref #827 ) ( #879 )
2022-04-28 16:34:45 +02:00
Dominic Koepke
ef6e47f625
tuple: forward_apply functional type ( #876 )
2022-04-28 16:14:25 +02:00
Michele Caini
1330cb9126
doc: typo
2022-04-27 16:55:43 +02:00
Michele Caini
f0ee8bc89d
meta: minor changes
2022-04-27 09:32:32 +02:00
Michele Caini
ebc0c18534
test: add missing template keywords (thanks msvc)
2022-04-27 09:22:07 +02:00
Michele Caini
379a4bdda6
meta: re-added meta_type::remove_pointer ( close #878 )
2022-04-27 09:17:18 +02:00
Michele Caini
2ce106c50f
meta: internal changes
2022-04-26 19:46:57 +02:00
Michele Caini
0ebdfe59ee
meta: minor changes
2022-04-26 19:01:15 +02:00
Michele Caini
80c700b1f8
sigh_storage_mixin: allocator support
2022-04-26 11:43:59 +02:00
Michele Caini
103f935d61
meta ( close #872 ):
...
* container traits don't really support plain arrays anymore (if they ever did)
* fix an issue with insert/erase of meta sequence containers
* add non-regression tests
2022-04-24 17:17:47 +02:00
Michele Caini
164476721a
compressed_pair: cleanup
2022-04-22 10:40:10 +02:00
Michele Caini
54dd716d02
any: avoid duplicating operation/policy for all specializations
2022-04-22 10:35:01 +02:00
Michele Caini
ab681ce637
registry: minor changes to ease the transition
2022-04-22 00:02:55 +02:00
Michele Caini
a355de8e97
registry: delegating constructor
2022-04-21 23:39:15 +02:00
Michele Caini
56921d6449
config/component: ENTT_IGNORE_IF_EMPTY -> ENTT_ETO_TYPE
2022-04-21 16:54:50 +02:00
Michele Caini
7e900626bc
test: suppress shadow warnings
2022-04-21 13:59:27 +02:00
Michele Caini
dc30c29f4e
config/component/storage:
...
* ENTT_IGNORE_IF_EMPTY is an internal def-only macro
* component_traits review to also support void type
* updated tests for component_traits
* added a non-regression test for storage<void>
2022-04-21 11:43:42 +02:00
Michele Caini
370865bb57
doc: add billy engine
2022-04-21 09:10:23 +02:00
Michele Caini
80015e83d4
sigh/dispatcher: use allocator<void>
2022-04-20 16:40:19 +02:00
Michele Caini
c37c35b52b
registry: avoid code duplication
2022-04-19 15:35:39 +02:00
Corentin Schreiber
069004d4eb
registry: overflow of version and max number of entities ( #864 )
2022-04-19 10:58:17 +02:00
Michele Caini
f11695200e
doc: updated config.md
2022-04-19 09:10:01 +02:00
Michele Caini
ef2f8a1a18
config: decouple ENTT_NOEXCEPT and exceptions handling ( close #867 )
2022-04-19 09:09:25 +02:00
Michele Caini
54cc687c50
doc: typo
2022-04-19 00:08:25 +02:00
Michele Caini
51f279160f
resource: added more comparison operators for resource handles
2022-04-16 11:38:45 +02:00
Michele Caini
e3113f6976
sparse_set: nodiscard get(s)
2022-04-15 16:02:53 +02:00
Michele Caini
485e29a672
meta: reduce number of generated symbols
2022-04-15 15:10:40 +02:00
Michele Caini
00e67c50ca
nativs: updated definition for type_info
2022-04-15 11:46:08 +02:00
Michele Caini
3e7b3edb9c
group: reduce instantiations due to extended iterators and merge their definitions
2022-04-15 11:46:08 +02:00
Michele Caini
3c6c9d9462
emitter: minor changes
2022-04-15 11:46:08 +02:00
Michele Caini
6b06a9ff2b
storage: cleanup
2022-04-15 11:46:08 +02:00
Michele Caini
803db476bb
entity:
...
* drop utility.hpp
* turn get_t/exclude_t into aliases for type_list
* updated api for basic_registry<...>::group/group_if_exists
* doc review to reflect all the changes above
2022-04-15 11:46:08 +02:00
Michele Caini
c134ea3098
doc: updated signal.md
2022-04-15 11:46:08 +02:00
Michele Caini
6e64f36b39
natvis: review both dispatcher and emitter
2022-04-15 11:46:08 +02:00
Michele Caini
36af39e2b4
emitter: full review
2022-04-15 11:46:08 +02:00
Michele Caini
88929ab730
natvis: minor changes
2022-04-15 11:46:08 +02:00
Michele Caini
02f00e5339
dispatcher: assert within assure as it ought to be
2022-04-15 11:46:08 +02:00
Michele Caini
ee67032af1
sigh: cleanup to reduce redundancy
2022-04-15 11:46:08 +02:00
Michele Caini
8aea00f527
delegate: cleanup to reduce redundancy
2022-04-15 11:46:07 +02:00
Michele Caini
50faed4a50
dispatcher: minor changes
2022-04-15 11:46:07 +02:00
Michele Caini
b982817a56
now working on v3.11.0
2022-04-15 11:45:56 +02:00
Michele Caini
e5172a9240
update single include file
2022-04-15 11:44:22 +02:00
Michele Caini
dcac7942fa
type_info: a default constructible type isn't a good idea actually
2022-04-08 12:17:14 +02:00
Michele Caini
4e13529adb
registry: ctor that reserves enough memory for count pools
2022-04-08 09:58:05 +02:00
Michele Caini
c553835228
doc: add the kindest feedback ever received to the README
2022-04-07 18:48:38 +02:00
Michele Caini
1b87193fc1
doc: add Ember Sword to the list of games :)
2022-04-07 18:47:40 +02:00
Michele Caini
25fca56319
doc: update AUTHORS file
2022-04-07 18:47:15 +02:00
Alexandr Timofeev
bf4252394c
*: protect against minmax ( #862 )
2022-04-07 14:28:30 +02:00
Michele Caini
22757e064f
*: review remove_cv/remove_ref tokens after spotting an error by chance
2022-04-06 15:57:26 +02:00
Michele Caini
fc9fa37e4e
doc: minor changes
2022-04-06 15:52:49 +02:00
Michele Caini
2d5e3402fa
type_info: allow to construct type_info objects directly
2022-04-06 11:25:44 +02:00
Michele Caini
b7dd26121a
type_info: cleanup
2022-04-06 09:55:31 +02:00
Michele Caini
23bdbeef4e
doc: updated type_info section
2022-04-06 09:50:42 +02:00
Michele Caini
9ac81c5219
natvis: updated type_info snippet
2022-04-06 09:49:48 +02:00
Michele Caini
6b9d346b8b
type_info:
...
* reserve a seq identifier for empty type_info objects
* require type_index to return non-zero values
* make type_info default constructible
* add type_info::operator bool()
2022-04-06 08:53:55 +02:00
Michele Caini
9e68eb4d2c
type_id: type_info from variable
2022-04-05 08:50:08 +02:00
Michele Caini
f1f47ee44a
entity: internal changes/cleanup
2022-04-05 08:42:36 +02:00
Michele Caini
436b2b3140
core: use fold expressions rather than std::disjunction if possible
2022-04-05 08:42:20 +02:00
Michele Caini
f6cfa8ae49
enum_as_bitmask: internal changes
2022-04-05 08:41:36 +02:00
Michele Caini
13949a8d1f
updated internal TODO list
2022-04-04 17:13:49 +02:00
Michele Caini
88db623dc1
view: avoid unnecessary parameter pack
2022-04-04 12:27:28 +02:00
Michele Caini
976413173a
any: invoke type_id with decayed types to avoid unnecessary instantiations
2022-04-04 09:46:52 +02:00
Michele Caini
91d3349585
view: slightly reduce instantiations
2022-04-04 09:46:20 +02:00
Michele Caini
6e1a774921
sigh: slightly reduce instantiations
2022-04-04 09:46:00 +02:00
Michele Caini
6b53b509fa
registry/storage: minor changes
2022-04-04 09:18:10 +02:00
Michele Caini
b8b6203ecd
doc: minor changes
2022-04-04 09:17:40 +02:00
Michele Caini
81e1500675
dense_set: slightly reduce instantiations
2022-04-04 09:17:13 +02:00
Michele Caini
d2cd18cb1e
test: minor changes (try to also please codecov)
2022-04-02 16:10:00 +02:00
Michele Caini
f5ac73f681
resource_cache: use actual template parameters on sfinae expressions
2022-04-01 14:48:52 +02:00
Michele Caini
413630813a
resource: updated doc
2022-04-01 14:41:38 +02:00
Michele Caini
73b6ef2293
resource: updated natvis file
2022-04-01 14:41:15 +02:00
Michele Caini
428bfbd810
tests: updated tests for the resource module
2022-03-31 15:43:44 +02:00
Michele Caini
c54409bdfb
resource: fully review the resource module
2022-03-31 15:43:07 +02:00
Michele Caini
b63aebfdaf
dense_set: strong exception guarantee (emplace/insert)
2022-03-30 15:34:45 +02:00
Michele Caini
335f876a46
dense_map: strong exception guarantee (emplace/insert)
2022-03-30 15:26:39 +02:00
Michele Caini
c5e99342a3
tests: minor changes
2022-03-30 15:14:26 +02:00
Michele Caini
1710eb9249
dense_map: minor changes
2022-03-29 16:56:49 +02:00
Michele Caini
d03770f91f
meta: avoid using =default to avoid tricking VS toolset v141
2022-03-29 16:26:01 +02:00
Michele Caini
9fe6f7a6ea
entity: avoid using =default to avoid tricking VS toolset v141
2022-03-29 16:25:53 +02:00
Michele Caini
2fc605fc3e
container: avoid using =default to avoid tricking VS toolset v141
2022-03-29 16:25:37 +02:00
Michele Caini
edcd5c4713
dense_set: use underlying iterators to exploit their checks
2022-03-28 16:25:09 +02:00
Michele Caini
bd3df1e06a
dense_map: use underlying iterators to exploit their checks
2022-03-28 16:24:52 +02:00
Michele Caini
b785d1c82b
meta: minor changes (coding style)
2022-03-27 23:25:50 +02:00
Michele Caini
93bf14f84f
organizer: cleanup + renaming to avoid conflicts
2022-03-27 23:24:54 +02:00
Michele Caini
5a84646282
dense_map: updated built-in doc
2022-03-25 17:34:44 +01:00
Michele Caini
2e6cfc08f0
registry: refine storage proxy iterator and guarantee iterator conversions
2022-03-25 17:20:23 +01:00
Michele Caini
4b6d3d47ec
registry: suppress a false warning from clang
2022-03-25 15:12:25 +01:00
Michele Caini
985abaa12a
dense_map/set: minor changes
2022-03-24 17:38:51 +01:00
Michele Caini
a381a7253a
resource: updated doc
2022-03-23 15:32:11 +01:00
Michele Caini
b8bb509d5c
resource:
...
* drop the resource_loader class
* made the loader a template parameter of the resource_cache
* updated the API of the resource_cache
2022-03-23 15:31:55 +01:00
Michele Caini
f48dbd0e19
resource_handle: updated doc
2022-03-23 15:29:44 +01:00
Michele Caini
31c1278374
config: removed ENTT_LAUNDER (unused)
2022-03-22 12:44:21 +01:00
Michele Caini
f6aaafd60f
config: add ENTT_NOEXCEPT_IF (for future uses)
2022-03-22 12:43:47 +01:00
Michele Caini
ae3dec19fd
registry: internal changes to avoid ambiguous calls
2022-03-22 12:43:24 +01:00
Michele Caini
990baa0929
test: typo
2022-03-21 16:14:20 +01:00
Michele Caini
7ecb65a141
doc: updated links
2022-03-21 10:41:53 +01:00
Michele Caini
a1e55103be
enum: typo
2022-03-21 10:41:45 +01:00
Michele Caini
1b4fc54405
dense_set:
...
* emplace create-and-discard mode if strictly required only
* insert uses the insert_or_do_nothing utility internally
* opaque value_to_bucket function
2022-03-21 10:41:28 +01:00
Michele Caini
e5dcea1fa0
dense_map: emplace create-and-discard mode if strictly required only
2022-03-21 10:19:47 +01:00
Michele Caini
9f25195629
dense_map: use insert_or_do_nothing from within insert
2022-03-21 10:17:55 +01:00
Michele Caini
6936fa1c1c
dense_map: opaque key_to_bucket function
2022-03-21 08:42:44 +01:00
Michele Caini
7b25eacfc8
dense_map:
...
* try_emplace should not consume arguments if the element exists
* clean up
2022-03-18 10:51:16 +01:00
Michele Caini
33989a61e3
dense_set: claen up
2022-03-18 10:49:52 +01:00
Michele Caini
08d9e8d076
dense_map/set: minor changes
2022-03-17 14:23:29 +01:00
Michele Caini
da43ef0982
dense_set: avoid potential UBs
2022-03-17 12:36:00 +01:00
Michele Caini
02f12bde81
dense_map: avoid potential UBs
2022-03-17 12:35:46 +01:00
Michele Caini
b55d5375ac
*: added missing messages to static asserts
2022-03-17 11:39:45 +01:00
Michele Caini
281f40bd56
dense_set: avoid dispatching based on iterator category if possible
2022-03-17 11:39:45 +01:00
Michele Caini
dcb7c0c27e
dense_map: constrain the allocator type
2022-03-17 11:39:45 +01:00
Michele Caini
d3c44a6fa6
dense_map: avoid dispatching based on iterator category if possible
2022-03-17 11:39:45 +01:00
Michele Caini
f432dc6bdc
dense_map:
...
* uses-allocator construction
* iterators model forward/random access iter types but are in the input iter category
* iter value_type is pair<const T &, U &>/pair<const T &, const U &> (zip iter types)
* no risky UBs due to type punning or destroy/construct within a vector
2022-03-17 11:39:45 +01:00
Michele Caini
ce21ee6001
test: minor changes
2022-03-17 11:39:36 +01:00
Michele Caini
a431f5a674
registry: allow creating pools during a destroy ( close #853 )
2022-03-16 17:18:14 +01:00
Michele Caini
f6153f17ad
storage: return a meaningful msg when the type is not movable
2022-03-16 17:17:38 +01:00
Michele Caini
c17ecbc78c
resource: add operator==/!= to resource handles
2022-03-16 17:17:35 +01:00
Michele Caini
0feb9f0c56
resource_handle: update member types
2022-03-16 17:17:33 +01:00
Michele Caini
e69cb3d950
memory: suppress warnings due to unreferenced parameters
2022-03-16 17:17:30 +01:00
Michele Caini
e7c03dd512
memory: minor changes
2022-03-16 17:17:26 +01:00
Michele Caini
0c1371ffae
test: suppress warning due to unused variables
2022-03-16 17:16:54 +01:00
Michele Caini
8a350acf39
dispatcher: allocator support
2022-03-16 17:16:50 +01:00
Michele Caini
594b3b5531
component: use ignore_as_empty_v to simplify the code here and there
2022-03-16 17:16:36 +01:00
Michele Caini
e13d06fe20
component: reintroduce utility ignore_as_empty_v (it's actually useful sometimes)
2022-03-16 17:16:32 +01:00
Michele Caini
805bb84c8f
component_traits:
...
* removed ::ignore_if_empty member
* use ::page_size 0 for empty types
2022-03-16 17:16:21 +01:00
Michele Caini
1a62338349
storage: split sigh_storage_mixin
2022-03-16 17:15:49 +01:00
Michele Caini
4795ba83ba
config: remove module-specific mismatch checks (we cannot protect everyone from themselves)
2022-03-16 17:15:41 +01:00
Michele Caini
ad5b362bca
config: use pragma detect_mismatch if possible
2022-03-16 17:15:28 +01:00
Michele Caini
8a735452de
config: detect version mismatch
2022-03-16 17:15:25 +01:00
Michele Caini
03d0f3e9ca
test: merge no-eto tests with registry tests
2022-03-16 17:15:18 +01:00
Michele Caini
ff0983cc42
storage: more about uses-allocator construction
2022-03-16 17:15:00 +01:00
Michele Caini
159a413c7d
meta: avoid creating internal namespace that messes with friend declarations
2022-03-16 17:14:37 +01:00
Michele Caini
6a753d1316
meta: remove unused data member
2022-03-16 17:14:34 +01:00
Michele Caini
c89bf30e05
meta: dereferencing a pointer-like object which converts to bool works in all cases (false implies empty meta_any)
2022-03-16 17:14:32 +01:00
Michele Caini
ba4b5ef9f2
meta: minor changes
2022-03-16 17:14:30 +01:00
Michele Caini
5b39ee221f
meta: reduce the number of instantiations due to basic_meta_sequence_container_traits
2022-03-16 17:14:28 +01:00
Michele Caini
65c4432325
meta: use adl lookup within basic_meta_sequence_container_traits
2022-03-16 17:14:26 +01:00
Michele Caini
32bbb27c9f
meta: further reduce the number of instantiations due to meta sequence containers
2022-03-16 17:14:24 +01:00
Michele Caini
ef3c030576
meta: further optimize meta sequence containers' iterators
2022-03-16 17:14:22 +01:00
Michele Caini
554a182229
meta: reduce instantiations due to meta containers (drop get_fn)
2022-03-16 17:14:20 +01:00
Michele Caini
9154d78e58
meta: make the meta associative container's iterator an internal class as all other iterators
2022-03-16 17:14:18 +01:00
Michele Caini
82d933aa3d
meta: make the meta sequence container's iterator an internal class as all other iterators
2022-03-16 17:14:16 +01:00
Michele Caini
ef0fe9b13c
meta:
...
* relax meta sequence container requirements (::clear is no longer required)
* reduce instantiations due to meta sequence containers
2022-03-16 17:14:14 +01:00
Michele Caini
f6700b7094
meta: drop meta_sequence_container::meta_iterator::base()
2022-03-16 17:14:12 +01:00
Michele Caini
21f00cf251
meta: make meta_sequence_container::meta_iterator model a bidirectional iterator (and keep staying in the input iterator category)
2022-03-16 17:14:10 +01:00
Michele Caini
900d2bf816
meta: prepare meta_sequence_container::meta_iterator to model a bidirectional iterator
2022-03-16 17:14:07 +01:00
Michele Caini
3846fa3f28
meta: begin/end adl lookup
2022-03-16 17:14:04 +01:00
Michele Caini
52f77d61ba
sigh:
...
* fixed doc
* test review/cleanup
2022-03-16 17:13:16 +01:00
Michele Caini
039341de69
poly: fixed forward file
2022-03-16 17:13:09 +01:00
Michele Caini
5adf332a5f
registry: ::sortable -> ::owned for component types ( close #847 )
2022-03-16 17:13:04 +01:00
Michele Caini
efbb32a498
sparse_set: added the ::bump function
2022-03-16 17:12:56 +01:00
Michele Caini
3156dd1321
sigh: constrain the allocator type
2022-03-16 17:12:45 +01:00
Michele Caini
2fbeeafbb8
dense_set: constrain the allocator type
2022-03-16 17:12:42 +01:00
Michele Caini
db680f3bcd
snapshot: try to get around an issue of VS, toolset v141
2022-03-16 17:12:01 +01:00
Michele Caini
4a20fa5275
snapshot: internal changes
2022-03-16 17:11:55 +01:00
Michele Caini
3fb2da7174
group: internal changes
2022-03-16 17:11:51 +01:00
Michele Caini
7f8bebbdd5
view: internal changes
2022-03-16 17:11:47 +01:00
Michele Caini
597fc0265f
natvis: dense_set
2022-03-16 17:11:31 +01:00
Michele Caini
d5d5770dac
natvis: dispatcher
2022-03-16 17:11:26 +01:00
Michele Caini
772ac64e3b
config: add ENTT_VERSION
2022-03-16 17:11:03 +01:00
Michele Caini
92d7337f04
config: macro.h (just in case)
2022-03-16 17:10:55 +01:00
Michele Caini
200425114c
test: address some feedback by iwyu
2022-03-16 17:10:40 +01:00
Michele Caini
b92a73a2a2
workflow: minor changes
2022-03-16 17:10:34 +01:00
Michele Caini
e83c77b99f
build system: updated workflow(s)
2022-03-16 17:10:23 +01:00
Michele Caini
28aa35160d
hashed_string: minor changes
2022-02-27 17:46:03 +01:00
Michele Caini
18c9bfa134
compressed_pair: minor changes
2022-02-27 17:45:56 +01:00
Michele Caini
bdb7763237
sigh: rebind allocator internally
2022-02-27 17:45:50 +01:00
Michele Caini
bc9ee46b8f
dispatcher: minor changes
2022-02-27 17:45:45 +01:00
Michele Caini
b92b734db2
doc: fixed typo
2022-02-25 16:38:13 +01:00
Michele Caini
2748a6cd3c
dense_set: remove the constraint on the allocator type
2022-02-25 15:15:09 +01:00
Michele Caini
888876185d
doc: fixed typo
2022-02-25 15:14:14 +01:00
Michele Caini
03fea6358b
view/runtime_view: make iterator_type private
2022-02-25 14:10:15 +01:00
Michele Caini
59b0dc6735
test: minor changes
2022-02-25 14:09:22 +01:00
Michele Caini
35a42b2172
dense_set: cleanup
2022-02-24 18:48:28 +01:00
Michele Caini
daa4056f45
registry/storage/sparse_set: minor changes to get around an issue of gcc7.5
2022-02-24 18:48:06 +01:00
Michele Caini
bb5abe633f
dense_set: review constructors/assignment operators
2022-02-24 11:46:42 +01:00
Michele Caini
dc238db355
compressed_pair: correctly manage references with piecewise construction
2022-02-24 11:33:12 +01:00
Michele Caini
4c692c23bb
test: refine tracked_memory_resource::do_is_equal
2022-02-24 11:33:04 +01:00
Michele Caini
b093e82db3
memory: uninitialized_construct_using_allocator (waiting for C++20)
2022-02-23 09:41:32 +01:00
Michele Caini
7a1c2108a1
dispatcher: enable fetching the number of pending events ( #848 )
...
Co-authored-by: WoLfulus <WoLfulus@users.noreply.github.com >
2022-02-23 08:42:33 +01:00
Michele Caini
4aa2b49649
updated TODO file
2022-02-23 08:41:56 +01:00
Michele Caini
cdaced4df6
memory: uses_allocator_construction_args pairs support
2022-02-23 00:19:55 +01:00
Michele Caini
cdd029853b
any:
...
* strong exception guarantee applies
* a test to avoid future regressions
2022-02-22 15:03:07 +01:00
Michele Caini
507bafdd9c
any/meta_any: revert changes to introduce ::hash
2022-02-22 12:15:09 +01:00
Michele Caini
07a36123e5
dense_map/set: get around a nasty issue of gcc 7.5 with deduced return types and friend functions
2022-02-22 12:03:41 +01:00
Michele Caini
a205e7ada9
test: it's not a good idea to use discarded values, the sanitizer may complain :)
2022-02-22 09:55:03 +01:00
Michele Caini
25e9330bb4
memory: avoid ambiguous call with C++20
2022-02-22 09:45:03 +01:00
Michele Caini
b2edfa454c
test: minor changes (to please all compilers)
2022-02-22 09:30:46 +01:00
Michele Caini
07767a09d9
doc: fixed typo
2022-02-22 08:40:25 +01:00
Michele Caini
e8d85d9269
resource: updated doc/tests
2022-02-22 08:15:09 +01:00
Michele Caini
5cf0ba079f
memory: make_obj_using_allocator utility (waiting for C++20)
2022-02-21 16:31:36 +01:00
Michele Caini
e08b1f82ce
memory: uses_allocator_construction_args (waiting for C++20)
2022-02-21 08:07:01 +01:00
Michele Caini
c2196149ee
test: minor changes
2022-02-20 23:55:04 +01:00
Michele Caini
65b5ce7880
doc: minor changes
2022-02-20 23:44:33 +01:00
Michele Caini
9c254ec3e0
doc: mark C++20 feature (to help the future me find them)
2022-02-20 09:57:24 +01:00
Michele Caini
f4418e0205
test: increase code coverage
2022-02-19 10:46:18 +01:00
Michele Caini
a314f7b42e
test: minor changes (code coverage)
2022-02-19 10:41:35 +01:00
Michele Caini
dc5a72cda5
dense set:
...
* cleaned up implementation
* uses-allocator construction support
* a few more tests
2022-02-19 09:49:47 +01:00
Michele Caini
380cb41ca9
entity: cleanup
2022-02-18 17:08:29 +01:00
Michele Caini
83f7e633a3
tests: allocate_unique with types that don't support uses-allocator construction
2022-02-18 17:08:07 +01:00
Michele Caini
ab1c920435
tests: storage with types that don't support uses-allocator construction
2022-02-18 17:07:44 +01:00
Michele Caini
7094d658f8
test: minor changes
2022-02-18 13:47:59 +01:00
Michele Caini
11617291e3
container: minor changes
2022-02-18 13:47:14 +01:00
Michele Caini
790aa03834
scheduler: allow attaching tasks from already running processes ( close #845 )
2022-02-18 11:34:42 +01:00
Michele Caini
bcd16ea5ea
entity: adjust noexcept policy
2022-02-17 12:17:07 +01:00
Michele Caini
81c044760b
core: adjust noexcept policy
2022-02-17 12:16:46 +01:00
Michele Caini
b0e0e80b69
meta: adjust noexcept policy
2022-02-17 09:33:48 +01:00
Michele Caini
280bb1d84f
dense_set: suppress shadow warning
2022-02-17 09:22:57 +01:00
Michele Caini
bb42dceaca
natvis: updated container/dense_set snippet
2022-02-17 09:22:55 +01:00
Michele Caini
d0873ed551
dense_map: adjust noexcept policy
2022-02-17 09:03:28 +01:00
Michele Caini
0fbddfc47b
dense_set: adjust noexcept policy
2022-02-17 09:03:11 +01:00
Michele Caini
3f1dee2650
dense_set: uses-allocator construction
2022-02-17 09:02:35 +01:00
Michele Caini
a4b8b93e7f
dense_set: emplace always consumes its arguments
2022-02-17 09:02:21 +01:00
Michele Caini
02d1417ef4
process/scheduler: update noexcept policy
2022-02-16 17:36:49 +01:00
Michele Caini
50812a908c
signal: update noexcept policy
2022-02-16 12:40:33 +01:00
Michele Caini
1a1ed55485
resource_handle: minor changes
2022-02-16 12:33:55 +01:00
Michele Caini
09fa322a0e
poly: update noexcept policy
2022-02-16 12:33:38 +01:00
Michele Caini
1a9a423c35
locator: adjust noexcept policy
2022-02-16 12:33:22 +01:00
Michele Caini
7b0449213c
doc: minor changes
2022-02-16 12:32:33 +01:00
Michele Caini
c0251f5c29
sparse_set/storage: support entity and component types with custom swap functions
2022-02-16 12:29:45 +01:00
Michele Caini
4509d8a60b
snapshot: swap properly internally
2022-02-16 12:29:43 +01:00
Michele Caini
b1738b0902
natvis: updated signal/delegate snippet
2022-02-16 12:28:29 +01:00
Michele Caini
45259462aa
any: remove call to ENTT_LAUNDER, no longer required due to do p1971r0
2022-02-16 12:27:52 +01:00
Michele Caini
772a7427a2
doc: another update for the EnTT in Action list
2022-02-16 12:26:29 +01:00
Michele Caini
afa58b81f6
doc: added D&D Dark Alliance to the EnTT in Action list
2022-02-16 12:26:25 +01:00
Michele Caini
6822c0f0e3
test: minor changes
2022-02-13 18:40:14 +01:00
Michele Caini
0a155ecb68
test: uses-allocator construction guaranteed for allocate_unique
2022-02-13 18:33:31 +01:00
Michele Caini
15fff94447
test: uses-allocator construction guaranteed for storage classes
2022-02-13 18:32:58 +01:00
Michele Caini
ff06df2acb
test: tracked_memory_resource utility
2022-02-13 18:32:10 +01:00
Michele Caini
df9301d591
bjuild system/tests: check for <version> (old compilers support)
2022-02-13 18:31:26 +01:00
Michele Caini
e51b1bbb25
compressed_pair: avoid noexcept specification which cannot be supported
2022-02-13 18:29:34 +01:00
Chris Ohk
aa275f4b1c
doc: fix minor typos ( #842 )
2022-02-12 15:52:43 +01:00
Michele Caini
ed11bda9fd
component: automatic traits deduction
2022-02-11 10:35:43 +01:00
Michele Caini
ed34a3f5d4
locator:
...
* service_locator -> locator
* API review + allocator support
* updated doc and tests
2022-02-10 11:31:55 +01:00
Michele Caini
a99b8b7984
build system: get prepared for the windows-latest switch on GH
2022-02-10 10:32:06 +01:00
Michele Caini
f750254cc2
allocate_unique: static assert that Type isn't an array type
2022-02-09 12:32:36 +01:00
Michele Caini
21ece182f5
any: let the wrapper decide what it means to be an owner
2022-02-09 09:42:49 +01:00
Michele Caini
6439dca43a
memory: suppress a (shadow) warning from gcc
2022-02-08 11:56:52 +01:00
Michele Caini
ca424a4577
type_traits: try to also please clang-cl
2022-02-08 11:50:53 +01:00
Michele Caini
87bc2cb1ab
any: try to also please gcc7
2022-02-08 11:20:49 +01:00
Michele Caini
58f22cc3b5
meta_any: ::hash function for hashable types (+ bonus doc review)
2022-02-08 11:04:14 +01:00
Michele Caini
fa8362f000
any: ::hash function for hashable types ( close #629 )
2022-02-08 11:02:30 +01:00
Michele Caini
1816206dfc
type_traits: is_std_hashable[_v]
2022-02-08 09:58:26 +01:00
Michele Caini
fcfa994152
doc: compressed_pair, std::tuple_size and std::tuple_element specializations
2022-02-08 09:57:10 +01:00
Michele Caini
e7262660c2
dispatcher: API review to support named queues
2022-02-07 10:52:04 +01:00
Michele Caini
a1e14d5740
doc: memory (power of two, fast modulus, allocate_unique, ...)
2022-02-05 00:18:57 +01:00
Michele Caini
60c11f3f30
dispatcher: minor changes
2022-02-05 00:18:42 +01:00
Michele Caini
3fe584d366
any: rename local variable to make it easier for me to read too :)
2022-02-05 00:18:18 +01:00
Michele Caini
28e38321ee
test: put basic test allocator in its own file
2022-02-05 00:18:03 +01:00
Michele Caini
1faeeeeabc
memory: allocation_deleter/allocate_unique
2022-02-05 00:14:31 +01:00
Michele Caini
75a0c672b1
iterable_adaptor: decouple iterator types
2022-02-04 08:54:16 +01:00
Michele Caini
db829b21aa
doc: minor changes
2022-02-04 08:53:23 +01:00
Michele Caini
24bdc29c27
input_iterator_pointer: minor changes
2022-02-03 08:12:35 +01:00
Michele Caini
692a78984f
doc: updated documentation about context variables
2022-02-03 08:09:52 +01:00
Michele Caini
77a399738c
registry: support to named context variables (see emplace_hint)
2022-02-03 08:06:52 +01:00
Michele Caini
5d7358899d
registry: cleanup the standalone context class
2022-02-03 07:52:27 +01:00
Michele Caini
aca25b9999
build: updated build workflow
2022-02-02 11:55:08 +01:00
Paolo Monteverde
182c6c534b
meta: rearrange member data of meta nodes to optimize memory usage ( #833 )
2022-02-02 08:15:51 +01:00
Michele Caini
0500f155e6
delegate: ::instance() -> ::data()
2022-02-02 08:02:03 +01:00
Michele Caini
125b826f62
meta/signal: added missing includes
2022-02-01 23:11:25 +01:00
Michele Caini
922bfbf724
test: fixed includes (while trying iwyu)
2022-02-01 23:01:04 +01:00
Michele Caini
f1e584fad9
scheduler: add missing header
2022-02-01 14:12:23 +01:00
Michele Caini
0c4dcdea71
config/core: include cstdint also when ENTT_ID_TYPE is defined
2022-02-01 14:11:41 +01:00
Michele Caini
ec4b383198
build: minor changes to workflows
2022-02-01 11:31:44 +01:00
Michele Caini
3328c7e78b
doc: fixed funding.yml
2022-02-01 11:30:23 +01:00
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
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
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
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
9d304cb35c
doc: fixed typo about in_place_delete
2021-12-23 16:31:07 +01:00
Michele Caini
ee08a4966f
doc: updated list of links, added D2R to it too
2021-12-23 14:35:34 +01:00
Michele Caini
aeca69903e
doc: updated similar projects
2021-12-22 17:53:45 +01:00
Michele Caini
e1b3f2b95a
registry: added weak ::storage for opaque cross registry operations
2021-12-22 16:21:55 +01:00
Michele Caini
25c7436652
doc: minor changes
2021-12-21 14:10:33 +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
8e0747fd50
updated single include file
2021-12-21 08:32:48 +01:00
Michele Caini
1bcc87c916
runtime_view: removed an useless check, slightly improved performance
2021-12-19 10:25:55 +01:00
Michele Caini
45797907d3
doc: updated toc in the README file
2021-12-18 17:51:02 +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
Michele Caini
c5cb1d9bcc
storage/view/group:
...
* added extended_storage_iterator and storage<T...>::each function to return an extended iterable object
* use extended_storage_iterator and iterable_adaptor everywhere to avoid code duplication
2021-12-16 12:31:44 +01:00
Michele Caini
86d12cf317
doc: brief -> copydoc
2021-12-16 12:30:29 +01:00
Michele Caini
db9e59ede1
core: added iterable_adaptor
2021-12-16 12:29:20 +01:00
Michele Caini
cc9b1b0a05
sparse_set: added const_iterator/const_reverse_iterator and cbegin/cend/crbegin/crend
2021-12-16 08:52:13 +01:00
Michele Caini
5c29de2013
updated TODO
2021-12-15 13:13:16 +01:00
Michele Caini
559db104f8
view: suppress some warnings due to initialization order
2021-12-15 10:24:08 +01:00
Michele Caini
365c57be4c
build system: allow compiling the tests with clang-cl (thanks gtest for failing otherwise)
2021-12-15 10:23:34 +01:00
Michele Caini
6f0c84fc68
dense_hash_map/dense_hash_set: remove [[nodiscard]] from friend function declaration
2021-12-15 09:33:23 +01:00
Michele Caini
75782d9e99
registry: review/cleanup
2021-12-14 23:15:57 +01:00
Michele Caini
69ddf4936e
registry: remove the visit overload that also takes an entity
2021-12-14 22:57:10 +01:00
Michele Caini
4b3108283f
dense_hash_map/dense_hash_set: avoid pointer overflow for end iterators ( close #804 )
2021-12-14 16:44:34 +01:00
Michele Caini
12d177a6c8
registry: removed ::orphans, use ::each/::orphan instead (no way to further optimize it)
2021-12-13 10:00:32 +01:00
Michele Caini
54717dc7e2
test: minor changes
2021-12-12 17:45:13 +01:00
Michele Caini
631c909abd
group: drop conceptually broken reverse iterators
2021-12-12 17:45:06 +01:00
Michele Caini
208746f28f
view: get rid of the internal::storage_tuple function, back to the uniform model
2021-12-12 17:05:37 +01:00
Michele Caini
61c5f8ae22
registry/view/group: cleanup
2021-12-12 16:51:48 +01:00
Michele Caini
4e0cca3a08
view: clean up
2021-12-12 01:18:41 +01:00
Michele Caini
b86ffc2370
view: drop conceptually broken reverse iterators
2021-12-12 01:11:20 +01:00
Michele Caini
33574c9885
doc: updated README file
2021-12-10 10:24:08 +01:00
Michele Caini
672c542f99
group: removed ::data, use ::handle<T>().data() and ::storage<T>().data() instead
2021-12-10 09:30:16 +01:00
Michele Caini
f741fe48a1
group: added ::handle to non-owning groups
2021-12-10 08:25:46 +01:00
Michele Caini
4347ebcee2
group: added base_type type member
2021-12-09 17:50:51 +01:00
Michele Caini
4e3e5a5361
doc: updated doc for the ecs module
2021-12-09 17:49:30 +01:00
Michele Caini
8e6439c3d1
group: removed ::raw, use ::storage().raw() instead
2021-12-09 17:49:18 +01:00
Michele Caini
b54d358feb
view: removed ::data for single type views, use ::storage().data() instead
2021-12-09 09:37:17 +01:00
Michele Caini
78baa7b12d
view: removed ::raw for single type views, use ::storage().raw() instead
2021-12-09 09:21:37 +01:00
Michele Caini
19f1dd22e9
view: minor changes to avoid confusion
2021-12-09 09:12:08 +01:00
Michele Caini
73f583f68a
registry: doc cleanup
2021-12-09 09:05:14 +01:00
Michele Caini
52de43e329
registry: removed ::empty<T>(), use ::view<T>().empty() or ::storage<T>().empty() instead
2021-12-09 08:20:34 +01:00
Michele Caini
49ddacaac0
registry: removed ::size<T>(), use ::view<T>().size() or ::storage<T>().size() instead
2021-12-08 15:17:35 +01:00
Michele Caini
4533b3a1c0
registry: minor chages (doc/internals)
2021-12-05 17:01:40 +01:00
Michele Caini
f30ea02794
registry:
...
* removed registry::reserve<Component> (use registry.storage<Component>.reserve(v) instead)
* removed registry::capacity<Component> (use registry.storage<Component>.capacity() instead)
* removed registry::shrink_to_fit<Component> (use registry.storage<Component>.shrink_to_fit() instead)
2021-12-05 16:20:14 +01:00
Michele Caini
7112dda299
build_system: added all headers to the EnTT target
2021-12-05 16:01:32 +01:00
Michele Caini
02636a7108
view: minor changes
2021-12-05 15:55:40 +01:00
Michele Caini
36a9456e0d
test: minor changes to make all major compilers agree at least on something :)
2021-12-04 15:32:38 +01:00
Michele Caini
113893dcea
meta: added meta_any::owner
2021-12-04 15:28:52 +01:00
Michele Caini
1abbe9c7b2
test: minor changes (code coverage)
2021-12-04 15:21:49 +01:00
Michele Caini
7205ac791c
meta: make policies check function return types
2021-12-03 18:25:11 +01:00
Michele Caini
3335b81ad4
meta:
...
* dtor support to member functions
* review to introduce strict checks on policies
2021-12-03 17:56:09 +01:00
Michele Caini
d9c9438f3c
test: minor changes
2021-12-03 14:39:50 +01:00
Michele Caini
37250843e1
sigh: allocator support
2021-12-02 11:30:54 +01:00
Michele Caini
072ab88721
build system: avoid using windows-2016 (deprecated by GH)
2021-12-01 10:33:43 +01:00
Michele Caini
c208e6b107
natvis: avoid errors due to null/tombstone definition not available in some contexts
2021-11-30 14:44:12 +01:00
Michele Caini
65f3185b39
entity: add page_size to entt_traits to make it more natvis friendly and customizable on a per-type basis
2021-11-30 13:48:12 +01:00
Michele Caini
34f73f8a2b
registry: added base_type member type
2021-11-30 11:23:15 +01:00
Michele Caini
cb4142a97d
entity: simplified to_version
2021-11-30 09:46:15 +01:00
Michele Caini
80d08d5a34
view:
...
* fixed init list order to suppress a warning
* try to please gcc that fails to compile valid code
2021-11-30 09:46:14 +01:00
Michele Caini
052aecf533
natvis: basic_view (single and multi type)
2021-11-30 09:46:14 +01:00
Michele Caini
7bde714f18
view: minor changes
2021-11-30 09:46:14 +01:00
Michele Caini
5ff429f656
view:
...
* added single type view overloads for ::storage to make it compatible with the multi-type view version
* removed the useless tuple from single type views
* updated operator|
2021-11-30 09:46:14 +01:00
Michele Caini
92f27299e1
group: added the ::storage method (with tests)
2021-11-30 09:46:14 +01:00
Michele Caini
f9013375f8
view: added the ::storage method (with tests)
2021-11-30 09:46:14 +01:00
Michele Caini
f18b0045ba
registry: get around an issue of the toolset v141
2021-11-30 09:46:14 +01:00
Michele Caini
18173cc4c0
view: minor changes
2021-11-30 09:46:12 +01:00
Michele Caini
6a1ffdd7a5
natvis: bypass some natvis idiosyncrasies to display storage information and content in all cases
2021-11-30 09:45:37 +01:00
Michele Caini
8db78b2190
nativs:
...
* don't abuse Intrinsic, it also has drawbacks
* refine natvis snippet for dispatcher class
2021-11-30 09:45:37 +01:00
Michele Caini
3fcccae241
component traits:
...
* added page_size to tune the page size on a per-type basis
* turned in_place_delete into a boolean value
* turned ignore_if_empty into a boolean value
* removed in_place_delete_v (no longer required)
2021-11-30 09:45:37 +01:00
Michele Caini
6ff8add164
entity: added missing includes
2021-11-30 09:45:37 +01:00
Michele Caini
58a8c3c82a
natvis: make the ecs stuff work with entity classes
2021-11-30 09:45:37 +01:00
Michele Caini
92c5c656c7
natvis: dispatcher
2021-11-30 09:45:37 +01:00
Michele Caini
61856cd648
natvis: poly
2021-11-30 09:45:37 +01:00
Michele Caini
687f82b5c2
natvis: basic_registry
2021-11-30 09:45:37 +01:00
Michele Caini
920c864bed
natvis: tombstone/null
2021-11-30 09:45:37 +01:00
Michele Caini
1360c985b7
natvis: when you discover the intrinsic tag... :)
2021-11-30 09:45:37 +01:00
Michele Caini
b6f953e13b
natvis: added simple views + minor changes
2021-11-30 09:45:37 +01:00
Michele Caini
796b96071b
registry: minor changes
2021-11-30 09:45:37 +01:00
Michele Caini
ec56ccc690
view: minor changes
2021-11-30 09:45:35 +01:00
Michele Caini
95931b67e1
registry: turn storage_type in a public member type
2021-11-30 09:43:48 +01:00
Michele Caini
706bbb83c9
storage: clean up
2021-11-30 09:43:48 +01:00
Michele Caini
43099f47d0
meta: try to suppress a wrong warning from clang
2021-11-30 09:43:48 +01:00
Michele Caini
eca86999c3
doc: added a section about runtime stuff
2021-11-30 09:43:48 +01:00
Michele Caini
a00b44a5fd
example: stamp is back
2021-11-30 09:43:48 +01:00
Michele Caini
5b8dcff2a4
helper: make to_entity also work for stable types ( close #768 )
2021-11-30 09:43:48 +01:00
Michele Caini
e4d36e4982
registry: decouple ::storage/::assure
2021-11-30 09:43:48 +01:00
Michele Caini
adfdbf138d
registry:
...
* public and runtime pools
* removed basic_registry<...>::prepare
2021-11-30 09:43:48 +01:00
Michele Caini
8d1ba26492
registry: try to also please vs2015 ¯\_(ツ)_/¯
2021-11-30 09:43:48 +01:00
Michele Caini
792625f763
registry: minor changes/cleanup
2021-11-30 09:43:47 +01:00
Michele Caini
5e8eae4ef8
natvis: delegate, sigh, sink, connection, scoped_connection
2021-11-30 09:43:47 +01:00
Michele Caini
148212da96
natvis: minor changes
2021-11-30 09:43:47 +01:00
Michele Caini
23ddb12529
registry: removed pdata container, pools are standalone objects and thus ready to go public
2021-11-30 09:43:47 +01:00
Michele Caini
186a5e8f7b
natvis: updated definition for sparse set and storage
2021-11-30 09:43:47 +01:00
Michele Caini
dfb5fe1e04
sparse_set/storage: opaque get from base
2021-11-30 09:43:47 +01:00
Michele Caini
640f75373e
doc: minor changes
2021-11-30 09:43:47 +01:00
Michele Caini
46e5d96ced
sparse_set/storage: value type from base, if any
2021-11-30 09:43:47 +01:00
Michele Caini
ad3fbe2052
sparse_set/storage: no virtual swap (the silliest thing I've ever done)
2021-11-30 09:43:47 +01:00
Michele Caini
cd6c60fd46
sparse_set/storage: emplace-from-below with value
2021-11-30 09:43:47 +01:00
Michele Caini
f7be386d5a
sparse_set: rename context to bind
2021-11-30 09:43:47 +01:00
Michele Caini
89b2131052
doc:
...
* const thread safe registry
* detached views
2021-11-30 09:43:47 +01:00
Michele Caini
e5d1ca2e3c
registry:
...
* const thread safe implementation
* views created from const registires can refer placeholder pools (that is, they don't refresh)
2021-11-30 09:43:47 +01:00
Michele Caini
32b8224afd
runtime_view: simplify the construction process
2021-11-30 09:43:47 +01:00
Michele Caini
00e7ab1db8
entity: fully remove the poly storage support
2021-11-30 09:43:47 +01:00
Michele Caini
e376a53b09
entity:
...
* custom move ctor/op for the registry class
* no registry argument from storage emplace, remove, ...
* added sparse set context to forward variables to mixins
* removed sparse set user data
2021-11-30 09:43:47 +01:00
Michele Caini
17a9cd5666
cache: use identity as hashing function
2021-11-30 09:43:47 +01:00
Michele Caini
fc3de662c3
registry: combine dense hash maps and identity when the key is a hashed string already
2021-11-30 09:43:47 +01:00
Michele Caini
8de568c2fc
*: combine dense hash map and identity when the key is a hashed string already
2021-11-30 09:43:47 +01:00
Michele Caini
55661883d9
registry: use a dense hash map for context variables
2021-11-30 09:43:47 +01:00
Michele Caini
b59d3ebeaa
*: dense_hash_map being a drop-in replacement for unordered_map has its advantages :)
2021-11-30 09:43:47 +01:00
Michele Caini
2866dcdd03
doc: updated documentation about making EnTT work smoothly across boundaries
2021-11-30 09:43:47 +01:00
Michele Caini
b147f9d58c
registry: make it run smoothly across boundaries ( close #719 , close #729 )
2021-11-30 09:43:47 +01:00
Michele Caini
8e2a6470ac
emitter: make it run smoothly across boundaries
2021-11-30 09:43:47 +01:00
Michele Caini
19230f7672
dispatcher: make it run smoothly across boundaries
2021-11-30 09:43:47 +01:00
Michele Caini
764dfbe46a
doc: minor changes
2021-11-30 09:43:47 +01:00
Michele Caini
0ec7631310
view: make all unoptimized single type views check for tombstones
2021-11-30 08:58:51 +01:00
Michele Caini
0b39ece990
meta: fix an issue with meta_factory<T>::prop when using tuple of properties
2021-11-18 15:44:12 +01:00
Michele Caini
97500dff57
meta: fixed an issue with meta_factory::conv when used with member functions + code coverage
2021-11-18 14:53:17 +01:00
Michele Caini
dc6299a029
doc: fixed typos
2021-11-18 09:00:52 +01:00
Michele Caini
58b1e2fb98
hashed string: warnings to clarify that it does not take ownerships of the string or copy it ( close #798 )
2021-11-16 18:05:17 +01:00
Michele Caini
0302fdaaba
build system: update gtest upstream branch name
2021-11-16 09:33:32 +01:00
Michele Caini
09b260e0af
view: use explicit types to also please clang 6.x
2021-11-15 14:43:20 +01:00
Michele Caini
24b7e998b2
registry: minor changes
2021-11-13 18:30:35 +01:00
Michele Caini
19068ea5c7
doc: updated links
2021-11-13 12:19:51 +01:00
Michele Caini
b5cd3eb468
natvis: hashed_string + minor changes
2021-11-11 14:40:20 +01:00
Michele Caini
91a2b5a5f7
natvis: expand meta_any as a meta_type_node
2021-11-11 11:16:51 +01:00
Michele Caini
0096f6d962
natvis: meta
2021-11-11 10:04:45 +01:00
Michele Caini
87cfe41b15
natvis: minor changes
2021-11-11 10:04:21 +01:00
Michele Caini
c490086097
license: just make it clear that this is about EnTT :)
2021-11-10 11:02:32 +01:00
Michele Caini
5b3fd7537e
meta: avoid a (maybe) UB in meta_any
2021-11-08 15:16:22 +01:00
Michele Caini
2cab2583c0
any: minor changes
2021-11-08 13:41:16 +01:00
Michele Caini
a40a3b594d
storage: make try_emplace forward user data to base classes
2021-11-06 23:35:25 +01:00
Michele Caini
0fa586a3d8
type_id: reduce the number of static variables due to type_id
2021-11-06 23:31:57 +01:00
Michele Caini
25977cc569
test: use deduction guides :)
2021-11-05 14:17:33 +01:00
Michele Caini
0be7064493
view:
...
* support for multiple components of the same type
* removed view.each<T>(F), use view.use<T>().each(F) instead
* removed view.each<T>(), use view.use<T>().each() instead
* added use<integral value>() to set leading pool by index
* added get<integral value...>() to get components by index
2021-11-05 11:02:15 +01:00
Michele Caini
0b13dc254a
registry: minor changes
2021-11-05 10:58:30 +01:00
Michele Caini
c1e953ab6e
registry: removed redundant compile-time check
2021-11-04 18:45:55 +01:00
Michele Caini
a069764af1
type traits:
...
* unpack_as_t -> unpack_as_type
* unpack_as_v -> unpack_as_value
2021-11-04 14:17:21 +01:00
Michele Caini
3dbe6c3902
meta: cleanup/review
2021-11-04 12:37:20 +01:00
Michele Caini
9f0b380024
container:
...
* review dense_hash_map_iterator::operator[]
* review dense_hash_set_iterator::operator[]
* code coverage
2021-11-02 09:29:10 +01:00
Michele Caini
193b102013
entity:
...
* review sparse_set_iterator::operator[]
* review storage_iterator::operator[]
* code coverage
2021-11-02 09:19:57 +01:00
Michele Caini
511fde91fa
natvis: snippet for dense_hash_set
2021-10-30 13:49:11 +02:00
Michele Caini
16e3cfc589
container: added dense_hash_set
2021-10-30 13:45:02 +02:00
Michele Caini
ed2012a36c
dense_hash_map: minor changes + test coverage
2021-10-30 13:44:00 +02:00
Michele Caini
46598fde32
dense_hash_map: less risky but still on the edge :)
2021-10-29 12:32:09 +02:00
Michele Caini
94d0c5fa5c
compressed_pair: added first_type/second_type member types
2021-10-28 12:18:59 +02:00
Michele Caini
4e72291588
meta: define meta_associative_container_traits for dense_hash_map
2021-10-28 08:22:20 +02:00
Michele Caini
74cdf000b4
doc: fixed a couple of typos
2021-10-26 15:44:05 +02:00
Michele Caini
565dc3327b
natvis: snippet for meta_any
2021-10-26 15:01:04 +02:00
Michele Caini
462af21793
entity: avoid shadow warnings
2021-10-26 14:19:55 +02:00
Michele Caini
94af659c86
natvis:
...
* minor changes to entity.natvis
* snippet for dense_hash_map
2021-10-26 11:04:19 +02:00
Michele Caini
b63c9fc67b
dense_hash_map: always guarantee that load factor is less than max load factor
2021-10-26 11:04:19 +02:00
Michele Caini
f519b55a47
natvis: compressed_pair
2021-10-26 11:04:19 +02:00
Michele Caini
2fb039b429
entity: minor changes
2021-10-26 11:04:19 +02:00
Michele Caini
4bce5aed77
natvis: snippets for type_info and basic_any
2021-10-26 11:04:19 +02:00
Michele Caini
eca6032306
entity:
...
* small changes to the entt_traits class
* natvis snippets for basic_sparse_set and basic_storage (with tombstone detection)
2021-10-26 11:04:19 +02:00
Michele Caini
dd2f515af1
build_system: avoid using INTERNAL for cmake variables since it also implies STRING
2021-10-26 11:04:19 +02:00
Michele Caini
df25482643
build_system: support for natvis files (optionally added to the target)
2021-10-26 11:04:19 +02:00
Michele Caini
df016b3bf9
natvis: prepare support for natvis info
2021-10-26 11:04:19 +02:00
Michele Caini
8699e96609
build_system:
...
* ENTT_USE_LIBCPP default is OFF
* added ENTT_INCLUDE_HEADERS to make adding headers to the EnTT target optional
* slightly better message handling
2021-10-26 11:04:19 +02:00
Michele Caini
b0dcaaf744
build_system: refine ENTT_USE_SANITIZER usage
2021-10-26 11:04:19 +02:00
Michele Caini
7db001995c
build system: make EnTT files show up in IDEs automatically ( close #776 )
2021-10-26 11:04:19 +02:00
Michele Caini
c88adf9314
meta: avoid unnecessary moves (see #794 )
2021-10-26 11:04:19 +02:00
Michele Caini
b13713ce98
meta: support transparently base members when attached to meta types for derived classes
2021-10-26 11:03:29 +02:00
Michele Caini
66b89d170f
type_traits: tuple-like type support for is_equality_comparable[_v]
2021-10-22 16:50:00 +02:00
Michele Caini
4311e2e686
type_traits: make is_iterator also support void *
2021-10-22 10:25:02 +02:00
Michele Caini
fd566eff7a
code coverage: move to codecov action v2
2021-10-21 11:00:42 +02:00
Michele Caini
efaa3f9e55
*: revert unnecessary changes ¯\_(ツ)_/¯
2021-10-20 12:18:18 +02:00
Michele Caini
b625ff0902
dense_hash_map: iterator review
2021-10-20 11:44:48 +02:00
Michele Caini
fee80321ef
meta_[sequence|associative]_container: iterator review
2021-10-20 10:08:49 +02:00
Michele Caini
4b9331f086
sparse_set: iterator review
2021-10-20 09:41:27 +02:00
Michele Caini
df9316b896
runtime_view: iterator review
2021-10-20 09:32:55 +02:00
Michele Caini
dae5f86d4e
storage: iterator review
2021-10-20 09:10:29 +02:00
Michele Caini
75a0cefcb3
meta_range: iterator review
2021-10-20 09:06:54 +02:00
Michele Caini
2271aa5b89
registry: make all_of, any_of and a few other functions remove const qualifiers
2021-10-19 08:45:58 +02:00
Michele Caini
b668e2a967
meta: removed unused reference qualifiers
2021-10-18 16:27:49 +02:00
Michele Caini
ce44c59547
meta: suppress warnings due to unreachable code
2021-10-18 11:27:22 +02:00
Michele Caini
84802d931d
clean up todo list
2021-10-12 16:56:12 +02:00
Michele Caini
8183c4383e
meta: suppress a shadow warning
2021-10-12 16:55:57 +02:00
Michele Caini
af249098cd
container: sparse set based dense hash map
2021-10-12 16:50:28 +02:00
Michele Caini
8fdd063f00
entity: include fwd.hpp from entity.hpp ( close #790 )
2021-10-12 15:14:36 +02:00
Michele Caini
fe328f6a75
identity: add is_transparent member type
2021-10-10 16:31:45 +02:00
Michele Caini
ef7163acd6
storage: non-const to const iterator conversion guaranteed
2021-10-10 10:58:58 +02:00
Michele Caini
6e45f0d5b8
meta_range: non-const to const iterator conversion guaranteed
2021-10-10 10:46:34 +02:00
Michele Caini
ff41faa3fe
memory: all of a sudden I remembered what greater than or equal to means :)
2021-10-10 00:42:25 +02:00
Michele Caini
acb2d332ea
type_traits: added is_transparent[_v] utility
2021-10-09 19:19:18 +02:00
Michele Caini
0fb86f21e4
type_traits: add tests for is_ebco_eligible_v
2021-10-09 19:03:28 +02:00
Michele Caini
e4991d367e
memory: fast_mod no longer requires a compile-time modulus (but it's still a constexpr function)
2021-10-08 20:24:07 +02:00
Michele Caini
3144cfafd5
memory: added constexpr function next_power_of_two
2021-10-07 16:53:22 +02:00
Michele Caini
c538067544
*: cleanup, minor changes
2021-10-06 11:52:32 +02:00
Michele Caini
f8e137a1dc
test: suppress warnings due to missing virtual destructor
2021-10-05 08:40:07 +02:00
Michele Caini
36ea38fd91
resource class vs struct definition
2021-10-05 08:39:54 +02:00
Michele Caini
baae5a7215
test: code coverage
2021-10-05 08:38:06 +02:00
Michele Caini
a4b267227e
meta: split meta_invoke_with_args function
2021-10-05 08:37:35 +02:00
Michele Caini
58dd159699
meta: add and typename keywords for fun (thanks to msvc that also accepts invalid code)
2021-10-05 08:14:03 +02:00
Michele Caini
80082f9d51
meta: static functions that require the parent type as first argument are treated as (eventually const) member functions
2021-10-04 18:20:16 +02:00
Michele Caini
7975ffc10b
meta: minor changes
2021-10-04 16:36:50 +02:00
Michele Caini
012083a4a1
meta: review utilities + code coverage
2021-10-04 16:21:55 +02:00
Michele Caini
3c67723e83
doc: minor changes
2021-10-04 11:52:22 +02:00
Michele Caini
7f0598b3cb
meta: cleanup headers
2021-10-04 09:01:13 +02:00
Michele Caini
c5b27e0ae0
test: minor changes (code coverage)
2021-10-03 16:58:58 +02:00
Michele Caini
4e7ad31f18
resource: dynamic resource handle cast example ( close #786 )
2021-10-03 00:26:46 +02:00
Michele Caini
c7a3e9d4ac
resource: cache const correctness review
2021-10-03 00:01:59 +02:00
Michele Caini
a05e7a84c4
resource: handle as value type, const correctness review
2021-10-02 23:52:22 +02:00
Michele Caini
389cb85410
resource: strict check on resource type for cache
2021-10-02 23:35:40 +02:00
Michele Caini
81ae2bed25
resource: added resource_handle::resource_type
2021-10-02 16:26:44 +02:00
Michele Caini
0ab71bc2e7
view: return a const reference to the leading storage
2021-10-01 16:26:11 +02:00
Michele Caini
81e6bbe643
test: minor changes (thanks msvc for accepting invalid code)
2021-10-01 11:05:21 +02:00
Michele Caini
c4723f3b24
view/group: added missing operator-> here and there
2021-10-01 10:57:32 +02:00
Michele Caini
df4d8e0411
meta: make meta_iterator::operator-> const as it ought to be
2021-10-01 10:57:16 +02:00
Michele Caini
4f1820bcad
iterator: review of input iterator pointer type
2021-10-01 10:24:05 +02:00
Michele Caini
e375097e43
doc: minor changes
2021-10-01 09:46:41 +02:00
Michele Caini
c51bec0034
meta: add meta_range::operator->
2021-09-30 17:34:16 +02:00
Michele Caini
081c3fdb5b
iterator: added [[nodiscard]] to input_iterator_proxy::operator->
2021-09-30 16:57:20 +02:00
Michele Caini
f1e7602775
meta: added operator-> to meta containers' iterators
2021-09-30 16:56:58 +02:00
Michele Caini
acd75ffe1c
iterator: added utility input_iterator_proxy
2021-09-30 16:34:09 +02:00
Michele Caini
fc813cb59b
doc: minor changes
2021-09-30 14:41:33 +02:00
Michele Caini
044d14f542
*: minor changes
2021-09-29 16:12:39 +02:00
Michele Caini
28b9f07b99
*: code coverage, cleanup
2021-09-29 11:27:13 +02:00
Michele Caini
6f20dd4e45
test: suppress a wrong warning with toolset v141
2021-09-29 11:09:37 +02:00
Michele Caini
2fc05e5b90
meta: add missing template keywords (thanks MSVC for accepting invalid code)
2021-09-29 11:03:08 +02:00
Michele Caini
9afde31f97
meta: make meta_any::assign work with mutating this pointers
2021-09-29 10:57:31 +02:00
Michele Caini
e835ce0697
meta: make meta_any::allow_cast work with mutating this pointers
2021-09-29 09:49:22 +02:00
Michele Caini
6030f56c76
meta: make meta_any::try_cast work with mutating this pointers
2021-09-28 18:50:03 +02:00
Michele Caini
ba89b53c63
doc: cleanup
2021-09-28 15:11:29 +02:00
Michele Caini
1bfb877a3b
entity: adds to_entity and to_version to the entt namespace (see #788 )
2021-09-28 14:52:52 +02:00
Michele Caini
72776d6fb6
entity: make return type of to_integral explicit
2021-09-28 14:31:09 +02:00
Michele Caini
7bb93420c4
storage: avoid reinventing the wheel :)
2021-09-27 08:55:50 +02:00
Michele Caini
bb1b0e0581
sparse_set: minor changes
2021-09-26 23:28:32 +02:00
Michele Caini
45ddcf0df9
sparse_set: compare allocators before moving in the move operator assignment
2021-09-26 11:08:55 +02:00
Michele Caini
9c4d7a286f
memory: avoid warnings due to unused parameters
2021-09-26 11:06:36 +02:00
Michele Caini
7b290b43b5
sparse_set: try not to reinvent the wheel :)
2021-09-26 10:59:00 +02:00
Michele Caini
2e2782b030
sparse_set: partial sorting not supported in case of tombstones
2021-09-25 18:29:45 +02:00
Michele Caini
48f23bd1ba
doc: cleanup
2021-09-24 16:22:42 +02:00
Michele Caini
3ece33b26a
any: avoid using addressof on the result of an operator assignment without a good reason :)
2021-09-24 13:29:16 +02:00
Michele Caini
efa98379b0
meta: internal changes and cleanup
2021-09-24 12:49:43 +02:00
Michele Caini
324aeba70f
meta: suppress a warning due to -Wignored-qualifiers ( close #785 )
2021-09-24 11:50:51 +02:00
Michele Caini
7b6715c7b5
test: code coverage for the storage class for empty types
2021-09-24 11:18:11 +02:00
Michele Caini
1ea392b6c9
test: minor changes to suppress a bunch of warnings + formatting
2021-09-24 10:19:13 +02:00
Michele Caini
8b1a3849e6
meta_any: support assigning the value wrapped by a meta_any
2021-09-24 10:08:59 +02:00
Michele Caini
e1d7e98c92
any: minor changes
2021-09-23 10:36:30 +02:00
Michele Caini
04b2e1152c
any:
...
* when moving fails, try to copy anyway as a fallback
* code coverage
2021-09-22 17:13:02 +02:00
Michele Caini
d392eba4a0
test: code coverage
2021-09-22 16:49:42 +02:00
Michele Caini
799dec4f1c
sparse_set: suppress a warning due to -Wreorder
2021-09-22 16:41:40 +02:00
Michele Caini
11df6ec927
type_id: cannot have a static variable in a constexpr function (right msvc?)
2021-09-22 16:38:41 +02:00
Michele Caini
03e363f5d9
any: added the ::assign function to copy/move assign the wrapped variable
2021-09-22 16:27:56 +02:00
Michele Caini
39211889b0
any ( close #782 ):
...
* make const type_info * a first citizen
* further reduce vtable size
2021-09-22 12:48:25 +02:00
Michele Caini
db44549276
type_info/type_id:
...
* type_info is no longer default constructible
* users cannot construct type_info objects anymore
* make type_id refer to an object with static storage duration
2021-09-22 12:41:09 +02:00
Michele Caini
49e702c0c7
hashed_string: minor changes
2021-09-22 08:34:31 +02:00
Michele Caini
c9c5214b3e
type_info: operator<, operator<=, operator> and operator>=
2021-09-22 08:34:18 +02:00
Michele Caini
24a537d154
meta: review conversion_helper for meta type nodes
2021-09-21 17:11:28 +02:00
Michele Caini
c32ecf171b
sparse_set: added user_data field
2021-09-21 15:54:26 +02:00
Michele Caini
a62ae21628
any: const reference instead of pointer as default argument to ::data
2021-09-21 09:03:39 +02:00
Michele Caini
12f05e8f72
doc: fixed typo ( close #784 )
2021-09-20 08:07:05 +02:00
Michele Caini
81fb727d20
registry: improved ctx and the like ( close #782 )
2021-09-19 15:14:43 +02:00
Michele Caini
e7655c761d
test: code coverage
2021-09-18 23:22:00 +02:00
Michele Caini
464fcf4300
test: fix a test that I've broken a couple of commits ago :)
2021-09-18 00:06:50 +02:00
Michele Caini
73b67ea9df
*: review enums
2021-09-18 00:02:35 +02:00
Michele Caini
04a9c80c14
*: removed pointless continue;
2021-09-17 23:44:15 +02:00
Michele Caini
80b5ed3d22
introduced clang-format ( close #733 )
2021-09-17 23:42:43 +02:00
Michele Caini
be5ad379b6
*: another handful of changes to please clang-format
2021-09-17 17:21:26 +02:00
Michele Caini
13d901fbfa
*: a handful of changes to please clang-format
2021-09-17 16:43:15 +02:00
Michele Caini
f7e7273e91
*: minor changes
2021-09-16 23:09:22 +02:00
Michele Caini
4b3bd265a6
meta: minor changes
2021-09-15 12:43:31 +02:00
Michele Caini
42dcec961b
meta: support for multi-setters on meta data members
2021-09-15 09:32:12 +02:00
Michele Caini
6b2a3b2916
meta: prepare for multi-setters on meta data members
2021-09-14 14:57:17 +02:00
Michele Caini
930f9ca436
any: minor changes
2021-09-14 08:52:44 +02:00
Michele Caini
a96a767b9b
test: code coverage
2021-09-13 19:32:23 +02:00
Michele Caini
36627dbe78
meta:
...
* removed meta_ctor, no alternatives provided
* removed meta_type::ctor overloads, no alternatives provided
2021-09-13 19:03:22 +02:00
Michele Caini
f86bc31cbb
meta: shared lookup function to avoid unnecessary casts when searching for a meta constructor
2021-09-13 16:37:58 +02:00
Michele Caini
4a08ca4b5e
meta: minor changes
2021-09-13 14:58:08 +02:00
Michele Caini
e857aa0640
meta: extrapolate can_cast_or_convert
2021-09-13 12:57:06 +02:00
Michele Caini
d3c98ad334
meta_factory: cleanup
2021-09-13 12:56:39 +02:00
Michele Caini
00dadfe14d
meta: reduce the size of instantiated symbols in meta_factory
2021-09-13 12:55:07 +02:00
Michele Caini
f26fa92d47
handle: extended operator==/!=
2021-09-12 18:39:20 +02:00
Michele Caini
7458072df2
hashed_string ( close #781 ):
...
* operator< and operator<=
* operator> and operator>=
2021-09-12 18:26:08 +02:00
Michele Caini
89aa2a1902
*: operator== is not defined as member if unnecessary
2021-09-12 17:52:29 +02:00
Michele Caini
7ab08779dc
type_info: temporarily reintroduce type_info::index for performance reasons
2021-09-10 11:29:05 +02:00
Michele Caini
46b686910b
any:
...
* reintroduced operation::TYPE to avoid fat any types
* added optional req parameter to data
* much faster any_cast
* much faster operator==
* internal review
2021-09-10 11:22:07 +02:00
Michele Caini
940a799207
* : minor changes
2021-09-10 00:04:23 +02:00
Michele Caini
778cee3b27
any:
...
* operator bool doesn't rely on the vtable
* valid but unspecified state after move converts to true
* compare type info objects to avoid future errors if the logic changes
2021-09-09 17:03:36 +02:00
Michele Caini
fb3252732b
type_info: name rollback, hash_code -> hash (why should I introduce a breaking change to match a terrible name from the standard library after all?)
2021-09-09 14:49:39 +02:00
Michele Caini
608f7b75e2
any: avoid creating constexpr variables since constexpr-ness isn't guaranteed
2021-09-09 14:14:58 +02:00
Michele Caini
83853c3dee
any:
...
* ::type() returns the object type if any, type_id<void>() otherwise
* avoid indirection when accessing the type
2021-09-09 14:00:08 +02:00
Michele Caini
8a0343ad6b
any: avoid creating type_info objects if unnecessary
2021-09-09 11:44:36 +02:00
Michele Caini
92d43ce620
core: rename type_seq to type_index
2021-09-09 09:53:29 +02:00
Michele Caini
6943822fed
type_info:
...
* make the API closer to that of std::type_info
* remove the ::seq member function
* rename :.hash to ::hash_code
2021-09-09 09:44:58 +02:00
Michele Caini
aa146c4125
type_info: avoid testing constexpr-ness because older compilers don't guarantee it
2021-09-09 09:04:04 +02:00
Michele Caini
b8ec6babb5
any:
...
* reduced vtable size
* internal rework
2021-09-09 00:40:06 +02:00
Michele Caini
505f4a2b4f
type_info:
...
* constexpr support
* reduce instantiations
* reduce function calls/indirection
2021-09-09 00:20:20 +02:00
Michele Caini
1bb0d017c3
type_info: removed useless friend declaration
2021-09-08 23:43:28 +02:00
Michele Caini
f33ce615d9
meta: suppress warnings due to ignored qualifiers on return types
2021-09-08 11:35:50 +02:00
Michele Caini
0edb49d7c6
core: minor changes
2021-09-08 09:13:54 +02:00
Michele Caini
1fa5a03605
test: code coverage
2021-09-07 17:13:53 +02:00
Michele Caini
fc6bda5cd8
meta: turned an useless function into a constexpr value
2021-09-07 08:54:34 +02:00
Michele Caini
59589b6a71
meta: refine the conversion helper (mostly to please the toolset v141)
2021-09-06 14:51:35 +02:00
Michele Caini
57b0624a0a
storage: suppress warnings for unused variables
2021-09-06 12:29:52 +02:00
Michele Caini
2f22395eea
meta:
...
* a more robust meta_any::allow_cast (reviewed all overloads)
* removed internal meta_info dispatcher to reduce useless instantiations
* reviewed meta_conversion_helper
2021-09-06 10:19:23 +02:00
Michele Caini
21bc8d4dfb
meta: add meta_conv support to references
2021-09-04 11:43:47 +02:00
Michele Caini
2e74fd8196
meta: const correctness
2021-09-04 11:42:03 +02:00
Michele Caini
fee48ab04c
meta: also please toolset v141 :)
2021-09-03 18:55:51 +02:00
Michele Caini
591f885e67
meta: automatic conversion function to underlying type for enums (see #735 )
2021-09-03 18:23:49 +02:00
Michele Caini
ef803016c0
meta: suppress a shadow warning
2021-09-03 17:31:15 +02:00
Michele Caini
bac51045e5
meta: automatic arithmetic conversions (see #735 )
2021-09-03 14:37:52 +02:00
Michele Caini
cb5e9393a4
meta: internal changes
2021-09-03 11:42:20 +02:00
Michele Caini
097509dd2a
view: add operator[] to access (eventually unwrapped) components by entity ( close #775 )
2021-09-02 16:05:46 +02:00
Michele Caini
6cd44248c7
core: added tuple header and unwrap_tuple utility
2021-09-02 15:32:52 +02:00
Michele Caini
1fd61fbcef
meta: added missing [[maybe_unused]] to suppress warnings
2021-09-01 10:06:28 +02:00
Michele Caini
cd2245ef03
doc: fixed typo
2021-09-01 10:03:16 +02:00
Michele Caini
5ddc746915
memory: turn is_power_of_two in a constexpr function
2021-08-31 17:39:47 +02:00
Michele Caini
f7d67067ad
test: increase code coverage
2021-08-30 17:06:31 +02:00
Michele Caini
d1a824f76e
sparse_set/storage: cleanup
2021-08-30 16:53:20 +02:00
Michele Caini
d7b0fc09d7
storage: refine ::release_memory
2021-08-30 16:36:45 +02:00
Michele Caini
2d07a6ec1f
storage:
...
* decouple iterator from allocator
* test iterator aliases to avoid future regressions
* internal changes/rework
2021-08-30 16:18:28 +02:00
Michele Caini
014ba5a7aa
sparse_set:
...
* test iterator aliases to avoid future regressions
* internal changes/rework
2021-08-30 16:09:59 +02:00
Michele Caini
2f12e524dd
config/sparse_set/storage: avoid power-of-two check at config level
2021-08-29 23:27:04 +02:00
Michele Caini
ea6af75e8e
memory: added utility function fast_mod
2021-08-29 23:04:40 +02:00
Michele Caini
a595c6ec6f
memory:
...
* added utility class is_power_of_two
* added variable template is_power_of_two_v
2021-08-29 22:15:33 +02:00
Michele Caini
98f785d199
memory: make to_address [[nodiscard]]
2021-08-29 22:00:05 +02:00
Michele Caini
a0ed0c864f
entt_traits: removed the (mostly useless) difference_type alias
2021-08-29 19:25:23 +02:00
Michele Caini
d4ac42749e
storage: minor changes
2021-08-29 19:10:18 +02:00
Michele Caini
86414671d6
sparse_set: minor changes
2021-08-29 19:09:21 +02:00
Michele Caini
6cb935982d
storage: removed a couple of old (and wrong) static asserts
2021-08-29 18:43:35 +02:00
Michele Caini
39ad040d8a
sparse_set: decouple iterator from allocator
2021-08-29 18:41:59 +02:00
Michele Caini
4cc3824653
test: basic_registry<...>::get_or_emplace must work for empty types
2021-08-28 09:52:46 +02:00
Michele Caini
6d3e0600a1
storage:
...
* increase code coverage
* remove a pretty much useless if constexpr
2021-08-28 09:52:19 +02:00
Michele Caini
b52c9c1676
test: use storage (and sigh storage mixin) from base type
2021-08-27 16:47:08 +02:00
Michele Caini
f7506251fe
build system: increase ctest timeout because ASSERT_DEATH is... expensive, at least :)
2021-08-27 11:03:35 +02:00
Michele Caini
5b06f298f1
sparse_set/storage: make storage safe to use from the base (to be tested)
2021-08-26 17:52:16 +02:00
Michele Caini
dc5488a198
storage: generalized ::insert for all mixins
2021-08-26 17:14:51 +02:00
Michele Caini
23d162e9e4
sparse_set: ::emplace no longer returns the position
2021-08-26 16:13:26 +02:00
Michele Caini
de6b660b12
sparse_set/storage:
...
* removed basic_sparse_set<...>::emplace_back
* general cleanup
2021-08-26 15:22:29 +02:00
Michele Caini
60c175a51d
storage: ::insert always fills holes before appending
2021-08-26 15:09:30 +02:00
Michele Caini
c0a39c8064
sparse_set: insert always fills holes before appending
2021-08-26 14:56:15 +02:00
Michele Caini
61f4f93cc6
sparse_set: internals review
2021-08-26 14:55:47 +02:00
Michele Caini
764404a472
doc: minor changes, updated todo list
2021-08-26 12:19:43 +02:00
Michele Caini
04da85c88a
storage: avoid invoking ::page more than once in a row
2021-08-26 12:11:54 +02:00
Michele Caini
9551b7a597
storage: added empty ::get method to storage for empty types
2021-08-25 17:05:58 +02:00
Michele Caini
f1d537d035
compressed_pair:
...
* disable structured binding support for clang 6
* avoid using structured binding with compressed pair in the codebase
2021-08-24 13:11:21 +02:00
Michele Caini
b43e723c84
meta: reintroduce meta_type::is_array support
2021-08-24 10:13:56 +02:00
Michele Caini
5466039c1a
meta: generic begin/end for meta containers
2021-08-24 09:48:59 +02:00
Michele Caini
74e11117be
storage: minor changes
2021-08-24 09:00:55 +02:00
Michele Caini
e0abab2dc4
storage:
...
* fixed typo in the doc
* get around msvc that also accepts invalid code (again) O.o
2021-08-23 18:18:58 +02:00
Michele Caini
08ff3ff55c
sparse_set: erase assertion
2021-08-23 18:15:23 +02:00
Michele Caini
0b79d99cac
storage: non-copyable allocator aware container
2021-08-23 18:13:24 +02:00
Michele Caini
38f655e7b8
*: get around the fact that msvc also accepts invalid code O.o
2021-08-21 17:28:30 +02:00
Michele Caini
6f546ffe95
sparse_set: entity ::swap -> ::swap_elements
2021-08-21 17:25:38 +02:00
Michele Caini
ef8211a46e
sparse_set: non-copyable allocator-aware container
2021-08-21 17:18:04 +02:00
Michele Caini
52ea5e4074
memory: added pocca/pocma/pocs utility functions
2021-08-21 17:03:07 +02:00
Michele Caini
99621cf08a
memory: unfancy -> to_address (waiting for C++20)
2021-08-20 15:28:46 +02:00
Michele Caini
a9ae9ce758
test: code coverage
2021-08-20 00:32:02 +02:00
Michele Caini
fc5a529df8
core:
...
* added memory.hpp
* added public unfancy function
2021-08-20 00:26:25 +02:00
Michele Caini
bc1081550d
storage: minor changes
2021-08-20 00:10:09 +02:00
Michele Caini
e311ab1605
test: try to also please g++-7
2021-08-19 23:32:51 +02:00
Michele Caini
994ade0638
meta_factory: suppress shadow warning
2021-08-19 23:02:28 +02:00
Michele Caini
cf9522bd3b
sparse_set: ::clear honors the modality of the set
2021-08-19 17:36:16 +02:00
Michele Caini
7fd1858db0
storage: minor changes
2021-08-19 16:34:03 +02:00
Michele Caini
c41509151b
sparse_set:
...
* (almost) allocator-aware container
* unequal containers not supported
* copying a sparse set isn't supported
2021-08-19 15:50:29 +02:00
Michele Caini
4e12853d4a
runtime_view: correctly set the no_tombstone_check member
2021-08-17 11:58:49 +02:00
Michele Caini
e1fadbc9b9
registry: removed ::version/::entity (use entt_traits instead)
2021-08-16 23:30:14 +02:00
Michele Caini
3c4d13d8b9
sparse_set/view:
...
* added basic_sparse_set<E>::current to return known version of identifiers in set
* sparse arrays also contain updated entity versions, no more unused bits
* basic_sparse_set<E>::contains performs a strict version check
* sparse sets manage correctly foreign entities in all cases now
* no tombstone checks for multi-type views, zero-cost pointer stability model
2021-08-16 17:07:52 +02:00
Michele Caini
732159db07
registry:
...
* ::current no longer asserts, it returns now tombstone versions for invalid entities
* minor changes to doc and tests
2021-08-16 16:56:11 +02:00
Michele Caini
00894eaccf
entity/*: minor changes to doc and tests
2021-08-16 16:52:56 +02:00
Michele Caini
17818178cf
entity:
...
* removed null_t::operator| (use entt_traits<T>::combine instead)
* removed tombstone_t::operator| (use entt_traits<T>::combine instead)
2021-08-14 23:00:02 +02:00
Michele Caini
89c0abfada
entity:
...
* reviewed entt_traits<T>::combine
* added entt_traits::reserved
* use entt_traits<T>::combine where it makes sense to slightly improve perf
2021-08-14 22:26:41 +02:00
Michele Caini
8bbdd92739
entity: added entt_traits<T>::combine
2021-08-14 22:24:43 +02:00
Michele Caini
f724ceb052
entity: cleanup
2021-08-14 16:14:11 +02:00
Michele Caini
b7ac85005f
updated TODO
2021-08-13 23:58:57 +02:00
Michele Caini
8ec899a8e7
sigh: make scoped_connection move constructible/assignable ( close #760 )
2021-08-13 15:35:05 +02:00
Michele Caini
1013c6a50e
meta: removed annotation support for meta properties
2021-08-12 19:54:12 +02:00
Michele Caini
2cd5d3bab3
meta: cleanup, minor changes
2021-08-12 19:01:38 +02:00
Michele Caini
d9494960a2
meta:
...
* removed the possibility of invoking meta_factory::prop multiple times
* further reduced instantiations due to meta properties
2021-08-11 17:11:09 +02:00
Michele Caini
c0eb6590da
snapshot: include destroyed list head in the entity count ( close #757 )
2021-08-11 15:23:46 +02:00
Michele Caini
a9cefcb823
meta: avoid risk of name clashing on meta types and meta data members
2021-08-10 16:07:17 +02:00
Michele Caini
d1ff491010
meta:
...
* removed meta_type::is_member_object_pointer (no alternative provided)
* removed meta_type::is_member_function_pointer (no alternative provided)
2021-08-10 15:39:26 +02:00
Michele Caini
2aa34f05d3
meta: removed meta_type::is_array (no alternative provided)
2021-08-09 12:47:24 +02:00
Michele Caini
135d6915ee
meta, review implicitly generated meta default constructors:
...
* reduce instantiations and remove their static objects
* these ctors are no longer returned from a direct lookup nor during iterations
2021-08-09 10:07:43 +02:00
Michele Caini
6282195b80
meta:
...
* removed meta_type::is_integral (no alternative provided)
* removed meta_type::is_floating_point (no alternative provided)
* added meta_type::is_arithmetic, prepare for auto-generated implicit conversions
2021-08-07 20:43:02 +02:00
Michele Caini
adec4f08c6
meta: removed meta_type::is_union (no alternative provided)
2021-08-06 12:07:09 +02:00
Michele Caini
b24fe2f122
test: increase code coverage
2021-08-06 12:06:42 +02:00
Michele Caini
7b35bcb68a
meta: use enum-as-bitmask support to get rid of old fashioned enum for meta traits
2021-08-05 10:44:13 +02:00
Michele Caini
4b629045c3
core: added enum-as-bitmask support for enum classes (thanks to @TerensTare for the suggestion)
2021-08-05 10:42:42 +02:00
Michele Caini
c6ba1d05d1
view: avoid polluting global namespace with naked operator|
2021-08-04 16:46:53 +02:00
Michele Caini
3adac90573
meta: removed meta_type::is_function_pointer (no alternative provided)
2021-08-04 16:06:58 +02:00
Michele Caini
0332188b6b
meta, get rid of useless info from meta_type to further reduce instantiations:
...
* removed meta_type::rank (no alternative provided)
* removed meta_type::extent (no alternative provided)
* removed meta_type::rmove_extent (no alternative provided)
* removed meta_type::remove_pointer ((*any).type())
2021-08-03 16:29:19 +02:00
Michele Caini
790a1e2812
view: minor changes to get around an issue of clang
2021-08-02 18:28:48 +02:00
Michele Caini
3bd1e13321
view: removed the foobar alias which was not meant to stay there
2021-08-02 18:24:49 +02:00
Michele Caini
0cd642ca11
view: ::use<T> doesn't modify the view in-place anymore, instead it returns a new view
2021-08-02 18:22:58 +02:00
Michele Caini
d5995998b0
view:
...
* each<T> doesn't invoke use<T> anymore under the hood
* removed ::traverse function
* minor changes
2021-08-02 18:09:38 +02:00
Michele Caini
62babb9c22
updated TODO
2021-08-01 12:02:43 +02:00
Michele Caini
b98c69521b
build_system: add support for c++20 ( close #751 )
2021-08-01 11:41:31 +02:00
Michele Caini
6cd37b3809
view: get around an issue of msvc when using C++20
2021-08-01 11:21:05 +02:00
Michele Caini
238170d0e2
meta: some changes to make tests compile with C++20 (MSVC)
2021-08-01 11:02:05 +02:00
Michele Caini
6fb5b25530
any: don't compare arrays directly (operator== even deprecated in C++20)
2021-08-01 10:51:48 +02:00
Michele Caini
d63f9e1eff
build_system: make ENTT_CXX_STD a cached string variable (not used yet, see #751 )
2021-08-01 10:47:14 +02:00
Michele Caini
461865bf3b
build_system: make ENTT_ID_TYPE a cached string variable
2021-08-01 10:41:28 +02:00
Michele Caini
e95d9b9cf6
doc: updated links.md
2021-08-01 10:18:21 +02:00
Michele Caini
c52b2a4fa9
entity/*:
...
* add owned_t utility
* change view def to basic_view<T, get_t<C...>, exclude_t<E...>>
* change group def to basic_group<T, owned_t<O...>, get_t<G...>, exclude_t<E...>>
* remove view dispatcher (reduce instantiations)
* make basic_view::traverse use the local policy
2021-08-01 10:03:45 +02:00
Michele Caini
d0ec5d2da0
dispatcher: mionr changes
2021-08-01 09:58:32 +02:00
Michele Caini
6134058abc
type_traits: minor changes (coding style)
2021-08-01 09:58:19 +02:00
Michele Caini
bd4121c260
*: cleanup
2021-07-30 14:27:53 +02:00
Michele Caini
fbab047d7f
doc: fixed typo ( close #749 )
2021-07-30 12:13:13 +02:00
Michele Caini
e216144d07
poly: optimize single function vtables ( close #689 )
2021-07-29 23:54:10 +02:00
Michele Caini
94d5b11191
any: rvalue any_cast no longer forces by-copy constructor ( close #730 )
2021-07-29 14:30:16 +02:00
Michele Caini
d3c89da2eb
doc: mention vcpkg experimental feature in the readme file ( close #743 )
2021-07-28 14:52:56 +02:00
Michele Caini
754a8a637e
doc: updated list of showcases ( close #744 )
2021-07-28 14:44:42 +02:00
Michele Caini
ab24a50de7
doc: fixed typo
2021-07-27 18:56:16 +02:00
Michele Caini
8099dde34b
view: relax policy constraint if possible
2021-07-27 18:56:14 +02:00
Michele Caini
99198fb07f
doc: added a note about the no-policy trick
2021-07-27 18:56:08 +02:00
Michele Caini
18d02a0c95
*: suppress a couple of warnings (shadow/unused)
2021-07-27 18:56:06 +02:00
Michele Caini
e6cac7d5fb
group/view: remove references to basic_sparse_set
2021-07-27 18:56:03 +02:00
Michele Caini
d8d6f00fee
storage: minor changes + some tests for get/get_as_tuple
2021-07-27 18:56:01 +02:00
Michele Caini
ef5c1a1099
snapshot: minor changes
2021-07-27 18:55:55 +02:00
Michele Caini
2d92d8ee67
storage:
...
* Removed free function get_as_tuple
* Added get_as_tuple function at storage level
2021-07-27 18:55:52 +02:00
Michele Caini
ae60266477
updated todo list
2021-07-27 18:55:49 +02:00
Michele Caini
88da5261fc
component/storage:
...
* removed ignore_if_empty_v, added ignore_as_empty_v
* removed fake getter requirement for empty storage types
2021-07-27 18:55:46 +02:00
Michele Caini
15efe9f702
sparse_set: make capacity virtual
2021-07-27 18:55:42 +02:00
Michele Caini
badbc5c66e
storage: internal review
2021-07-27 18:55:35 +02:00
Michele Caini
d6eea41e13
sparse_set: make reserve virtual
2021-07-27 18:55:31 +02:00
Michele Caini
6a2c54adf5
sparse_set: make shrink_to_fit virtual
2021-07-27 18:55:27 +02:00
Michele Caini
75d4bc7c18
doc: minor changes
2021-07-27 18:55:24 +02:00
Michele Caini
834f7feb27
storage: removed ::sort_n, capture pool and use ::get if needed
2021-07-27 18:55:21 +02:00
Michele Caini
5d2af3f9e1
storage: removed ::sort, capture pool and use ::get if needed
2021-07-27 18:55:19 +02:00
Michele Caini
60e8e4a82a
doc: updated list of links ( close #723 )
2021-07-27 18:54:29 +02:00
Michele Caini
92e23476ab
doc: updated list of similar projects ( close #731 )
2021-07-27 18:54:29 +02:00
Michele Caini
4560fef058
doc: updated list of showcases ( close #732 )
2021-07-27 18:54:29 +02:00
Michele Caini
c5d6574617
entity: updated fwd decls
2021-07-27 18:54:29 +02:00
Michele Caini
de61a0ca45
view:
...
* suppress warning for shadow parameter
* adjust deduced type to avoid compile-time errors
2021-07-27 18:54:29 +02:00
Michele Caini
98470caae1
view: suppress warning
2021-07-27 18:54:29 +02:00
Michele Caini
53486c067b
view: minor changes
2021-07-27 18:54:29 +02:00
Michele Caini
5b805852fa
view: internal iterable_storage class
2021-07-27 18:54:28 +02:00
Michele Caini
94d02eeb4e
view: minor changes
2021-07-27 18:54:28 +02:00
Michele Caini
dbfec1b247
view: get rid of filter_to_array, filter is always stored as an array
2021-07-27 18:54:28 +02:00
Michele Caini
a9a1a71145
updated TODO list
2021-07-27 18:54:28 +02:00
Michele Caini
91537bf5f3
sparse_set/storage: try to please the code coverage tool
2021-07-27 18:54:28 +02:00
Michele Caini
1baad08288
storage/sparse_set: ctor review
2021-07-27 18:54:28 +02:00
Michele Caini
1c5b846488
storage: get rid of basic_storage_impl wrapper
2021-07-27 18:54:28 +02:00
Michele Caini
6867760cc4
doc: fixed typo
2021-07-27 18:54:28 +02:00
Michele Caini
516a9209b7
sparse_set/storage: no zero sized allocations on construction
2021-07-27 18:54:28 +02:00
Michele Caini
e352c953dc
test: minor changes
2021-07-27 18:54:28 +02:00
Michele Caini
f455846d18
sparse_set/storage: avoid using temporary allocators
2021-07-27 18:54:28 +02:00
Michele Caini
6d45ac942d
storage: store aside a compressed allocator to avoid frequent conversions
2021-07-27 18:54:28 +02:00
Michele Caini
48939abafa
sparse_set/storage: suppress shadow warnings
2021-07-27 18:54:28 +02:00
Michele Caini
fbc9595f12
sparse_set: used compressed pair to hide the cost of storing allocators
2021-07-27 18:54:28 +02:00
Michele Caini
ed2c714419
compressed_pair: added support for structured binding (with tests)
2021-07-27 18:54:28 +02:00
Michele Caini
ef7731fb8b
storage: use underlying allocator
2021-07-27 18:54:28 +02:00
Michele Caini
b5ec03f585
sparse_set:
...
* added get_allocator
* internal review
2021-07-27 18:54:28 +02:00
Michele Caini
a8b224a364
*: minor explicit names for traits types
2021-07-27 18:54:25 +02:00
Michele Caini
3f3943a233
storage: internal review
2021-07-27 18:53:49 +02:00
Michele Caini
4171b4ae47
resource_handle: add ::use_count ( close #727 )
2021-07-27 18:53:49 +02:00
Michele Caini
baa4c44632
compressed_pair: minor changes
2021-07-27 18:53:49 +02:00
Hussein Taher
ffed8f37de
snapshot: fix warning for discarding a nodiscard ( #728 )
2021-07-27 18:53:49 +02:00
Michele Caini
8978a0d159
core:
...
* added trait is_ebco_eligible[_v]
* added class compressed_pair
* tests and doc for compressed_pair
2021-07-27 18:53:49 +02:00
Michele Caini
4d09be0cd3
view: minor changes
2021-07-27 18:53:49 +02:00
Michele Caini
987be01bd6
component: added in_place_delete_v and ignore_if_empty_v
2021-07-27 18:53:49 +02:00
Michele Caini
7f59fc6321
test: minor changes
2021-07-27 18:53:49 +02:00
Michele Caini
feeb122c0d
updated todo list
2021-07-27 18:53:49 +02:00
Michele Caini
0754f108c9
sparse_set: fix an issue with assuring pages properly on emplace ( close #746 )
2021-07-27 18:53:09 +02:00
Michele Caini
ea82f86749
meta: fix precedence issue
2021-07-27 11:39:37 +02:00
Michele Caini
7bd217386a
meta: shared simplified visit function
2021-07-27 10:08:20 +02:00
Michele Caini
1f1e02fee1
build system: test id type std::uint64_t on the CI, all platforms
2021-07-26 23:48:26 +02:00
Michele Caini
6d1e4fb3da
test: make tests for entity traits work when id_type is std::uint64_t
2021-07-26 23:48:23 +02:00
Michele Caini
9090f84611
test: make tests for hashed string work when id_type is std::uint64_t
2021-07-26 23:48:19 +02:00
Michele Caini
8e5ddba173
sparse set: make vs2017 work (more or less) fine when id_type is std::uint64_t
2021-07-26 23:48:15 +02:00
Michele Caini
86fccb5071
entity: avoid UBs when id type is std::uint64_t ( close #745 )
2021-07-26 23:48:09 +02:00
Michele Caini
414c3baf15
meta: further reduce size of meta_any's vtable
2021-07-26 17:06:16 +02:00
Michele Caini
bbbddbf617
meta: added internal meta_trait enum to reduce memory usage due to meta node traits
2021-07-26 11:16:00 +02:00
Michele Caini
7638b5a95e
meta: suppress warnings, get around visibility issue
2021-07-26 09:55:25 +02:00
Michele Caini
3df6b05c00
doc: fixed typo ( close #742 )
2021-07-26 09:17:11 +02:00
Michele Caini
8566c58f2b
meta: cleanup, prep for hook point
2021-07-23 17:24:41 +02:00
Michele Caini
33ccb71526
meta: add cbegin/cend to meta_range
2021-07-23 15:51:26 +02:00
Michele Caini
2b07b92039
meta (prep for hook func):
...
* removed meta_type::reset
* added meta_reset overloads
2021-07-23 15:47:40 +02:00
Michele Caini
959bc269e4
test: get rid of inconsistent line ( close #741 )
2021-07-23 07:53:51 +02:00
Michele Caini
8609068dbf
type_traits: try to also please gcc :)
2021-07-22 18:21:22 +02:00
Michele Caini
d6cea80768
core: make is_equality_comparable[_v] work with iterators ( close #739 )
2021-07-22 18:08:19 +02:00
Michele Caini
0f2d6fb324
meta_any: avoid risky fallthrough in the vtable ( close #736 )
2021-07-22 17:56:22 +02:00
Michele Caini
f5d303045c
meta: make meta_invoke and meta_construct utilities also support lambdas
2021-07-22 17:41:50 +02:00
Michele Caini
ad61b0c84e
meta: removed parent link from meta nodes
2021-07-22 17:21:09 +02:00
Michele Caini
18373bb679
meta: meta_any::allow_cast overload for meta types
2021-07-22 16:55:45 +02:00
Michele Caini
c30dfe3bfe
meta: add fwd.hpp (see #735 )
2021-07-22 16:02:03 +02:00
Michele Caini
4993961c16
*: removed deprecated stuff
2021-07-22 15:20:08 +02:00
Michele Caini
89aece7c28
meta: removed meta_type::is_void
2021-07-21 11:35:35 +02:00
Michele Caini
ec96946513
meta: cleanup/further reduce instantiations
2021-07-21 11:35:35 +02:00
Michele Caini
e49aa0d424
meta: simplified meta_any::try_cast
2021-07-21 11:35:35 +02:00
Michele Caini
b5c929572a
meta: possibly reduce number of instantiations due to meta_invoke
2021-07-21 11:35:35 +02:00
Michele Caini
394822aa50
meta: remove internal::meta_visit, further reduce the number of instantiations
2021-07-21 11:35:35 +02:00
Michele Caini
d12ba5e527
meta: reduce lambda instantiations
2021-07-21 11:35:35 +02:00
Michele Caini
ab316bcb2e
type_info: use fake vtables
2021-07-21 11:35:35 +02:00
Michele Caini
93fc08df45
meta: template info review
2021-07-21 11:35:35 +02:00
Michele Caini
266dd02ef5
meta: utility review and cleanup
2021-07-21 11:35:35 +02:00
Michele Caini
61c1e359e9
meta: cleanup/review
2021-07-21 11:35:35 +02:00
Michele Caini
32c83986e5
meta: minor changes
2021-07-21 11:35:35 +02:00
Michele Caini
f64af2e69d
meta: get rid of useless boolean values in the return types of meta containers
2021-07-21 11:35:35 +02:00
Michele Caini
6e925c7cdd
meta: container support review (less instantiations, faster to compile)
2021-07-21 11:35:35 +02:00
Michele Caini
5f50f776c6
meta: remove unnecessary nested alias
2021-07-21 11:35:35 +02:00
Michele Caini
946ccf3db4
meta: reduce instantiations for meta containers
2021-07-21 11:35:35 +02:00
Michele Caini
7a0aea390b
meta: minor changes (const correctness)
2021-07-21 11:35:35 +02:00
Michele Caini
ff0e6315f9
doc: fixed typo
2021-07-21 11:35:35 +02:00
Michele Caini
b7fb485349
meta: meta_type::construct should not use base constructors
2021-07-21 11:35:35 +02:00
Michele Caini
45cbe66d5d
now working on version 3.9.0
2021-07-21 00:18:12 +02:00
Michele Caini
bc7a6399c1
updated single include file
2021-07-21 00:14:12 +02:00
Michele Caini
2d5a3f24aa
doc: updated documentation
2021-07-21 00:07:02 +02:00
Michele Caini
1639429edd
registry: minor changes
2021-07-01 15:32:30 +02:00
Michele Caini
f81abf4883
add cpp.hint to .gitignore
2021-07-01 12:32:18 +02:00
Michele Caini
dcddb7d50e
registry: allow non-const types in const overloads of registry context variable getters ( close #720 )
2021-06-30 09:35:36 +02:00
Michele Caini
42a763031c
storage: minor changes
2021-06-30 08:55:21 +02:00
Michele Caini
0964ca5918
storage: turn to assure_at_least based on position to avoid errors at call site
2021-06-29 16:36:00 +02:00
Michele Caini
4e870b83cd
test: suppress warnings due to suggested braces
2021-06-29 15:17:58 +02:00
Michele Caini
0b19c9be0b
storage: add override specifier
2021-06-29 15:10:41 +02:00
Michele Caini
ac655902a0
storage:
...
* internal review for memory management
* added support for nosy destructors to ::in_place_pop
* optimized ::emplace/::insert
2021-06-29 15:05:03 +02:00
Michele Caini
e4fb293b55
sparse_set: added ::emplace_back
2021-06-29 12:37:39 +02:00
Michele Caini
d3df64ef4b
sparse_set: emplace returns the slot used for insertion
2021-06-28 18:51:28 +02:00
Michele Caini
93e3d14f34
sparse_set: added ::slot to return the next slot available for insertion
2021-06-28 18:46:02 +02:00
Michele Caini
bc687d412d
test: suppress some warnings due to [[nodiscard]]
2021-06-28 18:02:43 +02:00
Michele Caini
71e85b44b0
sparse_set: make ::policy [[nodiscard]]
2021-06-28 18:00:40 +02:00
Michele Caini
d4b59aff97
sparse_set: tombstone/null debug check in ::contains
2021-06-28 16:51:24 +02:00
Michele Caini
e3c21e1f3d
sparse_set/storage ( close #707 ):
...
* improved perf on erase/remove (and therefore also registry::destroy)
* allow to inhibit a pop from derived classes
* removed about_to_pop (virtual) function
2021-06-28 15:53:59 +02:00
Michele Caini
e012250e0a
type_traits: minor changes
2021-06-28 11:43:27 +02:00
Michele Caini
c6bf82664c
doc: added a note about optimized range-destroy
2021-06-28 11:20:40 +02:00
Michele Caini
c61e98009f
registry/benchmark: rollback optimized remove/erase (benchmarks have shown that they are not worth it)
2021-06-28 10:19:27 +02:00
Michele Caini
44bccaaad6
basic_registry:
...
* added fast path to destroy
* added fast path to remove
* added fast path to erase
* minor changes
2021-06-28 09:24:12 +02:00
Michele Caini
aebca14dea
view: added member type iterator_type to internal class view_iterator
2021-06-28 09:10:52 +02:00
Michele Caini
4576f27f6e
sparse_set: minor changes
2021-06-28 09:10:12 +02:00
Michele Caini
0c213fca40
type_traits:
...
* added entt::is_iterator[_v]
* added entt::is_iterator_type[_v]
2021-06-28 09:09:55 +02:00
Michele Caini
891f596191
view: minor changes
2021-06-25 17:26:22 +02:00
Michele Caini
eb2b724902
benchmark: tombstone policy runs
2021-06-24 14:04:35 +02:00
Michele Caini
1f8c896181
registry:
...
* deprecated ::destroyed (use ::released instead)
* added ::release overloads (aka force-destroy)
2021-06-24 10:51:03 +02:00
Michele Caini
12b39e1fbe
doc: added missing tokens
2021-06-23 16:35:00 +02:00
Michele Caini
206d31f27a
registry: const ::view/::group also support non-const types ( close #715 )
2021-06-23 15:37:46 +02:00
Michele Caini
6709331182
resource_handle: conversion functions ( close #706 )
2021-06-22 18:54:27 +02:00
Michele Caini
9460e04ea5
entt_traits: review/cleanup
2021-06-22 15:39:15 +02:00
Michele Caini
462bfea733
entt_traits: review to reduce the risk of ambiguous calls
2021-06-22 13:03:32 +02:00
Michele Caini
a2d61dfaeb
runtime_view: suppress warning for shadow parameter
2021-06-22 09:58:19 +02:00
Michele Caini
538425e35c
doc: in-place delete and pointer stability
2021-06-22 09:53:56 +02:00
Michele Caini
2e86c1f1a2
component: add basic_component_traits aside component_traits
2021-06-22 09:52:43 +02:00
Michele Caini
8aa4d46ce0
runtime_view: support for storage policy (tombstones)
2021-06-21 15:18:13 +02:00
Michele Caini
cdf67a1421
sparse_set: public ::policy method for opaque runtime detection
2021-06-21 14:44:09 +02:00
Michele Caini
93d905d93d
updated TODO
2021-06-21 13:04:46 +02:00
Michele Caini
2c35203647
view:
...
* split view iterator from multi-type view
* stable/packed storage policy support
2021-06-21 13:04:37 +02:00
Michele Caini
216871fe56
runtime_view: minor changes
2021-06-21 12:59:44 +02:00
Michele Caini
03511f39b1
registry:
...
* prevent groups from being used with tombstones
* support to compact one, several or all pools
2021-06-21 12:59:26 +02:00
Michele Caini
5ad0832b22
group: minor changes
2021-06-21 12:57:35 +02:00
Michele Caini
d49e7ba4b2
sparse_set/storage:
...
* added component traits (component.hpp)
* support for in-place delete (tombstones)
2021-06-21 12:56:33 +02:00
Michele Caini
a621b36389
type_traits: removed internal is_empty[_v]
2021-06-21 12:44:50 +02:00
Michele Caini
d093df02ac
test: minor changes
2021-06-21 12:39:18 +02:00
Michele Caini
2e1529e78d
entity:
...
* Updated doc
* No const-ref for basic types
2021-06-21 12:32:30 +02:00
Michele Caini
90be1db402
entity:
...
* extended entt_traits<T>::to_type support
* added null_t::operator|
* added tombstone_t::operator|
2021-06-04 11:01:26 +02:00
Michele Caini
29265e4181
doc: updated doxy.in file
2021-06-03 10:44:13 +02:00
Michele Caini
2689a7ef13
registry: minor changes
2021-06-03 09:06:38 +02:00
Michele Caini
88b58cf23d
doc: added a note about tombstones
2021-06-03 09:06:36 +02:00
Michele Caini
e2e433480b
entity/registry:
...
* added entt_traits<T>::reserved()
* added tombstone_t type and tombstone constant
* create-with-hint also accepts null entities (discarded)
* registry skips over tombstone versions and rejects them
2021-06-03 09:06:34 +02:00
Michele Caini
b8bc3e4e94
test: exception safety for sparse set and storage
2021-06-03 08:44:48 +02:00
Michele Caini
c28f52b816
sparse_set/storage: exception safety (kind of)
2021-06-03 08:44:43 +02:00
Michele Caini
ca34309f75
config: removed ENTT_NOEXCEPT, added ENTT_NOEXCEPTION
2021-06-03 08:44:30 +02:00
Michele Caini
ea614a0f3f
entity: review of entt_traits<T>::to_type
2021-05-28 08:59:50 +02:00
Michele Caini
3e7dc7af29
entity:
...
* review of entt_traits design
* added static constexpr member function entt_traits::to_integral
* added static constexpr member function entt_traits::to_entity
* added static constexpr member function entt_traits::to_version
* added static constexpr member function entt_traits::to_type
* custom class identifiers must expose member type entity_field
* it's no longer required to specialize entt_traits (breaking change)
2021-05-28 08:59:50 +02:00
Michele Caini
0b3e3fd19a
doc: updated links ( close #709 ) and TODO file
2021-05-28 08:58:36 +02:00
Michele Caini
d3372dc05c
organizer: wrap std::min to trick windows.h ( close #710 )
2021-05-28 08:54:41 +02:00
Michele Caini
7d141cb183
storage: fix move ctor/op
2021-05-27 16:16:45 +02:00
Michele Caini
755699c31b
config:
...
* removed entt::page_size
* renamed ENTT_PAGE_SIZE to ENTT_SPARSE_PAGE
* added ENTT_PACKED_PAGE (page size for component arrays)
2021-05-25 10:07:20 +02:00
Michele Caini
acf3d4cd74
sparse_set/storage: suppress a couple of warnings
2021-05-25 10:06:55 +02:00
Michele Caini
92414c91b5
sparse_set/storage: review memory management for fancy allocators and the like
2021-05-24 11:53:45 +02:00
Michele Caini
ff67f402bb
sparse_set/storage:
...
* better performance on insertion
* exception guarantee for nothrow default constructible entity types
2021-05-24 10:36:33 +02:00
Michele Caini
f048a3f1d8
sparse_set: minor changes
2021-05-24 10:27:30 +02:00
Michele Caini
9d39cb51cf
storage/registry: review range ::insert (breaking change)
2021-05-24 10:27:30 +02:00
Michele Caini
7624a9d34c
sparse_set/storage:
...
* exception safety guarantee (sort of)
* ::insert optimization for non random access iterators
2021-05-24 10:27:30 +02:00
Michele Caini
0fe73fb6ed
storage: free memory in move assignment operator (with tests)
2021-05-24 10:27:10 +02:00
Michele Caini
ae11652493
sparse_set: free memory in move assignment operator (with tests)
2021-05-24 09:52:09 +02:00
Michele Caini
0ab46870ae
updated TODO list
2021-05-21 09:00:18 +02:00
Michele Caini
a5381374b8
updated workflow
2021-05-20 11:00:42 +02:00
Michele Caini
7fae655651
updated TODO file
2021-05-19 10:49:23 +02:00
Michele Caini
3d9959c8e5
sparse_set/storage: small review and optimizations
2021-05-19 09:29:37 +02:00
Michele Caini
bc86576aa8
storage: improved performance when emplacing
2021-05-17 12:34:42 +02:00
Michele Caini
7c2bce8baf
core: added entt::page_size
2021-05-17 12:07:48 +02:00
Michele Caini
b062bbf58d
storage/view/group: reintroduce (opaque) ::raw functions as it ought to be
2021-05-17 11:59:51 +02:00
Michele Caini
8e5a048913
storage: updated pointer type for storage iterator
2021-05-17 10:10:54 +02:00
Michele Caini
ff642ffff7
sparse_set: updated pointer type for sparse set iterator
2021-05-17 10:09:50 +02:00
Michele Caini
656c12cebd
view/group: opaque pointer type for ::data
2021-05-17 00:00:06 +02:00
Michele Caini
48f3fcf3bd
doc: updated links ( close #704 )
2021-05-16 22:33:04 +02:00
Michele Caini
d797af695b
registry: much faster range ::create
2021-05-16 00:26:57 +02:00
Michele Caini
75e0161c5f
view :minor changes
2021-05-15 23:01:50 +02:00
Michele Caini
c0662816f1
updated TODO file
2021-05-14 18:24:09 +02:00
Michele Caini
415a31ce23
storage: forward allocator to base class
2021-05-14 15:12:29 +02:00
Michele Caini
6e603e2e51
sparse_set: suppress conversion warning
2021-05-14 15:12:26 +02:00
Michele Caini
9af318a767
test: minor changes
2021-05-14 15:12:23 +02:00
Michele Caini
30827120f6
registry: cleanup
2021-05-14 15:12:20 +02:00
Michele Caini
6194e12616
entity:
...
* allocator support for sparse set and storage
* pointer stability when assigning components
* removed ::raw functions (registry, view, group)
* to_entity returns null for invalid components
2021-05-14 15:12:16 +02:00
Michele Caini
59a27fb652
registry: deprecated ::reserve_pools
2021-05-13 11:01:46 +02:00
Michele Caini
f8ec57c2f6
*: cleanup
2021-05-11 10:50:38 +02:00
Michele Caini
844ef5e232
meta: avoid warning for unused variable
2021-05-10 09:49:44 +02:00
Michele Caini
5bf3f7b77e
meta: suppress warning for extra ;
2021-05-08 17:19:06 +02:00
Michele Caini
00c0afd093
meta: avoid using y_combinator to clean up types ( close #700 )
2021-05-08 17:13:52 +02:00
Michele Caini
5228739c87
meta: make it work also with VS2017
2021-05-08 17:13:52 +02:00
Michele Caini
0f6d1268c7
meta: further reduced number of instantiations/size of symbols
2021-05-08 17:13:52 +02:00
Michele Caini
b2a4515d2b
any: minor changes
2021-05-08 17:13:51 +02:00
Michele Caini
3576c80d33
meta_any: drastically reduce the number of instantiations/size of vtable
2021-05-08 17:13:51 +02:00
Michele Caini
77afd2d36c
any: ::owner function (useful to also review meta_any)
2021-05-08 17:13:51 +02:00
Michele Caini
e6ddd5d9c2
any: drastically reduced the number of instantiations/size of vtable
2021-05-08 17:13:51 +02:00
Michele Caini
b9bf1a234e
config: added ENTT_LAUNDER
2021-05-08 17:13:51 +02:00
Michele Caini
0ce9122449
any: reduce vtable size, simplify ref/cref creation
2021-05-08 17:13:51 +02:00
Michele Caini
dc41657872
any: empty vtable for void type
2021-05-08 17:13:51 +02:00
Michele Caini
64d9380031
*: updated messages for deprecated functions
2021-05-08 17:13:51 +02:00
Michele Caini
eca7484e30
doc: updated doc for any/meta_any
2021-05-08 17:13:51 +02:00
Michele Caini
2b5c393a13
meta: forward_as_meta
2021-05-08 17:13:51 +02:00
Michele Caini
0817d416a3
meta: make_meta_any -> make_meta
2021-05-08 17:13:51 +02:00
Michele Caini
ccff753305
any: forward_as_any
2021-05-08 17:13:51 +02:00
Michele Caini
11481a430a
meta: minor changes
2021-05-08 17:13:51 +02:00
Michele Caini
e252b22735
test: code coverage
2021-05-08 17:13:51 +02:00
Michele Caini
a32ca8eb1d
doc: updated doc for any/meta_any/poly
2021-05-08 17:13:50 +02:00
Michele Caini
1979a2279f
poly: removed std::reference_wrapper support (incomplete, breaking change)
2021-05-08 17:13:50 +02:00
Michele Caini
1434f942dd
*: make it work with VS2017
2021-05-08 17:13:50 +02:00
Michele Caini
955d325f07
meta_any: deprecated std::reference_wrapper support
2021-05-08 17:13:50 +02:00
Michele Caini
3fac3fe2d7
any: deprecate std::reference_wrapper support
2021-05-08 17:13:50 +02:00
Michele Caini
6ff217e74e
meta: removed any reference to std::reference_wrapper/std::ref/std::cref
2021-05-08 17:13:50 +02:00
Michele Caini
cd667fe34b
meta: make_meta_any
2021-05-08 17:13:50 +02:00
Michele Caini
3d6202ecfd
any: make_any
2021-05-08 17:13:50 +02:00
Michele Caini
c40f0ef2bb
type traits: is_equality_comparable support for nlohmann json like types (where T::value_type is T) - close #701
2021-05-08 10:43:27 +02:00
Michele Caini
c4b169edd1
registry: make ::remove and ::erase work also with iterators returned by views
2021-05-07 11:16:32 +02:00
Michele Caini
c6bba98828
registry: ::destroy review
2021-05-06 16:34:36 +02:00
Michele Caini
e5d4f1bb58
entity: deprecate handle::remove_all and registry::remove_all
2021-05-06 16:33:43 +02:00
Michele Caini
cf522d60ca
doc: updated doc for handle
2021-05-06 10:31:43 +02:00
Michele Caini
daf72a7c61
entity: registry ::remove/::erase entity/range and safe/unsafe versions ( close #486 )
2021-05-04 11:36:02 +02:00
Michele Caini
f116ad0594
test: use iterators in the poly storage example
2021-05-03 22:29:39 +02:00
Michele Caini
e59d40834d
any: reduce vtable options
2021-04-29 11:17:15 +02:00
Michele Caini
d06328af7f
any: small review
2021-04-29 10:24:18 +02:00
Michele Caini
baa9d7d836
any: avoid invalid state from assignment operator for non-copyable types
2021-04-29 10:05:01 +02:00
Michele Caini
b030df55ee
registry: clean up
2021-04-22 08:55:20 +02:00
Michele Caini
64eb8a2d0d
sparse_set: ::remove returns number of actually removed elements
2021-04-22 08:42:35 +02:00
Michele Caini
7d7c36e0c7
registry: clean up ::remove_all
2021-04-21 16:50:33 +02:00
Michele Caini
9ad5768050
registry: clean up ::clear
2021-04-21 16:46:39 +02:00
Michele Caini
1cafbcff38
sparse_set: remove (and range-remove) if exists
2021-04-21 16:39:51 +02:00
Michele Caini
4bbf93fd0c
sparse_set: remove -> erase
2021-04-21 15:46:02 +02:00
Michele Caini
120918bc37
any: refine the aggregate support to make any closer to its standard counterpart
2021-04-21 13:45:51 +02:00
Michele Caini
253448cffb
sparse_set: suppress warnings for unused variables
2021-04-20 12:38:06 +02:00
Michele Caini
26f19fb90e
storage: cleanup
2021-04-20 12:37:50 +02:00
Michele Caini
e8f982e909
view/group: raw() isn't bound to pointer types
2021-04-19 16:05:08 +02:00
Michele Caini
0fa433187e
storage: valid state on component removal (allows component destructors to access pools)
2021-04-19 15:34:41 +02:00
Michele Caini
b0069299ea
meta_any: avoid dereferencing C-style arrays
2021-04-15 11:45:10 +02:00
Michele Caini
375d5d3e9b
doc: cleanup
2021-04-14 15:44:33 +02:00
Michele Caini
2d9398ae1a
entity: handle review
2021-04-14 15:44:27 +02:00
Michele Caini
fc69e91636
test: refined custom id example
2021-04-14 15:44:17 +02:00
Michele Caini
5c56cbd672
process: dead -> finished
2021-04-13 09:02:29 +02:00
Michele Caini
a42255158d
config: added error messages to ENTT_ASSERT
2021-04-13 09:02:29 +02:00
Michele Caini
f3d10a97df
now working on v3.8.0
2021-04-13 09:02:26 +02:00
Michele Caini
5d15a3d69f
updated single include file
2021-04-13 08:46:28 +02:00
Michele Caini
94292872dc
ready to cut v3.7.1 (general quality of life improvements, no bug fixes, no new feature)
2021-04-12 23:37:53 +02:00
Michele Caini
5c8a1e7d10
type traits: removed is_std_hashable[_v]
2021-04-12 23:37:46 +02:00
Michele Caini
e98d8426bb
meta: treat T(*)[N] as non-pointer-like types
2021-04-12 15:59:35 +02:00
Michele Caini
77f80cecf9
test: re-enable tests left commented by mistake
2021-04-12 15:59:31 +02:00
Michele Caini
bce26a1499
meta: remove dependency on std::array
2021-04-12 15:59:28 +02:00
Michele Caini
453f1c6edc
test: std::strcmp ... 🤦♂️
2021-04-12 15:59:20 +02:00
Michele Caini
9f8a36f2c9
any/meta: cleanup/better traits usage
2021-04-12 15:58:59 +02:00
Michele Caini
e6a5945463
meta_any: suppress a warning from clang
2021-04-12 15:56:01 +02:00
Michele Caini
60393fbc5f
meta_any: decays Type on storage construction to handle correctly const T[N] types ( close #687 )
2021-04-12 15:55:59 +02:00
Michele Caini
b9a925dbd4
test: avoid regressions with any and deduced const T[N] types
2021-04-12 15:55:57 +02:00
Michele Caini
5dbdb1bcb5
any: internal support for both aggreagates and non-aggregates (qol enhancement :)
2021-04-12 15:55:55 +02:00
Michele Caini
d55cefc086
meta_any: no redundant copies, better perf
2021-04-12 15:55:53 +02:00
Michele Caini
5380e6d98b
any: no redundant copies, better perf
2021-04-12 15:55:49 +02:00
Michele Caini
45cc24e0b8
any: favor aggregate initialization upon construction
2021-04-12 15:55:45 +02:00
Michele Caini
76bf1791eb
test: cleanup
2021-04-12 13:02:23 +02:00
Michele Caini
7e9a4c4b16
view: initialize all data members on construction
2021-04-12 12:52:22 +02:00
Michele Caini
75cd5f169f
*: review deduction guides
2021-04-12 12:48:36 +02:00
Michele Caini
10636c82a2
view/group: review extended iterable mode ( close #686 )
2021-04-07 10:33:52 +02:00
Michele Caini
04a6729963
build_system: minor changes
2021-04-06 16:49:11 +02:00
Michele Caini
b5617398ad
doc: fixed typo
2021-04-06 16:47:20 +02:00
Michele Caini
da14641ccb
meta: reduce instantiations due to meta_prop
2021-04-06 16:47:14 +02:00
Michele Caini
3997bd2396
meta: minor changes
2021-04-06 16:47:03 +02:00
Michele Caini
c876350e05
updated single include file
2021-04-02 12:04:31 +02:00
Michele Caini
1e07b981f0
build_system: manually install missing compilers
2021-04-01 14:42:10 +02:00
Michele Caini
756e909f5e
*: (static) assert messages
2021-03-31 15:10:15 +02:00
Michele Caini
2404392daf
meta_any: vtable review for empty/void types
2021-03-30 15:55:48 +02:00
Michele Caini
bf6576f5af
any: use std::addressof to get the address of an object reliably
2021-03-30 15:27:49 +02:00
Michele Caini
158c2ab76e
delegate: removed redundant calls to delegate constructors
2021-03-30 11:52:16 +02:00
Michele Caini
56fa50385e
build system: minor changes
2021-03-29 23:32:35 +02:00
Michele Caini
eb05ab5fab
test: code coverage
2021-03-29 23:30:13 +02:00
Michele Caini
7f87b637d5
workflow: use lcov to process codecoverage
2021-03-29 23:12:34 +02:00
Michele Caini
4b213adc75
test: cleanup
2021-03-29 19:03:10 +02:00
Michele Caini
7e7d5bbf17
registry: suppress a wrong warning from gcc 7.5
2021-03-29 19:00:09 +02:00
Michele Caini
e18c0a0c19
test: verify that dtor isn't invoked for a meta_any that wraps a reference
2021-03-29 17:01:05 +02:00
Michele Caini
02b6ffc771
build system: add ubsan to the CI
2021-03-29 12:19:52 +02:00
Michele Caini
340d66c24c
build system: split build and sanitizer runs
2021-03-29 12:07:49 +02:00
Michele Caini
2cbf9d3620
build system: added poly.md to fake docs all target
2021-03-29 12:03:36 +02:00
Michele Caini
11e6793544
build system: cleanup
2021-03-29 12:00:42 +02:00
Michele Caini
d07e0336a2
test: fix ub in the tests
2021-03-29 10:28:58 +02:00
Michele Caini
7dbfb3d9ae
test: code coverage (and try to please new gcov)
2021-03-29 08:23:30 +02:00
Michele Caini
02ef5db6e3
test: cleanup
2021-03-28 00:02:51 +01:00
Michele Caini
bb43bb5508
test: code coverage
2021-03-27 23:59:13 +01:00
Michele Caini
a771f083a7
process: added rejected state
2021-03-27 23:19:15 +01:00
Michele Caini
67f8bce1dd
test: code coverage
2021-03-27 23:03:24 +01:00
Michele Caini
3b6dd23598
scheduler: small review for perf improvements
2021-03-27 22:48:54 +01:00
Michele Caini
66bbeae7da
test: code coverage
2021-03-27 22:47:15 +01:00
Michele Caini
059334a861
test: code coverage
2021-03-27 18:14:36 +01:00
Michele Caini
f874c8309f
registry: make vs2017 happy again
2021-03-26 15:35:11 +01:00
Michele Caini
27be812cc3
registry: small review of const correctness for components
2021-03-26 15:11:37 +01:00
Michele Caini
2adc2e97e1
registry: a "better" get
2021-03-26 14:49:42 +01:00
Michele Caini
dc4279a2d0
any/poly: review align parameter and default values ( close #676 )
2021-03-26 13:05:52 +01:00
Michele Caini
85bff4525a
registry: non-const try_get doesn't create pools anymore
2021-03-26 09:38:58 +01:00
Michele Caini
bd648c0745
registry: avoid embedding asserts with return expressions
2021-03-25 11:13:50 +01:00
Michele Caini
d5e7005edd
doc: minor changes to make doxygen happy
2021-03-25 09:46:06 +01:00
Michele Caini
8913c7ea18
poly: make vs2017 happy again
2021-03-24 13:53:02 +01:00
Michele Caini
0e2afe4f98
resource: remove the requirement to use shared_ptr ( close #679 )
2021-03-24 12:03:43 +01:00
Michele Caini
a936f7cdbe
doc: added a note about configurable alignment requirements for any and poly
2021-03-24 12:03:43 +01:00
Michele Caini
44fa466618
poly: support for alignment requirements
2021-03-24 12:03:43 +01:00
Michele Caini
b05d84e8e3
test: minor changes
2021-03-24 12:03:43 +01:00
Michele Caini
7787c1ddd7
poly: redefine poly to basic_poly, introduce poly alias declaration
2021-03-24 12:03:43 +01:00
Michele Caini
52bfddd2e7
any: support for sbo storage alignment ( close #676 )
2021-03-24 12:03:43 +01:00
Michele Caini
f59adcdc37
test: no sbo overaligned any
2021-03-24 12:03:43 +01:00
Michele Caini
e996d3398f
any: take in consideration alignment requirements for in_situ test (see #676 )
2021-03-24 12:03:43 +01:00
Michele Caini
d73892d25a
build system: more on pkg-config + updated README file
2021-03-18 13:48:38 +01:00
Alexandru-Sergiu Marton
1ebf614d79
build system: add pkg-config support ( #674 )
2021-03-18 13:48:38 +01:00
Michele Caini
f9c995f03f
storage: cleanup
2021-03-18 13:47:53 +01:00
Michele Caini
2dcdd561f0
registry: minor changes
2021-03-17 16:10:00 +01:00
Michele Caini
90f97aa8d7
doc: updated try-it link ( close #678 )
2021-03-17 15:10:10 +01:00
Michele Caini
5a4b067cee
view:
...
* removed view_pack and its tests
* added the possibility of combining different views
* updated documentation
2021-03-17 14:57:51 +01:00
Michele Caini
cabcc761c6
view: uniform design (prepare for chaining)
2021-03-16 17:14:20 +01:00
Michele Caini
a40ac1c46c
registry: minor changes
2021-03-16 13:38:29 +01:00
Michele Caini
85ddfc4d21
test: clean up
2021-03-16 13:13:55 +01:00
Michele Caini
037a35df1d
storage: removed storage category
2021-03-15 18:47:17 +01:00
Michele Caini
64c753023e
doc: minor changes
2021-03-15 17:52:50 +01:00
Michele Caini
9d72ffb9fe
test: minor changes
2021-03-12 13:52:46 +01:00
Michele Caini
4162d4fbc6
type_info: a more reliable operator bool
2021-03-12 09:33:42 +01:00
Michele Caini
a4d16bffd3
any: minor changes
2021-03-12 08:42:41 +01:00
Michele Caini
bcaf1489c0
meta: extended template info support
2021-03-11 12:17:48 +01:00
Michele Caini
a85712e8aa
meta:
...
* removed has_meta_sequence_container[_v]
* removed has_meta_associative_container[_v]
2021-03-11 10:40:13 +01:00
Michele Caini
0f95d02cdc
any: minor changes
2021-03-10 08:55:02 +01:00
Michele Caini
c151d55237
dispatcher: help std::is_copy_constructible to solve its problems with std::vector :)
2021-03-10 08:51:06 +01:00
Michele Caini
785cd6bc11
storage ( close #675 ):
...
* stable sigh_storage_mixin::swap_and_pop
* added tests to avoid regressions
2021-03-09 16:09:19 +01:00
Michele Caini
8ec7e3cc97
test: suppress warnings for unused variables
2021-03-09 12:25:32 +01:00
Michele Caini
e376493970
test: removed unnecessary static functions
2021-03-09 12:17:00 +01:00
Michele Caini
08e2322d79
test: meta corner cases and re-registration
2021-03-09 12:11:25 +01:00
Michele Caini
2832767daa
meta: updated doc
2021-03-09 12:10:55 +01:00
Michele Caini
62e12ee0aa
meta: no need to check the instance in the dtor wrapper
2021-03-09 10:34:06 +01:00
Michele Caini
80e73c1089
meta:
...
* props no longer depend on the value type
* more tests for meta_prop
2021-03-09 10:26:21 +01:00
Michele Caini
4f93995bd7
test: suppress warnings + increase code coverage
2021-03-09 10:24:28 +01:00
Michele Caini
03c7dac92f
meta: internal review to fully support re-registration
2021-03-09 09:50:48 +01:00
Michele Caini
d0b93f565a
meta: prop key is returned by const reference rather than by copy
2021-03-08 15:22:25 +01:00
Michele Caini
1512fbae55
meta: safer factory, no-op re-registration
2021-03-08 14:52:46 +01:00
Michele Caini
4d91afdf9f
meta: allow range-reset
2021-03-08 14:44:08 +01:00
Michele Caini
c239c3fea3
factory: avoid re-registration of data and type if already registered
2021-03-08 09:29:54 +01:00
Michele Caini
a0b431e8c4
doc: context aliased properties
2021-03-08 09:01:13 +01:00
Michele Caini
005e03aeb3
registry:
...
* context const correctness
* added support for aliased variables to context
* code coverage to avoid regressions
2021-03-06 22:51:01 +01:00
Michele Caini
6002d373e2
meta: factory ignores already existing unnamed meta objects
2021-03-05 11:32:32 +01:00
Michele Caini
a53066424b
meta: cleanup/minor changes
2021-03-04 10:22:36 +01:00
Michele Caini
38ab02ff88
doc: minor changes
2021-03-03 16:49:20 +01:00
Michele Caini
fee0b29a0b
registry: added missing template keyword (thanks msvc for accepting it anyway)
2021-03-03 14:24:38 +01:00
Michele Caini
2553695029
meta: minor changes
2021-03-03 12:26:59 +01:00
Michele Caini
301939983f
registry: minor changes
2021-03-03 12:26:11 +01:00
Michele Caini
cd9ae1fbad
poly: ::emplace support for reference types
2021-03-03 12:25:34 +01:00
Michele Caini
54e9bc86cc
doc: updated links
2021-03-02 12:05:49 +01:00
Michele Caini
a1dd4c28c3
view: clean up
2021-03-02 11:21:40 +01:00
Michele Caini
6d3857f337
registry: clean up
2021-03-01 23:55:57 +01:00
Michele Caini
c4be3e731a
poly: fwd.hpp
2021-02-28 23:29:36 +01:00
Michele Caini
ea4407b847
doc: fixed typo
2021-02-28 23:24:32 +01:00
Michele Caini
a62a83044f
poly: make it work also with non-default Len
2021-02-27 17:34:09 +01:00
Michele Caini
e7e7b06744
doc: updated links
2021-02-26 14:36:20 +01:00
Michele Caini
2222e31885
config: ENTT_PAGE_SIZE sets the number of elements of a page, not the size in bytes
2021-02-25 00:18:04 +01:00
Michele Caini
c3f7f83c55
registry/view ( close #660 ):
...
* const registry::view is no longer thread safe
* views are always valid when created from a registry, either const or not
* added a note to the doc about const registry and multithreading
2021-02-23 17:01:38 +01:00
Michele Caini
86e18f68c4
sparse_set: added unchecked operator[](pos)
2021-02-23 15:01:05 +01:00
Michele Caini
cc7d9e03d9
doc: updated list of similar projects
2021-02-23 14:39:37 +01:00
Michele Caini
c8639ae434
meta: minor changes
2021-02-23 12:00:59 +01:00
Michele Caini
85cf32516e
view: minor changes
2021-02-22 16:52:54 +01:00
Michele Caini
bc85817b07
doc: updated doc for type_seq and the like
2021-02-22 16:39:42 +01:00
Michele Caini
1016394be5
*: minor changes
2021-02-22 16:35:36 +01:00
Michele Caini
de35cbf4af
type_info: add conversion operators to underlying types ( close #664 )
2021-02-22 14:48:35 +01:00
Michele Caini
bb1acee36a
entity:
...
* sparse_set: added optional user data to ::remove and ::clear
* sparse_set: remove the payload, it was really meh
* storage: review sigh_storage_mixin, simplified storage_adapter_mixin
* registry: pass itself twhen adding/patchin/removing components
test: updated tests for sparse set and poly storage
examples: added a test to avoid regressions on storage_adapter_mixin
2021-02-22 14:32:29 +01:00
Michele Caini
c6a2ed78c3
poly: add missing template keyword
2021-02-22 09:45:55 +01:00
Michele Caini
7729958082
doc: updated links
2021-02-21 16:39:29 +01:00
Michele Caini
ccdaec86b3
poly: added configurable sbo size (0 -> forced dyn)
2021-02-20 00:12:43 +01:00
Michele Caini
42afeef993
any: updated tests (sbo vs zeroed sbo size)
2021-02-19 23:46:44 +01:00
Michele Caini
3d06911886
test: code coverage (codecov is odd sometimes)
2021-02-19 16:26:55 +01:00
Michele Caini
98f929e41e
any: try to get around an issue with clang only
2021-02-19 16:23:33 +01:00
Michele Caini
94d4e0231e
*: suppress a few warnings + fix a call that msvc accepted by mistake
2021-02-19 16:11:19 +01:00
Michele Caini
e60cdb2e3b
config: update ENTT_PAGE_SIZE
2021-02-19 15:50:09 +01:00
Michele Caini
550c021097
any: make VS happy :)
2021-02-19 14:56:39 +01:00
Michele Caini
1aec7f71b8
any: doc + test for configurable sbo
2021-02-19 14:45:26 +01:00
Michele Caini
07565927f2
any:
...
* added configurable sbo size (0 -> forced dyn)
* reverted changes for forced dyn vtable
2021-02-19 12:51:30 +01:00
Michele Caini
fda78ede1b
any: prepare for in-place forced dynamic construction
2021-02-19 11:48:25 +01:00
Michele Caini
1249a4f8d3
any/meta_any/poly: as_ref is a member function, no longer an in-class friend function exported in the global namespace
2021-02-19 11:19:32 +01:00
Michele Caini
4e631f1536
meta_handle: deleted copy constructor ( close #661 )
2021-02-18 23:49:39 +01:00
Michele Caini
1757dbc225
registry: get around an issue of gcc
2021-02-16 17:12:02 +01:00
Michele Caini
8149e204d2
*: refine code that msvc accepts by mistake ( 🤦♂️ )
2021-02-16 15:55:45 +01:00
Michele Caini
412f2ef63e
doc: updated/reviewed
2021-02-16 15:08:34 +01:00
Michele Caini
ea33673daa
registry: faster, better ::clear
2021-02-16 14:53:33 +01:00
Michele Caini
169b816613
entity:
...
* sparse_set: stable virtual remove
* basic_storage: fake get for empty types,
* sigh_storage_mixin: use swap_and_pop, drop ::remove, ignore emptiness
* poly_storage: ::remove is no longer part of its interface by default
2021-02-16 14:46:42 +01:00
Michele Caini
48edf077fc
sigh_storage_mixin:
...
* Owner as template parameter (to make it reusable in other contexts)
* Use storage payload for retrieving the owner from the storage
2021-02-16 10:44:03 +01:00
Michele Caini
91db153710
registry: rebind pools from move constructor/assignment operator
2021-02-15 18:11:02 +01:00
Michele Caini
ea1f010b1a
sparse_set/storage: swap_at and swap_and_pop are protected and non-final
2021-02-15 15:57:17 +01:00
Michele Caini
935a852745
storage:
...
* Removed storage_adapter_mixin (intermediate step towards the owner-as-payload model)
* The class sigh_storage_mixin expects a plain storage as a base class (intermediate step towards the owner-as-payload model)
* Further reduced the number of instantiations
* All storage classes must expose a ::patch function
2021-02-15 15:56:27 +01:00
Michele Caini
0eb6d7de3c
sparse_set: added opaque payload (mainly meant to attach owners for augmented storage mixins)
2021-02-15 15:15:41 +01:00
Michele Caini
3118cd4fa5
sparse_set: added ::at to get the entity at a given position, if any
2021-02-15 14:56:18 +01:00
Michele Caini
18832fcb37
core: make type_id [[nodiscard]] (see #658 )
2021-02-14 11:04:12 +01:00
Michele Caini
612554f6af
registry: minor changes
2021-02-12 18:18:39 +01:00
Michele Caini
1c794591b9
sparse_set: review sort_n
2021-02-12 15:47:52 +01:00
Michele Caini
a8d95b284d
meta: general renaming, size -> arity when it returns the arity of a function
2021-02-12 11:05:07 +01:00
Michele Caini
772c2dba2f
type traits: add is_std_hashable[_v] (see #629 )
2021-02-11 11:57:55 +01:00
Kartik Saranathan
9d1a210c97
core: PS4 build fix for entt::any ( #657 )
...
PS4 headers doesn't define __cpp_lib_launder which fails to compile with -Werror
2021-02-11 10:16:28 +01:00
Michele Caini
b04b966db1
meta:
...
* updated meta_any::operator== to make it consistent across boundaries
* constness review for meta_type_node
2021-02-10 15:57:20 +01:00
Michele Caini
e2c61d90e9
meta: use meta_node internally to generate template_info
2021-02-09 18:27:40 +01:00
Michele Caini
d50655c4f7
test: suppress a couple of shadow warnings
2021-02-09 18:20:42 +01:00
Michele Caini
5e4c63736b
meta: added minimal class template support to meta_type
2021-02-09 17:18:24 +01:00
Michele Caini
b90b71c8c0
meta: support for proxy pointers
2021-02-09 10:57:50 +01:00
Michele Caini
722033e906
meta: split node.hpp and meta.hpp
2021-02-09 09:59:51 +01:00
Michele Caini
b6ec91fcd0
doc: updated links, removed broken one
2021-02-09 08:17:49 +01:00
Michele Caini
e94c0d003a
any/registry:
...
* copying an entt::any always returns a copy of the contained object
* registry::storage returns references (eventually const) to the poly storage
2021-02-08 11:46:22 +01:00
Michele Caini
5c46ccb37e
meta:
...
* avoid copies from meta_type::invoke (small perf improvement)
* meta_handle::operator* no longer available
* added meta_handle::operator bool
2021-02-08 11:33:53 +01:00
Michele Caini
fd989feea3
any: review copy, prepare for #652
2021-02-06 23:22:32 +01:00
Michele Caini
1b53e83dde
any: minor changes
2021-02-06 18:35:08 +01:00
Michele Caini
3ebe827b51
doc: minor changes
2021-02-05 11:10:04 +01:00
Michele Caini
b8266e1169
registry: minor changes
2021-02-04 16:12:06 +01:00
Michele Caini
4efbe24607
test: minor changes (code coverage)
2021-02-04 12:14:35 +01:00
Michele Caini
e96ac1f6ff
handle: rename ::has/::any to ::all_of/any_of
2021-02-04 12:03:38 +01:00
Michele Caini
14915368c7
test: avoid some ASSERT_DEATH that don't trigger in release mode
2021-02-04 11:50:52 +01:00
Michele Caini
0ff5c18743
registry: rename ::any to ::any_of
2021-02-04 09:45:11 +01:00
Michele Caini
240814cc85
registry: rename ::has to ::all_of
2021-02-04 09:36:28 +01:00
Michele Caini
1912350cc6
registry: use entt::any to store context variables
2021-02-04 09:21:27 +01:00
Michele Caini
146faa6008
doc: updated links
2021-02-04 08:20:03 +01:00
Michele Caini
e5fa67850b
sparse_set/registry: avoids UB with sparse_set::clear and component-less registry::clear
2021-02-03 16:18:25 +01:00
Michele Caini
1377b51341
doc: minor changes
2021-02-03 13:07:39 +01:00
Ευάριστος
db67fb3539
build system: delete @bazel_tools//src/conditions:windows_msys. ( #649 )
...
This condition is no longer available from Bazel 4.0.0.
2021-02-03 10:08:38 +01:00
Michele Caini
6d216406f3
registry: minor changes
2021-02-03 10:04:16 +01:00
Michele Caini
ab225eaec1
registry: updated precondition of ::assign
2021-02-02 23:37:09 +01:00
Michele Caini
4d6d9e567d
registry: minor changes
2021-02-02 13:53:51 +01:00
Michele Caini
0fcf0142ba
sparse_set: prepare for detached pools
2021-02-02 12:59:07 +01:00
Michele Caini
ab907e4fef
updated README
2021-02-01 10:04:54 +01:00
Michele Caini
1c1c3eb271
meta: added support to self pointer in meta_any
2021-01-29 22:13:31 +01:00
Michele Caini
a03a569534
meta: support for std::vector<bool> and the like
2021-01-29 18:58:18 +01:00
Michele Caini
309fb0fa83
test: updated storage poly example ( close #644 )
2021-01-29 11:10:01 +01:00
Michele Caini
14c1431848
doc: fixed typo ( close #646 )
2021-01-29 10:06:22 +01:00
Michele Caini
c3dc32415b
meta: make meta utility public and freely available to users
2021-01-28 12:19:02 +01:00
Michele Caini
44d6246278
doc: fixed typo
2021-01-28 12:18:33 +01:00
Michele Caini
5bbd7e03f9
meta: prepare to make internal utilities public
2021-01-27 16:47:01 +01:00
Michele Caini
f5f463b411
any: relaxed checks/constraints
2021-01-26 16:45:02 +01:00
Michele Caini
6eaefbe25c
doc: update doc of the runtime reflection system ( close #641 )
2021-01-26 08:41:41 +01:00
Michele Caini
4b5c2c85a5
doc: updated inline doc ( close #640 )
2021-01-26 08:36:56 +01:00
Michele Caini
0f951cd322
test: suppress a warning due to an unused variable
2021-01-25 15:22:46 +01:00
Michele Caini
cf0da32fd0
meta: iterators of meta associative containers return keys by const reference rather than by copy
2021-01-25 15:12:59 +01:00
Michele Caini
5a3085c42b
registry: removed data<T> and raw<T> (use view<T>::data/::raw instead)
2021-01-25 12:29:22 +01:00
Michele Caini
42cc480bf5
doc: updated links and TODO file
2021-01-23 18:39:08 +01:00
Michele Caini
2822eda858
poly: added ::reset
2021-01-23 18:22:15 +01:00
Michele Caini
6c804b5ca2
meta: added meta_any::reset
2021-01-23 18:19:11 +01:00
Michele Caini
5149d1395e
any: minor changes
2021-01-23 18:18:54 +01:00
Michele Caini
f75a2dab8d
any (meta/poly): make T& in place construction work with references rather than pointers
2021-01-23 18:09:41 +01:00
Michele Caini
a045c88c61
any: added ::reset
2021-01-23 18:04:03 +01:00
Michele Caini
a5fdf917df
test: minor changes (code coverage)
2021-01-22 20:13:15 +01:00
Michele Caini
80a0e47f1a
core: more tests for hashed_string (code coverage)
2021-01-22 15:39:03 +01:00
Michele Caini
a304313ad4
any: more tests for the support to not copyable types (code coverage)
2021-01-22 15:28:24 +01:00
Michele Caini
05b1d5a4da
meta: more tests for entt::resolve (code coverage)
2021-01-22 15:22:36 +01:00
Michele Caini
edeef3541c
meta: tests (code coverage) for meta_ctor (implicitly generated default constructor)
2021-01-22 15:20:03 +01:00
Michele Caini
cd929d8e65
meta: review + tests (code coverage) for implicitly generated default constructors
2021-01-22 15:17:58 +01:00
Michele Caini
b005971427
doc: removed broken badge
2021-01-22 15:17:19 +01:00
Michele Caini
c35614fb63
meta: more tests for meta pointers (code coverage)
2021-01-22 15:08:45 +01:00
Michele Caini
18e16b09f2
any: more tests (code coverage)
2021-01-22 14:57:50 +01:00
Michele Caini
b18b76c1f0
meta: as_ref_t adapts to const objects/const-ref return types
2021-01-22 11:41:17 +01:00
Michele Caini
c9f65267ba
meta: factory getter, better is_invocable_v test
2021-01-22 09:17:37 +01:00
Michele Caini
cce52c673b
view: use get_as_tuple internally
2021-01-22 09:17:00 +01:00
Michele Caini
fdde216f0e
doc: minor changes
2021-01-21 10:32:25 +01:00
Michele Caini
d1901a97d1
doc: minor changes
2021-01-21 09:59:43 +01:00
Michele Caini
eb2077b95b
meta: suppress warnings
2021-01-20 19:51:59 +01:00
Michele Caini
fad3bdeed4
meta: ::reset doesn't remove the implicitly generated default constructors
2021-01-20 15:29:35 +01:00
Michele Caini
e1a537e547
doc: minor changes
2021-01-20 15:20:51 +01:00
Michele Caini
ba098e1199
any: use actual constructors to be more like std::any
2021-01-15 17:24:10 +01:00
Michele Caini
0ec755fccf
meta: iterable base types as instances of meta_type
2021-01-15 14:34:27 +01:00
Michele Caini
997dd433b3
doc: type list and value list
2021-01-15 11:04:06 +01:00
Michele Caini
4aea1567db
type_traits: make is_equality_comparable work with all major compilers
2021-01-15 10:37:14 +01:00
Michele Caini
446c8df3b4
type_traits: added type_list_diff[_t]
2021-01-15 08:36:22 +01:00
Michele Caini
f4bd868d6a
type_traits: is_equality_comparable, support for standard containers
2021-01-14 12:56:31 +01:00
Michele Caini
8490264af3
doc: updated list for similar projects
2021-01-13 15:21:01 +01:00
Michele Caini
505cfdd193
any: detect C-style arrays and use delete[] when needed
2021-01-13 13:30:10 +01:00
Michele Caini
39ecd1545c
meta: support for dereferencing pointers to functions
2021-01-13 13:14:21 +01:00
Michele Caini
9b80c0028d
meta:
...
* implicitly generated default constructor (overridable)
* pointer-like to void support (no dereference)
2021-01-13 11:53:15 +01:00
Michele Caini
35276b55af
any: support for non-copyable types
2021-01-12 16:24:18 +01:00
Michele Caini
eb63dd6227
meta: merged internal.hpp with meta.hpp
2021-01-11 15:08:44 +01:00
Michele Caini
9f24b3c584
meta: minor changes
2021-01-11 14:58:50 +01:00
Michele Caini
53e951d96d
meta: removed internal::meta_range
2021-01-11 12:31:55 +01:00
Michele Caini
17dd386937
meta_any: minor changes
2021-01-11 11:53:06 +01:00
Michele Caini
3eb00382e7
meta: removed meta_base, meta_base_node is used internally when needed
2021-01-11 10:46:51 +01:00
Michele Caini
98b5f7a26a
meta: removed meta_conv, meta_conv_node is used internally when needed
2021-01-11 10:34:30 +01:00
Michele Caini
fb70ec1cb0
doc: minor changes
2021-01-11 09:46:47 +01:00
Michele Caini
47ada87ba2
now working on version 3.7.0
2021-01-09 17:15:42 +01:00
Michele Caini
7a949dd328
updated single include file
2021-01-09 16:45:27 +01:00
Michele Caini
3982217b67
Update README.md
2021-01-08 11:59:08 +01:00
Michele Caini
8cb61da9c2
*: minor changes
2021-01-08 11:43:26 +01:00
Michele Caini
375c780d3b
doc: updated links ( close #630 )
2021-01-07 09:23:09 +01:00
Michele Caini
f3b6c2ce5d
doc: updated links ( close #628 )
2021-01-06 14:41:27 +01:00
Michele Caini
a7a2c96382
registry: added ::reserve_pools
2021-01-05 09:35:41 +01:00
Michele Caini
99336ef746
doc: dark mode friendly header
2021-01-04 16:33:26 +01:00
Michele Caini
72d2adfe1c
*: updated copyright
2021-01-04 14:09:53 +01:00
Michele Caini
707574e294
meta: avoid warnings for unused variables
2021-01-04 12:25:55 +01:00
Michele Caini
18ffbd0027
registry: group -> group_if_exists ( close #626 )
2021-01-04 08:34:56 +01:00
reworks
68a0e4f39a
doc: update links.md ( #627 )
2021-01-03 16:35:16 +01:00
Michele Caini
ddb99ced34
storage: storage type check
2021-01-02 16:42:49 +01:00
Michele Caini
cb2782bc71
registry: ::remove requires at least a component now ( close #623 )
2021-01-01 23:55:13 +01:00
Alex Perry
52cade9267
doc: fixed missing prefix "L" ( #622 )
2021-01-01 23:46:24 +01:00
Michele Caini
ec600eb2f4
any: use feature tests to get around an issue with clang 6.0.0
2020-12-31 11:40:08 +01:00
Michele Caini
61e96e2dab
*: get around an issue with entt::integral_constant on (very) old compilers
2020-12-30 18:04:57 +01:00
Michele Caini
9f5433053d
poly: minor changes
2020-12-30 17:18:43 +01:00
Michele Caini
d2489a57b7
doc: updated links
2020-12-30 13:12:54 +01:00
Michele Caini
e5841cd467
poly: suppress warnings for unused variables
2020-12-29 18:15:33 +01:00
Michele Caini
820d52428f
doc: updated references
2020-12-29 16:51:38 +01:00
Michele Caini
ae6931b046
any: avoid unreachable code
2020-12-28 16:14:05 +01:00
Michele Caini
90a97b90bb
doc: minor changes
2020-12-28 16:07:36 +01:00
Michele Caini
4b38d81f00
algorithm: use plain for rather than for_each
2020-12-27 23:07:37 +01:00
Michele Caini
8c27ca9e36
*: suppress some warnings (see #620 )
2020-12-27 00:12:28 +01:00
Michele Caini
4b89fc390d
poly: renaming to avoid conflicts with libraries that redefine words randomly ( close #615 )
2020-12-26 17:00:51 +01:00
Michele Caini
29c1766714
registry: const poly storage function
2020-12-24 16:48:07 +01:00
Michele Caini
2e5a9f117c
*: cleanup
2020-12-23 19:09:31 +01:00
Michele Caini
2abcbcd30f
meta: support for pointer-like types with a custom dereference operator other than operator*
2020-12-23 19:00:05 +01:00
Michele Caini
ac8bde4ea8
doc: get around an issue with doxygen
2020-12-23 17:31:08 +01:00
Michele Caini
78a13efc6c
any: minor changes
2020-12-23 12:28:07 +01:00
Michele Caini
c99e859978
meta: container traits not required for const T
2020-12-23 12:27:46 +01:00
Michele Caini
ed448cb99f
doc: filled some todos here and there
2020-12-23 11:30:43 +01:00
Michele Caini
5d472a1f2e
test: suppress warnings
2020-12-23 09:42:40 +01:00
Michele Caini
92a938db0e
meta: reduced instantiations from meta iterators
2020-12-23 09:42:38 +01:00
Michele Caini
aa979b2046
any/meta:
...
* added alias constructor to any
* added alias constructor to meta_any
* added alias constructor to poly
* added support for const containers, const deref operator and const views to meta_any
2020-12-23 09:42:36 +01:00
Michele Caini
2daaf899d3
any: comparison functions (==, !=)
2020-12-23 09:42:33 +01:00
Michele Caini
fa4c6bccbc
meta_any: make ref to pointer-like types work in all cases
2020-12-23 09:42:31 +01:00
Michele Caini
bedea4b11a
*: added error messages to static asserts
2020-12-23 09:42:29 +01:00
Michele Caini
bc415242f2
test:
...
* support for pointer-like to const
* internal meta_range coverage
* fully tested meta_handle
* references as arguments for meta_ctor
* invoke const function on const reference for meta_func
* references as arguments for meta_func
* as_cref_t return type for meta_func
* setter and getter on const reference for meta_data
* as_cref_t getter for meta_data
* set by const and non-const reference for meta_data
* const invoke for meta_any
* const get for meta_any
* aob
2020-12-23 09:42:26 +01:00
Michele Caini
2eeb7552d6
test:
...
* more on any const and non-const reference support
* poly support for const and non-const references
* poly as_ref overloads
2020-12-23 09:42:24 +01:00
Michele Caini
3a6ecb10a7
meta_sequence_container: extended support for const iterators
2020-12-23 09:42:22 +01:00
Michele Caini
f55004d1e4
test: any::as_ref for const references
2020-12-23 09:42:19 +01:00
Michele Caini
1a3304a886
meta_any:
...
* set is necessarily non-const
* added non-const overloads for get and invoke
2020-12-23 09:42:17 +01:00
Michele Caini
58bcbe75b7
meta: minor changes
2020-12-23 09:42:14 +01:00
Michele Caini
753df6decf
poly: updated doc (const references)
2020-12-23 09:42:11 +01:00
Michele Caini
c32f947c18
meta:
...
* support for pointers to const types
* use std::reference_wrapper instead of std::ref to let pass constness
2020-12-23 09:42:09 +01:00
Michele Caini
6123e4ac8a
any/meta/poly: as_ref const and non-const overloads
2020-12-23 09:42:07 +01:00
Michele Caini
c52f16f5b8
meta:
...
* meta_any: convert -> allow_cast
* support for const references
* as_cref_t policy
2020-12-23 09:42:04 +01:00
Michele Caini
3dac65a012
*: minor changes
2020-12-23 09:42:01 +01:00
Michele Caini
bc089bc4c1
any_cast: review any_cast for better support to const references
2020-12-23 09:41:58 +01:00
Michele Caini
1075ded4dc
test: minor changes
2020-12-23 09:41:55 +01:00
Michele Caini
5578ea2f30
meta_any: added support for const references, reviewed meta_any::cast (T vs T &)
2020-12-23 09:41:52 +01:00
Michele Caini
ade3e58829
any: added support to const references
2020-12-23 09:41:49 +01:00
Michele Caini
ee2e88476c
any: instance type is now const void * instead of void *
2020-12-23 09:41:44 +01:00
Michele Caini
1726e983ad
doc: added Minecraft Earth to the list :)
2020-12-23 09:38:27 +01:00
Michele Caini
44341f0bcc
doc: cleaned up example in the README
2020-12-21 13:44:50 +01:00
Michele Caini
366da3d0fe
type_info: use remove_cv_t rather than remove_const_t
2020-12-17 10:17:31 +01:00
Michele Caini
f7fa2f605b
poly: minor changes
2020-12-17 10:17:23 +01:00
Michele Caini
6854dea47e
delegate: use type_list rather than tuple internally
2020-12-17 10:17:11 +01:00
Michele Caini
9d7e1cd99d
registry: use type_list rather than tuple internally
2020-12-17 10:17:04 +01:00
Michele Caini
330f3dff77
core: updated ident, removed dependency on <tuple>
2020-12-17 10:16:54 +01:00
Michele Caini
073c46e7bf
any: const void * return type for the fake vtable
2020-12-17 10:14:43 +01:00
Michele Caini
9950b2ea34
type_traits: added type_list_element[_t] and value_list_element[_v]
2020-12-17 10:13:02 +01:00
Michele Caini
a7c2a5c49b
doc: updated links
2020-12-17 10:12:47 +01:00
Michele Caini
c2c39cd0d0
doc: suppress a warning from doxygen
2020-12-14 11:19:04 +01:00
Michele Caini
b6e7c36b11
delegate: use constness_as_t internally
2020-12-14 11:17:24 +01:00
Michele Caini
002f92fe1e
organizer: fixed an issue for free functions with payload ( close #613 )
2020-12-14 11:17:10 +01:00
Michele Caini
d6d0cdf9aa
build system: avoid enabling tests by default when EnTT is the top dir project
2020-12-14 08:43:23 +01:00
Martin Stump
7d002df94f
build system: add MAIN_PROJECT check for test option ( #610 )
...
* Add MAIN_PROJECT check for test option
* Set MAIN_PROJECT=OFF initially
2020-12-14 08:43:18 +01:00
Michele Caini
f0d7408f94
doc: minor changes
2020-12-13 23:52:16 +01:00
Keith Rosenberg
7154678347
doc: mention aggregate initialization usage in registry::emplace, refs #592 ( #593 )
...
* update example to explain aggregate initialization usage, refs #592
* cleanup example; add details about parameterized constructors and aggregate initialization
Co-authored-by: kthrose <kthrose@netpoetica.com >
2020-12-13 23:29:01 +01:00
Fahmi Akbar Wildana
68f0743c40
doc: add @javelin/ecs in references.md ( #611 )
2020-12-13 23:26:22 +01:00
Michele Caini
3d5905c878
doc: added more details
2020-12-12 16:39:45 +01:00
Michele Caini
a344a1ca59
doc: typo
2020-12-12 15:37:11 +01:00
Michele Caini
5f539ddfb7
doc: updated documentation (core, entity, poly)
2020-12-12 15:13:46 +01:00
Michele Caini
a974235d10
core/entity/meta/poly:
...
* updated poly (static vtable, design review)
* .ref -> as_ref (any, meta_any, poly)
* poly storage
2020-12-12 15:09:29 +01:00
Michele Caini
2d17ef5c7e
meta: removed as_ref tag
2020-12-12 14:58:31 +01:00
Michele Caini
dda8c209df
type_traits: added type_identity trait (waiting for C++20)
2020-12-12 14:55:30 +01:00
Michele Caini
be88d5dfb8
type_info: minor changes
2020-12-12 14:51:41 +01:00
Michele Caini
4a537d82d3
minor changes
2020-12-08 19:38:31 +01:00
Michele Caini
6f36723097
runtime_view: public constructor ( close #597 )
2020-12-06 15:37:51 +01:00
Michele Caini
35bce924f8
handle: added support for destroy ( close #598 )
2020-12-03 12:17:49 +01:00
Michele Caini
9356e8ccb5
config: reintroduce ENTT_DISABLE_ASSERT ( close #599 )
2020-12-03 11:18:27 +01:00
Michele Caini
1ffde24ef6
*: updated TODO
2020-12-03 10:55:08 +01:00
Michele Caini
2f52bef882
poly: first implementation
2020-12-02 15:49:40 +01:00
Michele Caini
b1369582e1
type_traits: added value_list
2020-12-02 15:49:05 +01:00
Michele Caini
cf176719a8
*: minor changes here and there
2020-12-02 15:48:36 +01:00
Michele Caini
d7ed72ac06
meta_any: single vtable function to reduce instantiations and storage requirements
2020-12-02 11:10:04 +01:00
Michele Caini
83322664f1
any: doc + more tests
2020-12-02 11:10:04 +01:00
Michele Caini
5af7e96f70
meta/*: removed meta_storage, meta_any uses any internally
2020-12-02 11:10:04 +01:00
Michele Caini
c95041d7c3
core: standalone any class
2020-12-02 11:10:04 +01:00
Michele Caini
62f40dcb21
meta_storage: internal review for better memory usage
2020-12-02 11:10:04 +01:00
Michele Caini
b4f88e303a
meta_storage: branchless implementation
2020-12-02 11:10:04 +01:00
Michele Caini
cd0ec69446
meta: reduced instantiations due to meta any, use a fake vtable function
2020-12-02 11:10:04 +01:00
Michele Caini
909415d167
organizer: bug fixing/tests (thanks to @Green-Sky)
2020-12-02 11:09:52 +01:00
Michele Caini
337bc6d97a
view_pack: support for multiple views of the same type
2020-12-02 11:09:51 +01:00
Michele Caini
6c9fab7da1
type_traits: minor changes
2020-12-02 11:09:51 +01:00
Michele Caini
315b1f5913
type traits: added is_complete[_v]
2020-12-02 11:09:51 +01:00
Michele Caini
c2d1859858
emitter: truly const emitter, no lazy initialization
2020-12-02 11:09:51 +01:00
Michele Caini
37ba7316e0
doc: fixed typo
2020-12-02 11:09:51 +01:00
Michele Caini
fc1292b1d1
test: get around the best bug ever of msvc, toolset v141
2020-12-02 11:09:51 +01:00
Michele Caini
0507680cc1
view/group: try to get around an issue of gcc v7.5 + suppress some warnings here and there
2020-12-02 11:09:51 +01:00
Michele Caini
60475d3354
view/group: safe invalid views/groups ( close #470 )
2020-12-02 11:09:51 +01:00
Michele Caini
b1cd794b2c
registry: truly const registry
2020-12-02 11:09:51 +01:00
Michele Caini
cd98ecff88
view: default constructible views
2020-12-02 11:09:51 +01:00
Michele Caini
f8ec4027ee
group: default constructible groups
2020-12-02 11:09:51 +01:00
Michele Caini
d980a5cf44
build system: use asan on the CI
2020-12-02 11:05:00 +01:00
Michele Caini
761604d044
config: favor detection of clang over that of msvc, otherwise clang-cl will fail
2020-12-02 11:04:21 +01:00
Michele Caini
0f4161f616
build system: added older compiler versions to the CI
2020-12-02 10:46:05 +01:00
Michele Caini
4a668c97a3
type_info: get around a nasty bug of clang < 9 when using libstdc++
2020-12-02 10:45:41 +01:00
Michele Caini
9d687c25b3
storage: safe self-move to support standard containers ( close #601 )
2020-12-01 22:59:14 +01:00
Michele Caini
0b73082aa0
build system: minor changes to make it work again with the CI
2020-11-20 17:05:20 +01:00
Gnik
085e1ae157
build system: prefix cmake variables with ENTT_. ( #585 )
2020-11-20 16:30:22 +01:00
Tom Yaxley
7c0db3203b
meta: allow checking meta_any for nullptr ( #591 )
2020-11-20 09:43:39 +01:00
Michele Caini
bc987ed03f
*: force add the version to the single include file
2020-11-20 09:43:36 +01:00
Michele Caini
57e1bf3afd
doc: fixed typo
2020-11-20 09:43:34 +01:00
Michele Caini
90606bd410
hashed_string: literals are now enclosed within entt::literals, ENTT_HS_SUFFIX and ENTT_HWS_SUFFIX no longer exist ( close #590 )
2020-11-20 09:43:28 +01:00
Michele Caini
9744a3745c
doc: updated references
2020-11-20 09:43:21 +01:00
Zoltán Kurucz
14e051f970
Fixed const, non-const types section intro in entity.md ( #589 )
2020-11-14 16:49:11 +01:00
Michele Caini
2396c9b6da
snapshot: avoid setting the wrong version for entities during a restore ( close #588 )
2020-11-14 16:48:11 +01:00
Michele Caini
c386a9d140
runtime_view: removed ::empty, misleading information (breaking change)
2020-11-11 17:03:48 +01:00
Michele Caini
12847593c2
runtime_view: size -> size_hint, misleading name (breaking change)
2020-11-11 17:03:44 +01:00
Michele Caini
6cfa024ea2
doc: small changes
2020-11-11 13:15:46 +01:00
Michele Caini
4b43d99660
group: removed/reduced scope for ::raw, misleading information (breaking change)
2020-11-11 13:15:44 +01:00
Michele Caini
c1bfc29e7f
group: removed ::data<T>, misleading information (breaking change)
2020-11-11 13:15:42 +01:00
Michele Caini
7e91e27f14
group: removed ::empty<T...>, misleading information (breaking change)
2020-11-11 13:15:39 +01:00
Michele Caini
f8015036a9
group: removed ::size<T>, misleading information (breaking change)
2020-11-11 13:15:37 +01:00
Michele Caini
b7ef1607dc
view: public constructors and deduction guides
2020-11-09 10:31:51 +01:00
Michele Caini
b93a31dd5b
helper: removed Const template parameter, used the same model of the handle class (const/non-const entity)
2020-11-08 23:34:32 +01:00
Michele Caini
fa09964f10
storage: a better iterator
2020-11-08 23:03:27 +01:00
Michele Caini
0038728be3
storage: removed const T specialization for storage_traits
2020-11-08 01:06:06 +01:00
Michele Caini
ec56651959
doc: fixed typo in core.md
2020-11-08 00:58:48 +01:00
Michele Caini
8259371d6a
handle: minor changes
2020-11-08 00:46:34 +01:00
Michele Caini
d8623991c0
constness_as: updated doc
2020-11-08 00:46:03 +01:00
Michele Caini
0c205431b0
doc: updated documentation for the core classes
2020-11-08 00:37:06 +01:00
Michele Caini
58dbaf4a51
type_traits: added constness_as[_t]
2020-11-08 00:36:41 +01:00
Michele Caini
3b50ebae83
delegate: updated doc
2020-11-07 23:55:53 +01:00
Michele Caini
8b895eff7a
*: minor changes to get around some nasty bugs of compilers
2020-11-06 17:29:48 +01:00
Michele Caini
70af0365bf
entity:*: removed broken references to the old actor class
2020-11-06 15:00:01 +01:00
Michele Caini
bb3e3bfa1f
meta: containers traits are no longer internal details only
2020-11-06 14:58:22 +01:00
Michele Caini
54aa98a752
entity/*: remove the requirement for get_as_tuple from storage classes
2020-11-06 14:49:39 +01:00
Michele Caini
3bff0aa1ea
sigh_storage_mixin: don't use get_as_tuple anymore
2020-11-06 12:37:10 +01:00
Michele Caini
b012231635
registry: don't use get_as_tuple and assume that users know what they are doing
2020-11-06 11:32:39 +01:00
Michele Caini
6c6f05fc91
snapshot: cleanup
2020-11-06 11:21:46 +01:00
Michele Caini
3338d5e105
storage_traits: small review
2020-11-06 11:20:10 +01:00
Michele Caini
390ec2f0c1
entity/*: merged storage.hpp and pool.hpp
2020-11-05 18:53:22 +01:00
Michele Caini
4ebdf7a6e8
pool: pool_traits/pool_t -> storage_traits/storage_t
2020-11-05 18:48:52 +01:00
Michele Caini
6f1366dbb5
entity/*: use pool introspection rather than is_empty for filtering
2020-11-05 17:23:39 +01:00
Michele Caini
503791d3c0
view: removed chunked iteration, no real benefits so far and there is no way to make it consistent across all views in future
2020-11-05 15:10:23 +01:00
Michele Caini
902dc49de2
storage: added .get_as_tuple(entity)
2020-11-05 14:29:45 +01:00
Michele Caini
2d299f31e5
storage: removed the requirement to expose try_get
2020-11-05 12:55:34 +01:00
Michele Caini
df298587b8
type_info: suppress warnings for uninitialized members
2020-11-05 12:46:24 +01:00
Michele Caini
b9c33008d8
sparse_set: faster remove/range-remove
2020-11-05 12:21:42 +01:00
Michele Caini
ca97f1c4a3
test: oops, re-enable all bench
2020-11-05 11:10:33 +01:00
Michele Caini
effed56653
sparse_set: a better swap
2020-11-05 10:00:00 +01:00
Michele Caini
7b501aa89b
sparse_set/storage: virtual sort
2020-11-04 23:52:48 +01:00
Michele Caini
6c0d0d465b
storage: minor changes
2020-11-04 17:19:40 +01:00
Michele Caini
a52bd20912
registry: minor changes
2020-11-04 17:05:22 +01:00
Michele Caini
aabcc445ee
*: minor changes
2020-11-04 16:59:35 +01:00
Michele Caini
d491e504cc
type_info: small review
2020-11-04 10:49:30 +01:00
Michele Caini
3142e430e7
hashed_string: constexpr ::value suitable for uses with string views
2020-11-04 10:48:40 +01:00
Michele Caini
b784d80a50
pool: minor changes
2020-11-04 00:08:04 +01:00
Michele Caini
7344654308
doc: cleanup
2020-11-03 23:24:59 +01:00
Michele Caini
e01b35c39c
config: update default page size
2020-11-03 00:45:46 +01:00
Michele Caini
b8b2c4ee73
handle: get around an issue of VS, toolkit v141
2020-11-03 00:45:24 +01:00
Michele Caini
8cd1ce97f7
handle: it's now possible to convert a handle to a handle view and a handle view to a more restricted one (see #583 )
2020-11-03 00:36:11 +01:00
Michele Caini
05b514b743
Revert "entity: minor changes"
...
This reverts commit af69a0a1fd .
2020-11-02 14:05:07 +01:00
Michele Caini
22596e0f5b
entity: added handle_view ( close #583 )
2020-11-02 13:05:38 +01:00
Michele Caini
e7031794df
registry: suppress some warnings ( close #582 )
2020-11-01 21:49:09 +01:00
Michele Caini
af69a0a1fd
entity: minor changes
2020-11-01 00:29:04 +01:00
Michele Caini
52fa690764
view: added use<T> to set explicitly the type that should drive all iterations in a multi type view
2020-10-29 00:03:26 +01:00
Michele Caini
4ad411e320
traits: is_eto_eligible[_v] -> is_empty[_v], internal version
2020-10-28 22:58:26 +01:00
Michele Caini
09da190e93
entity/*: rollback erase -> remove (no longer a breaking change :)
2020-10-28 16:24:44 +01:00
Michele Caini
797dd56bb7
test: removed temporary multi storage example, added a note to the todo list for a refined example
2020-10-28 16:16:52 +01:00
Michele Caini
5e1d77fcd5
doc: updated documentation for registry remove/erase
2020-10-28 13:03:15 +01:00
Michele Caini
2820f2658b
entity/: differentiate between remove and erase to avoid name clashing on the custom path (breaking changes)
2020-10-28 12:21:35 +01:00
Michele Caini
f3fc32660b
*: updated TODO
2020-10-28 08:43:43 +01:00
Michele Caini
2d4b00ec24
registry: added ::destroyed, made ::assign much faster (breaking changes, close #522 )
2020-10-27 23:01:28 +01:00
Michele Caini
86808f5035
doc: minor changes
2020-10-27 09:06:18 +01:00
Michele Caini
82946e2372
pool: storage_adapter -> storage_adapter_mixin
2020-10-27 00:09:32 +01:00
Michele Caini
22d117a397
doc: fixed typo ( close #578 )
2020-10-26 22:35:49 +01:00
Michele Caini
662cfc9fdc
*: cleanup
2020-10-26 15:41:54 +01:00
Michele Caini
a3e73909cf
group/view/view_pack: review
2020-10-26 15:31:00 +01:00
Michele Caini
95bafc8ced
*: try to get around an issue of gcc v7.5
2020-10-26 15:29:58 +01:00
Michele Caini
05f1906f77
*: get around an issue with clang
2020-10-26 12:43:55 +01:00
Michele Caini
dbbb131424
view_pack: added more functionalities
2020-10-26 12:38:45 +01:00
Michele Caini
fc7ec35242
doc/test: minor changes
2020-10-26 12:29:45 +01:00
Michele Caini
7ac10472dc
view/group: small review
2020-10-26 10:50:17 +01:00
Michele Caini
d255889c5c
group: added reverse iterators, rbegin and rend to iterable groups
2020-10-26 08:55:17 +01:00
Michele Caini
7662da22fc
view: added reverse iterators, rbegin and rend to iterable views
2020-10-25 23:19:56 +01:00
Michele Caini
64cc200df0
test: code coverage
2020-10-25 15:13:13 +01:00
Michele Caini
63c983683c
meta: avoid shadow warnings
2020-10-25 15:13:13 +01:00
Michele Caini
92f79c99f7
meta: review overloaded meta functions
2020-10-25 15:13:13 +01:00
Innokentiy Alaytsev
24f937fe4f
[meta] Meta-function overload support ( #538 )
...
Now meta-functions can be overloaded. When a function with a duplicate
identifier is registered, it's added into the meta-type function list after the
first meta-function with the same id. During the invocation, the meta-functions
with the requested id are iterated, and the best matching one is chosen. The
overload that doesn't require any type conversions or the minimal number of
those is considered the best match. If none of the overloads matches the given
arguments or if there are multiple matching overloads requiring the same number
of type casts then the invocation will fail the same way it happens in C++.
Signed-off-by: Innokentiy Alaytsev <alaitsev@gmail.com >
2020-10-25 15:13:13 +01:00
Michele Caini
47bb682890
doc: updated links
2020-10-23 21:16:38 +02:00
codylico
9ab674ef9a
doc: add a note on registry::try_get ( #576 )
2020-10-23 23:12:35 +02:00
Michele Caini
83eb0de916
doc: updated links
2020-10-22 09:11:52 +02:00
Koward
6359a12dbb
doc: Unreal Engine 4 usage instructions ( #574 )
2020-10-22 09:09:00 +02:00
Michele Caini
eb8e96f413
example: multi instance storage
2020-10-21 08:40:03 +02:00
Michele Caini
138bd96167
doc: updated links
2020-10-21 08:34:22 +02:00
Michele Caini
0d5ea4711d
pool/storage: split storage_adapter from basic_storage
2020-10-20 09:45:11 +02:00
Michele Caini
fa4212f07b
storage_adapter: extended ::remove
2020-10-20 08:54:58 +02:00
Michele Caini
c7635a7e3d
*: updated todo list
2020-10-20 08:23:21 +02:00
Michele Caini
3923c4cfd2
test: more tests, suppress warnings
2020-10-19 22:46:37 +02:00
Michele Caini
6ad884080c
meta_func/meta_ctor: support for registering external member functions
2020-10-19 22:38:08 +02:00
Michele Caini
c578a43611
doc: updated doxy file
2020-10-19 12:24:35 +02:00
Michele Caini
aebfa7161f
registry: extended ::remove
2020-10-19 12:01:04 +02:00
Michele Caini
682bc502e2
view_pack: minor changes
2020-10-19 09:08:49 +02:00
Michele Caini
cf018ff74c
entity: updated operator==/operator!= ( close #573 )
2020-10-18 23:37:18 +02:00
Michele Caini
5a9cb251ad
doc: updated links
2020-10-18 23:24:48 +02:00
Jan Niklas Hasse
bbbf5a5edf
Allow compilation for Windows with GNU-like compilers ( #566 )
...
Besides MSVC (and compatible compilers like clang-cl) there's also GCC
(MinGW) and GNU-like Clang on Windows. Therefore setting command line
flags in CMake should check for MSVC instead of $<PLATFORM_ID:Windows>.
2020-10-17 18:26:50 +02:00
Michele Caini
7df0449100
view_pack: suppress a shadow warning caused by an unused variable
2020-10-17 18:22:26 +02:00
Michele Caini
820add87ea
test: gtest is now working as expected ( close #571 )
2020-10-17 18:19:49 +02:00
Michele Caini
9a574aa00c
doc: more on view_pack
2020-10-17 18:11:09 +02:00
Michele Caini
10da82a331
view_pack: ::each allows to remove the entity from the callback
2020-10-17 18:08:43 +02:00
Michele Caini
26c816e78c
type_traits: is_applicable[_v] and is_applicable_r[_v] for tuples
2020-10-17 17:51:58 +02:00
Michele Caini
808e238384
view/group: full callback is tested first now (breaking changes)
2020-10-17 17:19:38 +02:00
Michele Caini
ff068e032b
test: code coverage
2020-10-17 00:30:15 +02:00
Michele Caini
5072e96277
view_pack: get around an issue of VS2017
2020-10-17 00:19:27 +02:00
Michele Caini
c55c1c0615
*: view_pack class and tests
2020-10-16 23:59:44 +02:00
Michele Caini
9983faef70
view/group: consistent ::get without template arguments (breaking changes)
2020-10-16 16:15:04 +02:00
Michele Caini
70a264e939
view: updated noexcept-ness for iterators
2020-10-16 09:55:09 +02:00
Michele Caini
9ef6008c67
doc: updated links
2020-10-16 08:29:09 +02:00
Michele Caini
5a3e816544
view/groups: extended get (breaking changes)
2020-10-15 17:02:50 +02:00
Michele Caini
3e385fb884
view/group: minor changes
2020-10-15 16:41:06 +02:00
Michele Caini
fa5cce7477
pool/registry: rename to avoid name clash with virtual functions
2020-10-15 16:13:41 +02:00
Michele Caini
b2de76e8a0
test: temporary workaround for an upstream regression in googletest (see #571 )
2020-10-15 15:27:40 +02:00
Michele Caini
edb363b236
sparse_set: avoid comparisons between different types
2020-10-15 15:23:56 +02:00
Michele Caini
12dcfdb5e1
view: candidate selection happens on construction only
2020-10-15 15:23:32 +02:00
Michele Caini
86c1dd7f32
test: suppress some warnings here and there
2020-10-15 15:11:15 +02:00
Michele Caini
d8ff4285da
registry: suppress warnings for uninitialized variable
2020-10-15 15:11:05 +02:00
Michele Caini
7effde0478
view: minor changes
2020-10-15 12:52:16 +02:00
Michele Caini
559ee931fb
view/group: proxy() -> each() (breaking changes - I know, I shouldn't have changed it before)
2020-10-15 10:06:00 +02:00
Michele Caini
cb27a7fe3e
pool: storage adapter and signal mixin are now independent from each other
2020-10-15 09:03:14 +02:00
Michele Caini
c33a8dc2c8
doc: typo
2020-10-14 23:54:58 +02:00
Michele Caini
11fcf88b88
*: some final here and there
2020-10-14 23:54:49 +02:00
Michele Caini
4f0baa80d7
*: object_type -> value_type (breaking changes)
2020-10-14 19:50:00 +02:00
Michele Caini
ddea97bc88
storage: emplace returns the newly created object
2020-10-14 19:44:17 +02:00
Michele Caini
102c9891a0
test: code coverage for sparse set and storage range-erase
2020-10-14 19:37:28 +02:00
Michele Caini
fb4784b695
test: minor changes
2020-10-14 19:18:02 +02:00
Michele Caini
9a0650c703
pool/storage/sparse_set: pushed range-erase at the bottom of the hierarchy
2020-10-14 19:08:23 +02:00
Michele Caini
a62b93acec
storage: updated except specification
2020-10-14 17:06:07 +02:00
Michele Caini
2d11bdc736
doc: minor changes
2020-10-14 16:47:39 +02:00
Michele Caini
7d263d36a0
storage: split basic_storage and storage
2020-10-14 16:44:11 +02:00
Michele Caini
4965fd5888
sparse_set: split basic_sparse_set and sparse_set
2020-10-14 16:35:16 +02:00
Michele Caini
36db8b6f59
group: use operator+ for type lists
2020-10-14 16:08:58 +02:00
Michele Caini
9e69f62a39
doc: updated doc for multi component views
2020-10-14 16:08:09 +02:00
Michele Caini
f307021cf1
view: removed multi component view ::raw and ::data (breaking changes)
2020-10-14 16:04:57 +02:00
Michele Caini
0709c402f8
test: reduced the amount of madness by a few degrees :)
2020-10-14 15:54:20 +02:00
Michele Caini
df5deb8b88
view: removed multi component view ::size (breaking changes)
2020-10-14 15:54:08 +02:00
Michele Caini
111dd40097
view: removed multi component view ::empty (breaking changes)
2020-10-14 15:54:00 +02:00
Michele Caini
c83e7d7995
view: removed multi component view ::size<T> (breaking changes)
2020-10-14 15:53:40 +02:00
Michele Caini
718f964de7
type traits: make type_list_cat work with vs2017
2020-10-14 15:37:19 +02:00
Michele Caini
ce0db9b968
type_list: removed type_list_size[_v] in favor of type_list::size (breaking changes) and added operator+ for type lists
2020-10-14 15:36:52 +02:00
Michele Caini
3f0d602353
doc: typo
2020-10-14 15:35:55 +02:00
Michele Caini
5364d778b0
doc: updated links
2020-10-14 15:30:18 +02:00
Michele Caini
0ddec227fa
test: minor changes
2020-10-13 14:29:36 +02:00
Michele Caini
a5ea35ee56
meta: use type info objects rather than plain hashes (breaking changes)
2020-10-13 13:48:52 +02:00
Michele Caini
a3e03fb889
type_info: a better operator==
2020-10-13 13:48:18 +02:00
Michele Caini
b7711f0182
doc: updated documentation for meta (clost #569 )
2020-10-13 12:52:38 +02:00
Michele Caini
aae199ff1c
test: updated plugin examples
2020-10-13 12:41:07 +02:00
Michele Caini
8d0611a188
meta: meta_handle accepts only lvalue references as it ought to be
2020-10-08 14:08:44 +02:00
Michele Caini
958b245c3d
doc: typos
2020-10-07 16:05:16 +02:00
Michele Caini
fbb77092eb
doc: updated links (engine.... vrooooommm)
2020-10-06 09:32:11 +02:00
Michele Caini
ebc8328712
meta: added size_of to meta type ( close #565 )
2020-10-06 09:08:50 +02:00
Michele Caini
7967c6dfc8
traits: added size_of[_v]
2020-10-06 09:08:11 +02:00
Michele Caini
fca08a5162
view/group: minor changes
2020-10-05 16:12:27 +02:00
Michele Caini
49f65d6762
registry: internal rework ( close #564 among the other things)
2020-10-05 12:52:55 +02:00
Michele Caini
7684e1bad5
doc: minor changes
2020-10-05 11:21:21 +02:00
Michele Caini
46e974d201
registry/pool: removed internal <pool>::patch overload
2020-10-05 08:03:36 +02:00
Michele Caini
ab55d0abc8
doc: updated links
2020-10-03 23:44:00 +02:00
Michele Caini
ed668d5144
view: updated value_type for view_proxy
2020-10-02 10:42:22 +02:00
Michele Caini
dec0f28a2b
organizer: added new type to entt/entity
2020-10-02 10:41:56 +02:00
Michele Caini
de7d79f1f4
doc: added a reference to ENTT_USE_ATOMIC where it matters ( close #562 )
2020-10-02 10:10:55 +02:00
Michele Caini
d204d580dd
type info: minor changes
2020-09-29 14:06:09 +02:00
Michele Caini
e4e38edf24
type_info: updated documentation
2020-09-29 08:52:45 +02:00
Michele Caini
3721a1f90b
handle: fixed an issue with the comparison operators + minor changes
2020-09-29 08:47:14 +02:00
Vennor
897850c3eb
Truly invalid entt::handle ( #551 )
2020-09-28 22:45:40 +02:00
Michele Caini
a22efb25c6
sparse_set/storage: avoid virtual erase
2020-09-25 17:09:07 +02:00
Michele Caini
f7e80879ae
type_info: comparison operators
2020-09-25 16:43:05 +02:00
Michele Caini
bf902e6398
doc: updated links
2020-09-24 17:08:27 +02:00
Michele Caini
aed817f724
doc: updated links (entt topic on GH)
2020-09-24 09:00:01 +02:00
Michele Caini
5ac76d29fc
doc: minor changes
2020-09-24 08:44:41 +02:00
Michele Caini
81311ddd03
registry: visit/ctx return type info objects and not only the hash values (breaking changes)
2020-09-24 08:25:49 +02:00
Michele Caini
3c52070243
type_info/type_id: minor changes
2020-09-24 08:25:49 +02:00
Michele Caini
9070f50658
meta_range: minor changes
2020-09-24 08:25:49 +02:00
Michele Caini
ecc3c56cb1
doc: removed all references to old type_info class template
2020-09-24 08:25:49 +02:00
Michele Caini
a86191f6e0
type traits: added type_list_contains[_v]
2020-09-24 08:25:49 +02:00
Michele Caini
aa5fdac522
type_info: it's now copyable and moveable as it ought be
2020-09-24 08:25:49 +02:00
Michele Caini
3cd32c74a1
type info: updated documentation
2020-09-24 08:25:49 +02:00
Michele Caini
2e2f6a03d9
type info: untyped type_info class and type_id functions
2020-09-24 08:25:49 +02:00
Michele Caini
25a073f20b
type info: revised to support opaque type info objects (contains breaking changes)
2020-09-24 08:25:49 +02:00
Michele Caini
0fb244e381
type info: removed has_type_index[_v] utility
2020-09-24 08:25:49 +02:00
Michele Caini
631ba70b72
signal: removed unused functions
2020-09-24 08:25:49 +02:00
Michele Caini
0a1d6b2a6f
doc: removed reference to ENTT_STANDALONE
2020-09-24 08:25:48 +02:00
Michele Caini
94bfa5ea25
test: get around an issue of toolset v141
2020-09-24 08:25:48 +02:00
Michele Caini
118c14bf1e
lib: standalone mode is now the default
2020-09-24 08:25:48 +02:00
Michele Caini
cf395f707a
doc: minor changes
2020-09-24 00:13:58 +02:00
Michele Caini
6e040fa87c
doc: more on hashed strings ( close #559 )
2020-09-24 00:09:45 +02:00
Michele Caini
c0a7f84382
doc: correct definition for ranges ( close #560 )
2020-09-23 23:55:48 +02:00
Michele Caini
826d7b7c26
registry: reintroduce old function type for signals, the registry is now provided to listeners
2020-09-23 23:02:49 +02:00
Michele Caini
91e63d0f19
pool: doc related changes
2020-09-22 08:07:29 +02:00
Michele Caini
2d69e5f6ff
doc: updated documentation about signals from a registry
2020-09-22 08:07:14 +02:00
Michele Caini
23f0fcd024
registry: suppress some warnings
2020-09-22 08:06:56 +02:00
Michele Caini
3fcd82abad
test: suppress a warning
2020-09-22 08:06:45 +02:00
Michele Caini
d766c39791
*: minor changes
2020-09-22 08:06:41 +02:00
Michele Caini
a76c3b3baa
updated TODO file
2020-09-22 08:06:35 +02:00
Michele Caini
9290b4eecc
view: size -> size_hint for multi component views ( close #553 )
2020-09-22 08:06:30 +02:00
Michele Caini
eccfec4b4f
registry: use pool_t instead of default_pool
2020-09-22 08:06:24 +02:00
Michele Caini
80aadd3874
registry/pool: split the default pool from the registry class, allow for custom pools
2020-09-22 08:06:16 +02:00
Michele Caini
9da15826db
registry: component signals return only the entity
2020-09-22 08:06:04 +02:00
Michele Caini
8c403f8795
bench: added a couple of tests for recycling entities
2020-09-22 08:05:56 +02:00
Michele Caini
b010824dbd
registry: faster ::create
2020-09-22 08:05:51 +02:00
Michele Caini
3340f8864f
entt/entity: removed deprecated stuff
2020-09-22 08:05:23 +02:00
Michele Caini
9fb3cdfc4c
now working on version 2.6
2020-09-22 08:05:04 +02:00
Michele Caini
3a3a2c2702
doc: updated links and references to similar projects
2020-09-22 08:03:55 +02:00
Michele Caini
be38919758
doc: removed references to entt::component ( close #557 )
2020-09-22 08:03:44 +02:00
Michele Caini
a816ccf6ee
meta_any: support for pointer-like types to non-const, non-copyable types ( close #556 )
2020-09-22 08:03:39 +02:00
Michele Caini
5e85068e35
meta: @Innokentiy-Alaytsev was right and I was not :)
2020-09-22 08:03:33 +02:00
Michele Caini
77865ab4a1
meta: update doc + minor stylistic changes
2020-09-22 08:03:28 +02:00
Innokentiy Alaytsev
5fc6ee27f6
Fixed trailing spaces
...
Signed-off-by: Innokentiy Alaytsev <alaitsev@gmail.com >
2020-09-22 08:03:21 +02:00
Innokentiy Alaytsev
5995adf8b6
Implemented shortcuts for meta-functions and meta-data
...
The shortcut for meta-functions allows invoking them directly from an instance
of meta_type or meta_any. If the meta-function was not found or the arguments
don't match its signature an invalid meta_any object is returned.
The shortcut for meta-data allows getting and setting meta-data directly from an
instance of meta_type of meta_any. If the meta_data was not found or
getting/setting it failed and invalid meta_any object is returned.
Signed-off-by: Innokentiy Alaytsev <alaitsev@gmail.com >
2020-09-22 08:03:12 +02:00
Michele Caini
c9f47ed89a
sparse_set: minor changes
2020-09-22 08:02:23 +02:00
Michele Caini
d6325ffcfa
now working on v3.5.2
2020-09-22 08:02:04 +02:00
Michele Caini
9d72472114
entity: updated difference type for 32b identifiers
2020-09-03 16:22:05 +02:00
Michele Caini
102350a125
entity: removed support for 16b identifiers
2020-09-03 16:22:00 +02:00
Michele Caini
1c650cb136
observer: fixed an issue with exclusion lists ( close #549 )
2020-09-03 16:21:52 +02:00
Michele Caini
625e74653d
test: get around comdat folding
2020-09-03 16:17:11 +02:00
Michele Caini
5bad762293
now working on version 3.5.1
2020-09-03 14:34:34 +02:00
Michele Caini
fc1ff11352
updated single include file
2020-08-31 22:47:23 +02:00
Michele Caini
0595ba384e
*: suppress some warnings
2020-08-29 21:59:44 +02:00
Michele Caini
f80f5e9955
doc: updated links
2020-08-29 16:14:11 +02:00
Michele Caini
f689014c3e
emitter: the event isn't const by default anymore ( close #547 )
2020-08-21 18:09:05 +02:00
Michele Caini
9b24655bbf
dispatcher: the event isn't const by default anymore (see #547 )
2020-08-21 18:02:41 +02:00
Michele Caini
c3201070a1
doc: updated FAQs ( close #543 )
2020-08-21 16:16:40 +02:00
Michele Caini
8a146209e4
sigh: updated documentation
2020-08-21 15:59:56 +02:00
Michele Caini
2b719726cd
view: suppress warnings
2020-08-21 12:24:34 +02:00
Michele Caini
27209e4836
doc: updated links
2020-08-19 16:39:24 +02:00
Michele Caini
0497762f94
doc: typo
2020-08-19 10:41:01 +02:00
Michele Caini
b38f1e744b
doc: updated README - EnTT runs everywhere
2020-08-19 10:15:16 +02:00
Michele Caini
481c49e18e
doc: added a new link to similar projects
2020-08-19 10:06:38 +02:00
Michele Caini
69cf9115b5
doc: added a new link to the list of showcases ( close #546 )
2020-08-19 10:02:31 +02:00
Michele Caini
3eedd89efe
config/core/entity: added is_eto_eligible[_v] and used it where it makes sense
2020-08-17 18:21:21 +02:00
Michele Caini
ad262ea624
entity/*: suppress some warnings here and there
2020-08-16 12:10:55 +02:00
Michele Caini
08cd8c95f7
updated todo list
2020-08-16 11:25:28 +02:00
Michele Caini
c86790c6b8
test: minor changes
2020-08-16 11:24:57 +02:00
Michele Caini
e466d9252f
view: rebind the view only when possible
2020-08-14 12:12:57 +02:00
Michele Caini
02f8a0baa6
view: stable candidate computed on construction
2020-08-14 11:58:10 +02:00
Michele Caini
9f7bbe3f9d
doc: updated links
2020-08-14 11:02:37 +02:00
Michele Caini
e81e0e97e0
meta: workaround for an issue of VS2019 (see #314 )
2020-08-12 09:05:20 +02:00
Michele Caini
52554c3972
test: suppress a bunch of warnings
2020-08-11 16:53:03 +02:00
Michele Caini
48b6c4876a
runtime view: suppress warnings for shadow variables
2020-08-11 16:52:24 +02:00
Michele Caini
99e89c2540
registry: suppress warnings for shadow variables
2020-08-11 16:52:06 +02:00
Michele Caini
0e8453d4ed
entt_traits: updated difference types
2020-08-11 15:27:41 +02:00
Michele Caini
c750b746b3
meta: explicit return type to get around an issue with VS2017
2020-08-10 18:16:26 +02:00
Michele Caini
0ac07e2e83
meta: reset is now part of meta_type
2020-08-10 18:15:11 +02:00
Michele Caini
ead6cb9ca3
test: suppress warnings
2020-08-10 10:04:14 +02:00
Michele Caini
c401f9211d
test: minor changes
2020-08-10 10:04:14 +02:00
Michele Caini
abb72c0a9a
view: rbegin/rend
2020-08-10 10:04:13 +02:00
Michele Caini
bc9172bd43
doc: updated links
2020-08-10 10:04:13 +02:00
Michele Caini
b205a5e49d
group: rbegin/rend
2020-08-10 10:04:13 +02:00
Michele Caini
fccf9642d8
view: prepare multi component views for reverse iterators
2020-08-10 10:04:13 +02:00
Michele Caini
96dd68f52b
doc: typo
2020-08-10 10:04:12 +02:00
Michele Caini
7f923bb389
doc: added more details about observers ( close #536 )
2020-08-10 10:04:12 +02:00
Michele Caini
7ab7ebb3f6
doc: added a note about in-place sorting
2020-08-10 10:04:12 +02:00
Michele Caini
4eacb58a3e
doc: minor changes
2020-08-10 10:04:12 +02:00
Michele Caini
24248832d1
group/view: explicit proxy object
2020-08-10 10:04:11 +02:00
Michele Caini
a53f0900bd
view/group: make range return types explicit in preparation for faster/unsafe reverse iterators
2020-08-10 10:04:11 +02:00
Michele Caini
6a1a5a0f74
sparse set: minor changes
2020-08-10 10:04:10 +02:00
Michele Caini
65aa4e145e
registry: minor changes
2020-08-10 10:04:10 +02:00
Michele Caini
cf903aa082
storage: added reverse iterators
2020-08-10 10:04:09 +02:00
Michele Caini
75dd86e8ef
sparse set: added reverse iterators
2020-08-10 10:04:09 +02:00
Michele Caini
70a3d62c14
doc: udpated links
2020-08-10 10:04:08 +02:00
Michele Caini
291e3cd229
view: minor changes
2020-08-10 10:04:08 +02:00
Michele Caini
9b28c1fdd2
runtime view: suppress warning ( close #540 )
2020-08-10 10:01:09 +02:00
Michele Caini
d1d73da039
doc: fixed typo ( close #534 )
2020-07-28 21:51:59 +02:00
Michele Caini
59f041b9a9
view: minor changes
2020-07-27 10:50:11 +02:00
Michele Caini
fbf3b9ce4d
doc: help doxygen not to go crazy (thanks to @erez-o for pointing this out)
2020-07-27 00:07:11 +02:00
Michele Caini
9be2e1c4c9
sigh: don't use std::forward with fake forwarding references
2020-07-26 01:09:58 +02:00
Michele Caini
a06c9f890c
meta: cleanup
2020-07-25 23:35:52 +02:00
cugone
fc8e8874a9
*: fix C4003 NOMINMAX issue ( #531 )
2020-07-25 23:09:26 +02:00
Michele Caini
09e0f68616
view: suppress shadow warnings
2020-07-25 23:02:52 +02:00
Michele Caini
0e7e36f80d
view: chunked iteration for multi-component views ( close #462 )
2020-07-25 18:47:20 +02:00
Michele Caini
8484dcd332
doc: updated links
2020-07-24 11:00:33 +02:00
Michele Caini
8a46296b48
meta: simplified iterators for meta containers
2020-07-24 11:00:33 +02:00
Michele Caini
b748a910b2
meta: fix an issue with meta_associative_container::meta_iterator::value
2020-07-24 11:00:33 +02:00
Michele Caini
932603eea3
*: minor changes
2020-07-24 11:00:33 +02:00
Michele Caini
5056972f79
meta: ctors and funcs also accept a meta_any * + size pair ( close #528 )
2020-07-24 11:00:33 +02:00
Michele Caini
d99ccca291
meta: minor changes
2020-07-24 11:00:33 +02:00
Sackhorn
1d9b26d9ec
doc: backslash typo in FAQ ( #532 )
2020-07-24 11:00:12 +02:00
Michele Caini
3a64707c6e
doc: updated links
2020-07-21 15:43:58 +02:00
Michele Caini
6f4071bd75
view: check filter array correctly ( close #527 )
2020-07-21 13:12:51 +02:00
Michele Caini
1354fdc613
*: suppress some warnings here and there ( close #525 )
2020-07-20 00:20:55 +02:00
Michele Caini
991244655a
dispatcher: opaque disconnect ( close #523 )
2020-07-19 12:18:15 +02:00
Michele Caini
0d07d935bf
*: removed redundant namespace names
2020-07-19 12:13:51 +02:00
Michele Caini
bd56b642a7
doc: updated links
2020-07-19 11:03:06 +02:00
Sackhorn
d989f0edf2
Update entity.md ( #524 )
...
Small typo fix in wiki
2020-07-19 10:20:52 +02:00
Michele Caini
f561cf9c8f
build system: suppress wrong warning
2020-07-16 18:03:16 +02:00
Michele Caini
13502e5467
entity: explicit casts to suppress misleading warnings
2020-07-16 17:48:29 +02:00
Michele Caini
045c2a6f05
delegate: removed redundant calls to delegate constructor
2020-07-15 18:13:44 +02:00
Michele Caini
725e9feb68
entity: removed unused constructors from range iterators (being default constructible isn't a requirement for input iterators)
2020-07-15 17:33:21 +02:00
Michele Caini
6e45126f53
test: added explicit test for ENTT_NO_ETO
2020-07-15 16:09:41 +02:00
Michele Caini
6ebc39e038
entity: added sfinae-friendly utility for component-to-pool conversions
2020-07-14 18:25:01 +02:00
Michele Caini
8b0a7c302b
storage: workaround for an issue of vs2017
2020-07-14 17:46:08 +02:00
Michele Caini
0c3e50da2f
build system: try to reproduce an issue of vs2019, toolset v141
2020-07-14 15:11:39 +02:00
Michele Caini
d220cf4acc
platform: minor changes
2020-07-13 23:56:01 +02:00
Innokentiy Alaytsev
eb1ce7e927
meta: Deduplicate the STL-compatible container traits ( #518 )
2020-07-13 23:55:19 +02:00
Michele Caini
46f6f41a6b
entity: remove asserts from to_entity, it's potentially UB as from the standard
2020-07-12 23:53:20 +02:00
Michele Caini
2fa59fc43c
entity: added debug asserts to to_entity
2020-07-12 16:45:00 +02:00
Michele Caini
b7763b3887
test: minor changes
2020-07-11 17:59:23 +02:00
Michele Caini
8c002b67d5
runtime view: support for excluded components ( close #512 )
2020-07-11 17:26:20 +02:00
Michele Caini
7692c4a377
test: ENTT_ID_TYPE -> entt::id_type
2020-07-11 15:56:30 +02:00
Michele Caini
1f0acec06c
doc: minor changes
2020-07-11 15:07:23 +02:00
Michele Caini
1b5295a8fe
helper: added to_entity function that returns the entity associated with a given component
2020-07-11 12:32:58 +02:00
Michele Caini
0b699a3f20
view: fixed the constrained range-each
2020-07-10 17:54:07 +02:00
Michele Caini
409d7a499d
test: code coverage
2020-07-10 17:45:17 +02:00
Michele Caini
ba7428f3d6
group: small changes to get around an issue of g++ v7.5
2020-07-10 17:35:57 +02:00
Michele Caini
c12c32d26e
view/group: updated range iterators (thanks to @Lawrencemm for pointing this out)
2020-07-10 15:37:43 +02:00
Michele Caini
0ca5ea0150
test: minor changes
2020-07-10 15:09:40 +02:00
Michele Caini
11ca7c7b3e
group: get around an issue with g++
2020-07-09 19:20:09 +02:00
Michele Caini
8f6c47527d
doc: added a note about ranges for views and groups ( close #502 )
2020-07-09 18:40:41 +02:00
Michele Caini
dd28882b27
group: optimized ranges
2020-07-09 18:18:07 +02:00
Michele Caini
1b93a449b2
view: improved view ranges
2020-07-09 18:09:38 +02:00
Michele Caini
7cf2ec09b7
group: added iterable object to visit entities and components at once
2020-07-09 16:58:26 +02:00
Michele Caini
4d1952a406
view: added iterable object to visit entities and components at once
2020-07-09 16:58:07 +02:00
Michele Caini
b8d25e2327
doc: typos
2020-07-08 18:07:26 +02:00
Michele Caini
89d7c7e572
handle: better API
2020-07-06 09:39:23 +02:00
Michele Caini
75b19230eb
entity: make null_t public
2020-07-06 09:24:56 +02:00
Indiana Kernick
7889ca1ca7
Non-owning entt::handle ( #513 )
2020-07-04 18:00:44 +02:00
Michele Caini
cec1b932bd
example: custom identifier (and some fixes for the purpose)
2020-07-02 16:56:49 +02:00
Michele Caini
2c7455ea2b
benchmark: use entt::id_type instead of ENTT_ID_TYPE
2020-07-02 15:07:20 +02:00
Michele Caini
edc9cc9278
type_traits: removed ENTT_OPAQUE_TYPE
2020-07-01 18:41:20 +02:00
Michele Caini
51eafaeb4f
doc: mention custom types for entity identifiers
2020-07-01 18:41:00 +02:00
Michele Caini
556373d331
registry: better support for integral entity identifiers (even if not recommended)
2020-07-01 18:39:34 +02:00
Michele Caini
804cfb7482
test: use entt::to_integral instead of std::underlying_type_t for entity identifiers
2020-07-01 17:17:33 +02:00
Michele Caini
143eae0729
test: avoid using underlying_type_t with entt_traits
2020-07-01 17:10:42 +02:00
Michele Caini
29d4846de7
entity: bind to_integral to entt_traits instead of a specific enum class
2020-07-01 16:28:56 +02:00
Michele Caini
306178f371
doc: minor changes
2020-07-01 16:06:08 +02:00
Michele Caini
371b541fbc
entity: make entt_traits sfinae-friendly and avoid using std::underlying_type_t to define the entity traits types
2020-07-01 15:32:04 +02:00
Oortonaut
902658fd21
Properly case entity version for 64-bit support. ( #516 )
2020-07-01 10:51:26 +02:00
Michele Caini
0ca8dff974
test: code coverage
2020-06-30 17:50:36 +02:00
Michele Caini
a212b054e7
platform: added support file for android ndk r17
2020-06-30 16:47:27 +02:00
Michele Caini
cccd1baa2f
meta: minor changes
2020-06-26 16:04:09 +02:00
Michele Caini
5dd25aed4d
meta: assoc container's ::erase/::find accept also convertible keys
2020-06-26 14:59:35 +02:00
Michele Caini
6ddc725b75
meta: minor changes
2020-06-26 12:51:44 +02:00
Michele Caini
36ab7444a0
meta: removed some deprecated functions (semantics had changed, it was already a breaking change in itself)
2020-06-26 12:43:51 +02:00
Michele Caini
a8d004334a
meta: minor changes
2020-06-26 12:24:28 +02:00
Michele Caini
900398a632
resource: added prefix resource_ to all classes
2020-06-25 23:37:50 +02:00
Michele Caini
f24bb8737d
deprecate actor
2020-06-25 22:55:35 +02:00
Michele Caini
cb5e9b197a
doc: added links to docsforge ( close #510 )
2020-06-24 09:44:54 +02:00
Michele Caini
450e20ae78
meta: minor changes
2020-06-23 11:31:04 +02:00
Michele Caini
5d42a76fe5
meta: added support for convertible types to meta containers ::insert functions
2020-06-23 10:55:40 +02:00
Michele Caini
c5075a3db0
doc: minor changes (see #510 )
2020-06-23 08:49:17 +02:00
Michele Caini
ad5bb5198b
meta: fixed key_only member function for meta associative containers
2020-06-22 17:02:45 +02:00
Michele Caini
d306bc4a9a
test: code coverage
2020-06-22 12:47:10 +02:00
Michele Caini
5c3b956542
doc: fixed some problems with doxygen (see #510 )
2020-06-22 12:11:36 +02:00
Michele Caini
ade8533f28
meta: dedicate iterators for different types of meta containers
2020-06-22 11:07:57 +02:00
Michele Caini
ad3413d6ad
meta: added is_key_only_meta_associative_container[_v] to type traits
2020-06-22 10:19:06 +02:00
skypjack
f3d0e3f4dd
test: fixed tests for meta containers
2020-06-22 09:32:00 +02:00
Michele Caini
6e2e030ba7
meta: updated documentation
2020-06-22 01:05:48 +02:00
Michele Caini
613f993638
core/type_traits: removed is_dereferenceable[_v]
2020-06-21 23:42:07 +02:00
Michele Caini
2566e3631b
meta: support for pointer-like types
2020-06-21 23:39:26 +02:00
Michele Caini
4ad6c0a8a9
meta: meta_sequence_container_traits_t -> meta_sequence_container_traits
2020-06-21 23:13:20 +02:00
Michele Caini
0369ac450e
meta: added meta sequence container resize + [[nodiscard]] here and there
2020-06-21 23:08:14 +02:00
Michele Caini
ab16680cc8
type_traits: removed container detectors
2020-06-20 01:20:22 +02:00
Michele Caini
8a344cd9b2
meta: meta container support review
2020-06-20 01:17:14 +02:00
Michele Caini
4e66fb4589
test: minor changes, code coverage
2020-06-19 11:52:47 +02:00
Michele Caini
0043e3d623
meta: breaking change, meta_any::operator* dereferences the internal pointer (if any)
2020-06-19 00:15:01 +02:00
Michele Caini
ed168015bf
meta: review meta_handle
2020-06-18 18:49:52 +02:00
Michele Caini
1d450ef27e
meta: deprecate meta_[any|handle]::operator*, use ::ref instead
2020-06-18 18:21:12 +02:00
Michele Caini
932e681d22
meta: get rid of meta_dtor_node
2020-06-18 16:44:04 +02:00
Michele Caini
032bcd9fbe
meta: minor changes
2020-06-18 16:02:26 +02:00
Michele Caini
e113fa53a4
meta: split meta_storage from meta_any
2020-06-18 14:31:06 +02:00
Michele Caini
da212dc2a4
meta: added meta_type::is_dereferenceable
2020-06-18 11:34:44 +02:00
Michele Caini
d1c5a62a9d
core: type_traits, added is_dereferenceable[_v]
2020-06-18 11:30:55 +02:00
Michele Caini
0c777e10e5
doc: meta, container support
2020-06-18 10:17:50 +02:00
Michele Caini
b919b172b1
*: suppress some warnings here and there
2020-06-16 23:36:31 +02:00
Michele Caini
5dd8d05114
meta: get around an issue of msvc
2020-06-16 23:29:50 +02:00
Michele Caini
3400b32015
meta: containers support ( close #499 )
2020-06-16 23:21:45 +02:00
Michele Caini
2e4becad60
type_traits: sequence/associative container traits
2020-06-16 23:18:55 +02:00
Michele Caini
3d485858d5
meta: get around a bug of gcc-7, meta factory has no longer only static members
2020-06-15 00:08:46 +02:00
Michele Caini
be93643808
view: non-const excluded types are always accepted ( close #507 )
2020-06-14 23:42:15 +02:00
Michele Caini
f704352bae
type_traits: unpack_as_t/unpack_as_v
2020-06-14 23:28:35 +02:00
Michele Caini
6683b46b07
meta: factory<Type> has now only static functions
2020-06-14 17:32:28 +02:00
Michele Caini
a1fe458338
meta: removed dependency on <algorithm> from internal.hpp
2020-06-14 16:37:38 +02:00
Michele Caini
e6328e3207
meta: minor changes
2020-06-12 17:47:39 +02:00
Michele Caini
8b1f703397
doc: updated missing description
2020-06-12 16:18:12 +02:00
Michele Caini
583c8add7e
meta: make meta_handle copyable
2020-06-12 11:42:05 +02:00
Michele Caini
0266cc8e99
meta: make instances meta handles all around the codebase
2020-06-12 11:36:13 +02:00
Michele Caini
fac4132cb1
meta: meta_type rank/extent
2020-06-12 10:10:43 +02:00
Michele Caini
bf3864b2da
meta: arrays are no longer indexable via meta_type::set/get
2020-06-12 09:30:29 +02:00
Michele Caini
7c21042858
sparse_set: improved performance (see #506 ) - thanks @Kerndog73
2020-06-12 08:19:44 +02:00
Michele Caini
d0fd9e4618
meta: range_iterator are now part of ranges
2020-06-11 19:50:32 +02:00
Michele Caini
9b53230f83
meta: cleanup
2020-06-11 17:59:29 +02:00
Michele Caini
d814b7b11e
test: code coverage
2020-06-11 17:03:45 +02:00
Michele Caini
9f5421d3d4
build system: solved an issue with codecov
2020-06-11 16:48:25 +02:00
Michele Caini
6b9e5db3bf
meta: updated resolve function(s)
2020-06-11 15:40:16 +02:00
Michele Caini
9eac3faf3d
meta: added meta_range and meta_iterator
2020-06-11 15:27:56 +02:00
Michele Caini
252de444fc
test: meta, minor changes
2020-06-11 11:00:20 +02:00
Michele Caini
c29b9cc937
test: updated tests for meta
2020-06-11 10:46:40 +02:00
Michele Caini
6ac582a771
test: more on meta_type
2020-06-11 10:10:07 +02:00
Michele Caini
04b0c9f2cf
test: more on meta_func
2020-06-11 09:55:49 +02:00
Michele Caini
6b2468f033
test: more on meta_data
2020-06-11 09:53:35 +02:00
Michele Caini
2737acb114
test: added meta_type
2020-06-11 09:45:55 +02:00
Michele Caini
d03e9c48c5
tests: minor changes
2020-06-11 09:01:33 +02:00
Michele Caini
08d9cfe82c
test: added meta_func
2020-06-10 17:37:21 +02:00
Michele Caini
e8ea8f91c3
test: added meta_data
2020-06-10 17:22:48 +02:00
Michele Caini
e7cfa7fda5
test: added meta_ctor
2020-06-10 16:43:02 +02:00
Michele Caini
b0b504d002
test: added meta_conv
2020-06-10 15:59:12 +02:00
Michele Caini
1da07ba60b
test: added meta_base
2020-06-10 15:51:10 +02:00
Michele Caini
cedebf8145
test: added meta_prop
2020-06-10 15:42:47 +02:00
Michele Caini
29832bb2c0
test: added meta_any
2020-06-10 15:32:30 +02:00
Michele Caini
320d815d60
test: added meta_basic
2020-06-10 15:05:26 +02:00
Michele Caini
9f18401581
meta: split fixture and tests
2020-06-10 14:56:01 +02:00
Michele Caini
b3a2f0e3a3
meta: internal range/iterator support
2020-06-10 11:34:45 +02:00
Michele Caini
c00dcd31d6
meta: small review
2020-06-09 16:41:12 +02:00
Michele Caini
b836be2c84
doc: minor changes
2020-06-09 16:13:47 +02:00
Michele Caini
f89c5cc072
doc: added section pool to entity.md ( close #505 )
2020-06-09 09:57:57 +02:00
Michele Caini
ab7fa56bb3
doc: updated documentation for groups and nested groups
2020-06-09 09:32:36 +02:00
Michele Caini
7e624159ee
registry/group: pool<T>::super is no longer required
2020-06-09 00:55:48 +02:00
Michele Caini
857a791d68
registry: sort/sortable no longer requires pool<T>::super
2020-06-08 00:44:02 +02:00
Michele Caini
171463faf5
[[nodiscard]]: try to get around an issue with VS2017 (see #501 )
2020-06-07 17:34:38 +02:00
Michele Caini
2cafb49ffe
entity: [[nodiscard]] ( close #501 )
2020-06-07 00:51:45 +02:00
Michele Caini
ae12fed5fe
meta: [[nodiscard]] (see #501 )
2020-06-07 00:13:20 +02:00
Michele Caini
be5547de53
core: [[nodiscard]] (see #501 )
2020-06-06 23:51:08 +02:00
Michele Caini
cac50ef566
locator: [[nodiscard]] (see #501 )
2020-06-06 23:43:56 +02:00
Michele Caini
57a5736942
process: [[nodiscard]] (see #501 )
2020-06-06 23:42:48 +02:00
Michele Caini
167eadf699
resource: [[nodiscard]] (see #501 )
2020-06-06 23:39:56 +02:00
Michele Caini
5676e420a6
signal: [[nodiscard]] (see #501 )
2020-06-06 23:36:31 +02:00
Michele Caini
f5edc9e973
doc: core, type_info<T>::name
2020-06-05 14:57:24 +02:00
Michele Caini
4a305e1568
type_info: added ::name
2020-06-05 00:32:15 +02:00
Michele Caini
748ab221dd
delegate: renaming of exported types
2020-06-03 23:59:58 +02:00
Michele Caini
7d786cea8f
test: pass ENTT_STANDALONE definition to all targets
2020-06-03 23:42:05 +02:00
Michele Caini
1bf734338d
doc: suppress a couple of warnings from doxygen
2020-06-03 17:17:10 +02:00
Michele Caini
98df1d6004
config: type index based lookup as opt-in alternative ( close #490 )
2020-06-03 17:13:11 +02:00
Michele Caini
290e942f3e
doc: updated documentation for meta
2020-06-01 19:38:07 +02:00
Michele Caini
46d54f7e01
factory: try to get around an issue of GCC
2020-05-31 17:23:56 +02:00
Michele Caini
16e1715d06
factory: extended ::data support ( close #496 )
2020-05-31 17:13:21 +02:00
Michele Caini
52faa1bec5
meta: allow read-only data registration in meta ( close #496 )
2020-05-29 00:54:39 +02:00
Michele Caini
c8a6465688
meta: reduce instantiations
2020-05-29 00:30:20 +02:00
Alex Ames
0273b7606e
snapshot: components no longer need to be copyable ( #498 )
...
Replaced calls to std::as_const with std::move so that components can
be moved into place instead of copied when reading them in from a
snapshot.
2020-05-27 23:56:48 +02:00
Michele Caini
51022cb132
meta: reduce instantiations
2020-05-27 00:51:42 +02:00
Michele Caini
78f9d87ac3
test: suppress shadow warnings
2020-05-25 23:03:28 +02:00
Michele Caini
e57135eaab
delegate: support for non-capturing lambda functions (see #495 )
2020-05-25 22:59:02 +02:00
Michele Caini
5fbb663529
*: added meaningful messages (?) to static asserts ( close #493 )
2020-05-24 00:32:08 +02:00
Michele Caini
7db0f540bd
dispatcher: enqueue works fine with aggregates now ( close #491 )
2020-05-23 00:40:42 +02:00
Michele Caini
c8f0afb775
test: ugly workaround for an ICE of VS2017 that fails to compile valid C++ code when combined with ENTT_API
2020-05-22 00:33:17 +02:00
Michele Caini
51a5815098
registry: suppress shadow warnings
2020-05-21 22:50:38 +02:00
Michele Caini
18bd2eb729
doc: removed references to patreon account
2020-05-21 08:44:24 +02:00
Michele Caini
f04fd61879
doc: added config section
2020-05-19 00:36:45 +02:00
Michele Caini
c1527cc4c8
doc: more details on the order of components and entities when iterating through pointers returned from raw/data ( close #489 )
2020-05-17 23:48:43 +02:00
Michele Caini
cf1c1ed126
group: const correctness for constructor arguments
2020-05-17 22:57:16 +02:00
Michele Caini
c4ba8f96e6
view: try to get around a bug in MSVC
2020-05-17 00:44:06 +02:00
Michele Caini
350884c627
view: const correctness for constructor arguments
2020-05-17 00:18:52 +02:00
Michele Caini
aa756f6d68
doc: minor changes
2020-05-17 00:12:43 +02:00
Michele Caini
1a77bf49f5
registry: const correctness
2020-05-16 00:52:28 +02:00
Michele Caini
1b509c56fe
meta: cleanup
2020-05-16 00:52:23 +02:00
Joël Lamotte
038b10c74d
Added build2 package info ( #484 )
2020-05-14 00:38:36 +02:00
Michele Caini
39baa59625
registry: remove_if_exists returns the number of components actually removed ( close #483 )
2020-05-13 00:20:44 +02:00
Michele Caini
3fc091ebb2
view: removed deprecated functions
2020-05-12 00:24:39 +02:00
Michele Caini
a557e133d3
group: removed deprecated functions
2020-05-12 00:18:42 +02:00
Michele Caini
7d4f10ccc6
registry: removed deprecated functions
2020-05-12 00:12:49 +02:00
Michele Caini
39a15bef12
snapshot: removed deprecated functions
2020-05-11 16:38:12 +02:00
Michele Caini
92c59f3ea1
registry: removed the dependency on the snapshot stuff
2020-05-11 16:38:12 +02:00
Michele Caini
226bd44e2c
meta: removed deprecated functions
2020-05-11 16:38:12 +02:00
Michele Caini
78d43a49c6
observer: removed deprecated functions
2020-05-11 16:38:12 +02:00
Michele Caini
471651ac5a
storage: removed deprecated functions
2020-05-11 16:38:12 +02:00
Michele Caini
89515b0e30
sparse set: removed deprecated functions
2020-05-11 16:38:12 +02:00
Michele Caini
1d61c0d970
build system: updated version, now working on v3.5.0
2020-05-11 16:38:12 +02:00
Michele Caini
35c3acbade
doc: added a link to the discord server
2020-05-11 16:37:18 +02:00
Michele Caini
58a2c6a13a
updated single include file
2020-05-10 16:14:27 +02:00
Michele Caini
bf0160adbd
registry: removed useless check
2020-05-08 23:27:53 +02:00
Michele Caini
dfbc92dd3e
test: code coverage
2020-05-08 23:17:36 +02:00
Michele Caini
85b0bbfd55
snapshot: suppress shadow warnings
2020-05-07 17:20:25 +02:00
Michele Caini
fb2a93dc05
snapshot: updated documentation
2020-05-07 16:25:51 +02:00
Michele Caini
4ac46bf19d
snapshot: registry friendship is no longer required
2020-05-07 16:02:49 +02:00
Michele Caini
4d73adb540
snapshot: cleanup
2020-05-07 16:02:49 +02:00
Michele Caini
bdfeb1ae22
registry: destroy with suggested version
2020-05-07 16:02:49 +02:00
Michele Caini
3fc116ab53
minor changes
2020-05-07 16:02:49 +02:00
Michele Caini
8db61a38cc
sparse set: review
2020-05-07 16:02:49 +02:00
Michele Caini
0a70979934
observer: deprecated .replace, use .update instead
2020-05-07 16:02:49 +02:00
Michele Caini
1a2ccdf991
Update README.md
2020-05-07 16:01:12 +02:00
Michele Caini
0adee56d76
meta: as_alias[_t] -> as_ref[_t] (see #479 )
2020-04-30 23:59:17 +02:00
Michele Caini
fedd50efe4
meta: added meta_any::ref as an alias to meta_any operator* ( close #479 )
2020-04-30 23:53:02 +02:00
Michele Caini
d7de7dbe6b
build system: minor changes ( close #478 )
2020-04-30 23:24:50 +02:00
Michele Caini
9fb8939efd
meta: removed redundant assert
2020-04-30 14:28:54 +02:00
Michele Caini
fe8f671137
build system: USE_LIBCPP option is set to ON by default (see #478 )
2020-04-30 14:28:34 +02:00
Michele Caini
1a4de1482b
build system: minor changes ( close #478 )
2020-04-29 23:10:42 +02:00
Michele Caini
090a2595e1
config/type_id: minor changes
2020-04-29 01:05:17 +02:00
Michele Caini
89dc7f817f
meta: added resolve_type utility
2020-04-25 17:36:57 +02:00
Michele Caini
fe0f26ce9c
meta: workaround for an issue of clang 7 ( close #472 )
2020-04-25 16:48:21 +02:00
Michele Caini
11349629f4
meta: get around an issue of VS2017
2020-04-23 14:56:39 +02:00
Michele Caini
9a67652c0c
meta: separate resolve.hpp file
2020-04-22 20:05:24 +02:00
Michele Caini
b35521dfcb
meta: deprecated resolve by id, added entt::resolve_id
2020-04-21 18:32:35 +02:00
Michele Caini
9faf306d1e
meta: added entt::resolve_if
2020-04-20 23:25:10 +02:00
Michele Caini
d8393dace6
meta: deprecated *::alias(), use ::id() instead
2020-04-20 22:34:30 +02:00
Michele Caini
692e5275a3
entity: the null entity works fine also with C++20 ( close #467 )
2020-04-20 22:34:30 +02:00
Michele Caini
1cfe517db8
meta: meta_type::id -> meta_type::type_id
2020-04-20 22:34:30 +02:00
Michele Caini
e99e1dc2ac
meta: factory::alias -> factory::type (with type_info<T>::id as a default identifier)
2020-04-20 22:34:30 +02:00
Michele Caini
1bf4ebcabb
suppress warnings for shadow parameters
2020-04-20 22:34:30 +02:00
Michele Caini
ec4b264868
meta: export also the meta_node class template ( close #464 )
2020-04-20 22:34:30 +02:00
Michele Caini
efb125b2d5
updated list of contributors
2020-04-20 22:34:16 +02:00
Elias Daler
1c0fdbed59
Fix typo in docs (s/comp/velocity) ( #468 )
2020-04-20 22:32:52 +02:00
Michele Caini
37bb10e564
doc: updated examples ( close #463 )
2020-04-17 00:23:04 +02:00
Michele Caini
1507d5d85f
updated single include file ( close #461 )
2020-04-14 18:37:59 +02:00
Michele Caini
2a86acfc50
doc: updated documentation for the core part
2020-04-14 18:35:03 +02:00
Michele Caini
e0ee01b92e
doc: fixed typo
2020-04-14 18:29:25 +02:00
Michele Caini
6006917622
storage: assert on requirements (see #458 )
2020-04-09 19:42:45 +02:00
Michele Caini
4ffcf6bf3b
meta: added the possibility to detach meta types from contexts
2020-04-09 00:26:02 +02:00
Michele Caini
49cde59c4e
meta: minor changes
2020-04-08 23:45:48 +02:00
Michele Caini
ed7382995c
registry: added ::remove_all to orphan entities ( close #446 )
2020-04-07 23:48:07 +02:00
Michele Caini
a7faab53b9
basic_continuous_loader: deprecated ::has, use ::contains instead
2020-04-07 00:00:57 +02:00
Michele Caini
a6aad25117
sparse_set/storage: deprecated ::destroy, use ::erase instead
2020-04-06 23:57:20 +02:00
Michele Caini
5f06084b19
sparse_set: deprecated ::has, use ::contains instead
2020-04-06 23:51:59 +02:00
Michele Caini
8151fbcb2e
core: tag is no longer deprecated ( close #457 )
2020-04-06 23:21:17 +02:00
Michele Caini
5a8e46a6b8
doc: updated documentation for the resource module
2020-04-06 23:20:46 +02:00
Michele Caini
c4997c52e2
doc: updated documentation for the entity module
2020-04-06 23:20:28 +02:00
Michele Caini
ff12c22f50
test: cleanup
2020-04-05 23:36:00 +02:00
Michele Caini
ed7f09ab80
registry: updated tests (lib)
2020-04-05 23:32:10 +02:00
Michele Caini
f68941992a
emitter: updated tests (lib)
2020-04-05 23:22:16 +02:00
Michele Caini
afcd9285e6
dispatcher: updated tests (lib)
2020-04-05 23:16:16 +02:00
Michele Caini
22f78d5b33
doc: updated documentation for making EnTT work nicely across boundaries
2020-04-05 22:58:07 +02:00
Michele Caini
5259142eb6
registry: use fast path if available, standard path otherwise
2020-04-05 22:07:35 +02:00
Michele Caini
dc403ce8ab
emitter: use fast path if available, standard path otherwise
2020-04-05 22:07:23 +02:00
Michele Caini
a6fddd6a2c
dispatcher: use fast path if available, standard path otherwise
2020-04-05 22:07:12 +02:00
Michele Caini
819cd623f9
multiple modules: minor changes
2020-04-05 22:04:57 +02:00
Michele Caini
f185494de3
type info: added has_type_index[_v]
2020-04-05 22:03:52 +02:00
Michele Caini
628a17ae72
config: fixed ENTT_IS_EMPTY macro definition
2020-04-03 00:49:47 +02:00
Michele Caini
08169b9180
emitter: reintroduced type_id for the internal pool
2020-04-03 00:22:01 +02:00
Michele Caini
1e79f2441c
dispatcher: reintroduced type_id for the internal pool
2020-04-03 00:21:53 +02:00
Michele Caini
8680c0ba39
config: ENTT_DISABLE_ETO -> ENTT_NO_ETO
2020-04-02 18:21:42 +02:00
Michele Caini
8a78b0dbd6
registry: use only sequential indexes for component types now
2020-04-01 22:17:10 +02:00
Michele Caini
0232035e34
emitter: use only sequential indexes now
2020-04-01 21:27:59 +02:00
Michele Caini
74f3df83db
dispatcher: use only sequential indexes now
2020-04-01 21:19:38 +02:00
Michele Caini
53fa0d2fe8
registry: ::assure sets a constraint on the type
2020-04-01 00:16:35 +02:00
Michele Caini
52aa9ab761
type_info: split type_info::index to type_index::value
2020-04-01 00:14:28 +02:00
Michele Caini
92cf6195b2
iterators: standard-ish names for better integration
2020-03-30 16:11:10 +02:00
Michele Caini
86a392991a
test: type_info::index
2020-03-28 17:05:23 +01:00
Michele Caini
30d426d667
doc: updated core section
2020-03-28 17:01:04 +01:00
Michele Caini
5702c50680
type_info: added ::index to generate type indexes
2020-03-28 17:00:48 +01:00
Michele Caini
e38d2e156d
doc: updated list of showcases
2020-03-27 00:25:30 +01:00
Michele Caini
dfc18619a2
build system: updated installation process ( close #451 )
2020-03-27 00:04:48 +01:00
Michele Caini
9e8f2c52a0
doc: updated section for on_update/on_replace ( close #452 )
2020-03-25 15:11:14 +01:00
Michele Caini
1c8f5b98f1
build system: updated installation process ( close #451 )
2020-03-25 00:56:43 +01:00
Michele Caini
972470ad42
benchmark: minor changes
2020-03-24 22:40:39 +01:00
Michele Caini
f7e3a055fb
registry: minor changes
2020-03-21 23:35:45 +01:00
Michele Caini
34f05fb8dc
doc: updated wiki for meta ( close #448 )
2020-03-21 16:56:29 +01:00
Michele Caini
709fd34264
registry/storage: ::insert supports all types of iterators
2020-03-21 16:48:31 +01:00
Michele Caini
b888757092
entity/*: iterators review
2020-03-20 23:53:43 +01:00
Michele Caini
0f42827047
entity/*: stop using deprecated functions internally
2020-03-20 16:50:04 +01:00
Michele Caini
e69d1556e1
config: renamed ENTT_ENABLE_ETO to ENTT_IS_EMPTY
2020-03-20 00:04:26 +01:00
Michele Caini
141fbf7472
type_traits: deprecated entt::tag because of the more general purpose alternative entt::integral_constant
2020-03-19 23:41:49 +01:00
Michele Caini
c9a3ae8149
type_traits: added shortcut entt::integral_constant
2020-03-19 23:38:10 +01:00
Michele Caini
e16a8d29ea
links: added the Vim of game engines ( close #447 )
2020-03-19 16:05:31 +01:00
Michele Caini
fff50d0e50
registry: workaround for an issue with MSVC
2020-03-19 16:00:11 +01:00
Michele Caini
360734b447
doc: workaround for some idiosyncracies of doxygen
2020-03-19 00:49:49 +01:00
Michele Caini
7e5edad32b
registry: workaround for an issue of gcc7
2020-03-19 00:33:14 +01:00
Michele Caini
fc47b47850
doc: updated doc for empty types
2020-03-18 23:59:44 +01:00
Michele Caini
c7de058e1d
storage/registry: empty types are no longer a thing
2020-03-18 00:11:53 +01:00
Michele Caini
0fff3c905c
view: deprecated ::less, ::each returns only non-empty types now
2020-03-16 00:30:33 +01:00
Michele Caini
2fcb055c43
group: deprecated ::less, ::each returns only non-empty types now
2020-03-15 23:50:02 +01:00
Michele Caini
97e0d63102
storage: consume args for empty types in all cases
2020-03-13 23:08:59 +01:00
Michele Caini
5e04f0accd
registry: strict check on ::insert (see #438 )
2020-03-13 00:02:05 +01:00
Michele Caini
16835e3928
registry: get_or_assign -> get_or_emplace
2020-03-12 23:41:58 +01:00
Michele Caini
22e0ef1354
doc: updated examples, wiki and inline documentation
2020-03-12 23:33:08 +01:00
Michele Caini
0141dc519c
doc: added similar projects ( close #443 )
2020-03-11 17:57:36 +01:00
Michele Caini
9aadc30b94
registry: disambiguate calls to ::assign and ::assign_or_replace ( close #438 )
2020-03-11 16:19:41 +01:00
Michele Caini
23a73fcb7c
doc: suppressed some warnings due to missing parameters
2020-03-11 15:36:14 +01:00
Michele Caini
9a3b585110
registry: disambiguate calls to pool_handler<T>::construct (see #438 )
2020-03-11 14:34:47 +01:00
Michele Caini
09ee46860a
sparse_set: disambiguate calls to ::construct (see #438 )
2020-03-11 00:07:41 +01:00
Michele Caini
d8f289182d
storage: disambiguate calls to ::construct (see #438 )
2020-03-11 00:05:04 +01:00
Michele Caini
dc8fa2153b
registry: on_replace becomes on_update
2020-03-09 14:46:38 +01:00
Michele Caini
32fb335832
registry: added ::patch, reintroduced ::replace from arguments ( close #437 )
2020-03-09 14:34:28 +01:00
Michele Caini
58885854f1
doc: added a warning to registry::replace
2020-03-08 23:36:18 +01:00
Michele Caini
3e87788541
registry: ::replace always returns the component, no matter what
2020-03-08 16:42:17 +01:00
Michele Caini
5746df4d74
doc: added a note on registry::assign
2020-03-08 15:54:07 +01:00
Michele Caini
71d86c44e0
registry: cleanup
2020-03-08 00:56:00 +01:00
Michele Caini
c5e50289e1
workflow: unlock deploy to homebrew-entt ( close #397 )
2020-03-07 23:26:47 +01:00
Michele Caini
e62f1edada
registry: minor changes
2020-03-07 23:26:39 +01:00
Michele Caini
50e8db28b8
minor changes all over the codebase (final)
2020-03-07 00:41:21 +01:00
Michele Caini
ef7c572018
core: define entt::id_type alias for ENTT_ID_TYPE ( close #416 )
2020-03-07 00:41:21 +01:00
Michele Caini
1e962754cc
entity module: added utility.hpp, cleaned up fwd.hpp
2020-03-07 00:41:21 +01:00
Michele Caini
0240453b07
registry: review context variables
2020-03-07 00:41:21 +01:00
Michele Caini
38a80a95f2
registry: reduce instantiations
2020-03-07 00:41:21 +01:00
Michele Caini
b5e411d251
registry: removed deprecated functions
2020-03-07 00:41:21 +01:00
Michele Caini
71a623276e
registry: removed deprecated overload for replace
2020-03-07 00:41:21 +01:00
Michele Caini
1e76703144
meta: removed deprecated functions
2020-03-07 00:41:21 +01:00
Michele Caini
6ffaf11226
helper: added a shortcut to invoke members on components from callbacks ( close #385 )
2020-03-07 00:41:21 +01:00
Michele Caini
fc0caec1a4
build system: updated version, now working on v3.4.0
2020-03-07 00:41:21 +01:00
Michele Caini
043f9a5025
updated single include file
2020-03-07 00:41:15 +01:00
Michele Caini
822264a65e
workflow: --dry-run for the deploy.yml debut (see #397 )
2020-03-07 00:30:24 +01:00
Michele Caini
8e9a6a4f06
registry: fixed a bug that affects late group initialization ( close #440 )
2020-03-07 00:30:21 +01:00
Michele Caini
76f3909ec9
workflow: update homebrew-entt (see #397 )
2020-03-07 00:30:19 +01:00
Michele Caini
23e839b40e
build system: updated install process ( close #421 )
2020-03-07 00:30:16 +01:00
Michele Caini
6a560fc7bf
observer: use any<T...> rather than a fold expression with has<T>
2020-03-07 00:30:08 +01:00
Michele Caini
709d1c93a4
registry: fixed a bug that affects late group initialization ( close #436 )
2020-03-07 00:29:57 +01:00
Michele Caini
8d4b5f4bb7
sparse_set: remove copy ctor/assignment operator (use range-construct instead)
2020-03-07 00:11:30 +01:00
Paul Gruenbacher
9eb5a85e9e
doc: update clone example to handle empty types ( #441 )
2020-03-07 00:09:19 +01:00
Paul Gruenbacher
e7521445e9
doc: update stamp example ( #442 )
2020-03-07 00:09:15 +01:00
Michele Caini
bb050e2660
actor: (has<T>(e) && ...) -> has<T...>(e)
2020-03-07 00:07:56 +01:00
Michele Caini
bc3b0eb491
links: added references to Chrysalis (project and blog post)
2020-03-07 00:06:39 +01:00
Michele Caini
7cea05d376
doc: updated documentation for snapshot archives ( close #431 )
2020-03-07 00:06:32 +01:00
Michele Caini
b8a3bdf6b5
build system: minor changes
2020-03-07 00:06:25 +01:00
Michele Caini
638b6dba17
build system: updated version, now working on v3.3.2
2020-03-06 23:56:55 +01:00
Michele Caini
50ba8c6c39
updated single include file
2020-02-28 23:27:20 +01:00
Michele Caini
94d15ebbef
config: being empty isn't enough for ETO, type must be default constructible
2020-02-28 23:18:12 +01:00
Michele Caini
e150882231
doc: udpated doc (see #431 )
2020-02-28 23:18:09 +01:00
Michele Caini
80a659c90c
doc: typo
2020-02-28 23:18:03 +01:00
Michele Caini
17d96427ea
registry: assign_or_replace works also with aggregates now ( close #429 )
2020-02-28 23:17:58 +01:00
Michele Caini
7fdda788af
registry: minor changes ( close #424 )
2020-02-28 23:17:53 +01:00
Ezekiel Warren
182adbd9d9
Re-added bazel support ( #430 )
2020-02-28 23:17:45 +01:00
Michele Caini
4931c9cd9b
build system: updated version, now working on v3.3.1
2020-02-28 23:17:24 +01:00
Michele Caini
a112409735
updated single include file ( close #425 )
2020-02-23 16:54:02 +01:00
Michele Caini
7aaa6dd986
build system: suppress a few other warnings here and there
2020-02-19 16:12:36 +01:00
Michele Caini
3c39cfe645
build system: trigger more warnings (at least with MSVC) and suppress as many as possible ( close #420 , close #394 )
2020-02-19 15:01:13 +01:00
Michele Caini
6a46325e7e
registry: deprecate ::clone/::stamp
2020-02-18 12:51:19 +01:00
Michele Caini
15c9688a5a
entity module: minor changes
2020-02-18 11:50:33 +01:00
Michele Caini
d9f93ccc11
moved tags from entity/helper to core/type_traits (see #419 )
2020-02-18 09:58:51 +01:00
Michele Caini
652e569afc
registry: cleanup
2020-02-17 13:36:57 +01:00
Michele Caini
c55372459f
view: cleanup
2020-02-17 13:36:46 +01:00
Michele Caini
09f36e32f7
type traits: added member_class and member_class_t
2020-02-17 08:18:58 +01:00
Michele Caini
688d435d8e
meta: fixed a bug on meta_type::construct with no arguments ( close #413 )
2020-02-16 21:54:48 +01:00
Michele Caini
e7403d8551
registry: in-place ::replace, the signal no longer receives an extra argument ( close #406 )
2020-02-15 22:32:50 +01:00
Indiana Kernick
60039441a1
Remove UTF-8 BOM ( #414 )
2020-02-15 15:40:09 +01:00
Michele Caini
97f4414cc4
minor changes
2020-02-15 00:54:40 +01:00
Michele Caini
df9595bc0d
build system: clean up
2020-02-14 23:15:26 +01:00
Michele Caini
93533b7bc6
build system: make it work properly (again) with clang-cl
2020-02-14 23:06:46 +01:00
Michele Caini
a99afa2ddf
build system: make gtest compile (again) on macos
2020-02-14 22:56:37 +01:00
Michele Caini
1e651a5145
tests: code coverage
2020-02-14 17:32:05 +01:00
Michele Caini
79ecfa2573
build system: suppress deprecated warnings
2020-02-14 16:43:27 +01:00
Michele Caini
e2b676d54c
cleanup
2020-02-13 12:30:01 +01:00
Michele Caini
2b73bf35b6
meta: meta_type_node::id -> meta_type_node::type_id
2020-02-13 12:05:45 +01:00
Michele Caini
2137b3a879
doc: added DungeonSlayer to links
2020-02-11 23:29:50 +01:00
Michele Caini
e52b3fd5bc
meta: ::identifier renamed to ::alias, added meta_type::id to get the id of the underlying type ( close #412 )
2020-02-11 12:30:55 +01:00
Michele Caini
0dfd2aa714
build system: minor changes to make tests compile with VS
2020-02-10 22:57:48 +01:00
Michele Caini
5d63c4c981
storage: basic_storage no longer exists ( close #411 )
2020-02-10 22:49:23 +01:00
Michele Caini
84d3f9ab9a
registry: added missing assert ( close #409 )
2020-02-10 22:46:49 +01:00
Michele Caini
1133dba9d8
attribute: correct include guard ( close #410 )
2020-02-10 22:45:30 +01:00
Michele Caini
cd2fdc2ffe
build system: use cmake fetch content rather than external add
2020-02-10 22:43:42 +01:00
Michele Caini
57d017ed8e
build system: the version is read from cmake rather than written
2020-02-10 22:25:35 +01:00
Michele Caini
3ad2c559f1
build system: better support for IDEs
2020-02-09 23:16:59 +01:00
Michele Caini
c3facfa925
build system: minor changes
2020-02-09 20:07:32 +01:00
Michele Caini
db8d9ebc72
suppress shadow warnings
2020-02-08 16:31:01 +01:00
Michele Caini
3aef00af18
registry: suppress warnings on ::replace for empty components ( close #407 , close #408 )
2020-02-08 15:56:01 +01:00
Michele Caini
a4d576bae8
registry: visit functionality for context variables ( close #390 )
2020-02-08 15:34:32 +01:00
Michele Caini
9320365ef6
registry: const-correctness for ::visit
2020-02-08 15:34:28 +01:00
Michele Caini
0be7494042
group: added front/back ( close #393 )
2020-02-08 15:34:22 +01:00
Michele Caini
df55f338ca
view: added front/back (see #393 )
2020-02-08 15:34:18 +01:00
Michele Caini
8210efb548
delegate: suppress warnings on parameters used for tag dispatching
2020-02-08 15:34:14 +01:00
Michele Caini
43503e2fc9
test: enforce requirements for non default constructible components ( close #405 )
2020-02-08 15:34:08 +01:00
Michele Caini
448c3ae425
registry/storage: assign review
2020-02-08 15:34:03 +01:00
Michele Caini
f7684a8a3e
cleanup/minor changes
2020-02-08 15:33:59 +01:00
Michele Caini
4f200ac71e
cleanup
2020-02-08 15:32:09 +01:00
Michele Caini
4772559e8b
test: code coverage
2020-02-02 22:12:41 +01:00
Michele Caini
a984ce5bba
registry: temporary changes to remove args from assure
2020-02-02 21:51:13 +01:00
Michele Caini
eee8a338e2
doc: updated examples ( close #401 )
2020-02-02 20:52:14 +01:00
Michele Caini
8894c0ef48
typo
2020-02-01 01:01:03 +01:00
Michele Caini
c5b8577d94
meta: redefined constructors where it matters ( close #404 )
2020-02-01 00:59:23 +01:00
Michele Caini
ce9def4a56
registry: avoid redundant instantiations
2020-02-01 00:50:13 +01:00
Michele Caini
894601aad2
cleanup/suppress warnings
2020-01-31 23:40:52 +01:00
Michele Caini
285c91e81b
config: ENTT_DISABLE_ASSERT no longer exists, ENTT_ASSERT can be redefined now ( close #403 )
2020-01-31 23:39:37 +01:00
Michele Caini
ba8ca93afc
doc: updated the doc for the ecs part ( close #390 )
2020-01-31 23:32:09 +01:00
Michele Caini
ad0dab2493
registry: added ::visit to get all components in a registry of owned by an entity
2020-01-31 22:43:25 +01:00
Michele Caini
8b66316180
doc: updated README file
2020-01-31 22:42:36 +01:00
Michele Caini
da4ee38914
type_info: minor changes
2020-01-30 20:03:51 +01:00
Michele Caini
62fde229e2
cleanup
2020-01-29 00:26:38 +01:00
Michele Caini
676115d214
delegate/sigh: reduced number of instantiations, moved instantiations out of the way from sigh::publish
2020-01-28 12:20:52 +01:00
Michele Caini
f36d838df1
hashed_string: non-recursive helper ( close #400 )
2020-01-27 22:46:24 +01:00
Michele Caini
f32f3ab895
config: avoid using pretty function with gcc < 9 (see #396 )
2020-01-25 23:19:38 +01:00
Michele Caini
fc0432df8c
registry: minor changes
2020-01-24 23:52:39 +01:00
Michele Caini
797b5bcb53
type_info: force constexpr-ness ( close #396 )
2020-01-24 23:29:12 +01:00
Michele Caini
b816f203cd
doc: minor changes ( close #398 )
2020-01-24 23:29:06 +01:00
Michele Caini
714e2f86a1
cleanup
2020-01-24 16:02:45 +01:00
Michele Caini
ff75085f15
doc: updated links
2020-01-23 22:55:03 +01:00
Michele Caini
dbc8b18b80
registry: added any<T...> ( close #371 )
2020-01-21 12:52:59 +01:00
Michele Caini
efb2bbe8b2
cleanup: removed entity/utility.hpp
2020-01-21 12:33:37 +01:00
Michele Caini
8278c8eedd
doc: minor changes
2020-01-21 12:24:02 +01:00
Michele Caini
6f696a026b
registry: callbacks receive the registry as first argument (better dependencies)
2020-01-20 16:09:25 +01:00
Michele Caini
f558797246
workaround for an issue of clang 6
2020-01-20 00:01:10 +01:00
Michele Caini
c8671d1c2b
doc: updated signal.md (see #385 )
2020-01-19 23:43:57 +01:00
Michele Caini
7fd41e48b9
sigh: support for unbound members
2020-01-19 19:18:33 +01:00
Michele Caini
409d5f5966
delegate: support for unbound members
2020-01-19 15:16:38 +01:00
Michele Caini
5d1802faf7
doc: updated links
2020-01-18 23:05:42 +01:00
Michele Caini
a580bac385
registry: range-assign with optional init function(s)
2020-01-18 01:11:30 +01:00
Michele Caini
c43214543f
storage: removed batch construct by copy
2020-01-18 00:57:27 +01:00
Michele Caini
b3c568fb6f
registry: faster group initialization
2020-01-16 00:02:22 +01:00
Michele Caini
b34fe3200c
storage: batch construct by copy
2020-01-15 23:55:28 +01:00
Michele Caini
dada8dbdeb
storage/registry: batch add no longer returns an iterator
2020-01-15 23:21:34 +01:00
Michele Caini
e7d4077065
storage/registry: batch add default-constructs the component
2020-01-15 23:07:35 +01:00
Michele Caini
b1e54bfd86
storage: minor changes
2020-01-15 22:42:17 +01:00
Michele Caini
85ad4c4766
registry (and a few others): callbacks no longer receive components, see #386
2020-01-13 23:11:24 +01:00
Michele Caini
3dce560759
test: updated benchmarks
2020-01-13 23:08:42 +01:00
Michele Caini
969b8f0a7a
test: minor changes
2020-01-13 00:27:15 +01:00
Michele Caini
ba8e738f40
doc: updated ecs part
2020-01-13 00:12:22 +01:00
Michele Caini
4bc80fae8d
storage: minor changes
2020-01-13 00:06:17 +01:00
Michele Caini
ee5156704d
registry: ::assign to assign entities to an empty registry
2020-01-12 00:31:53 +01:00
Michele Caini
986cd03732
registry: added ::data() to get the list of entities of a registry
2020-01-11 23:56:50 +01:00
Michele Caini
937fdabaa9
algorithm: missing include ( close #389 )
2020-01-11 23:56:11 +01:00
Michele Caini
c0fa97510e
minor changes that are aimed mainly at suppressing warnings
2020-01-11 23:06:30 +01:00
Michele Caini
2fc6fe442d
workaround of an bug of gcc-7
2020-01-11 21:56:08 +01:00
Michele Caini
7ba14f5a57
registry: only opaque stamp is allowed, use assign/assign_or_replace for components
2020-01-11 01:23:57 +01:00
Michele Caini
352e4576fc
registry: ::reset doesn't exist anymore, use ::remove and ::clear instead
2020-01-11 01:11:48 +01:00
Michele Caini
210eebc0dc
sparse_set/storage: ::reset is now ::clear
2020-01-09 22:51:35 +01:00
Michele Caini
5904941361
registry: stable assign ( close #386 )
2020-01-09 22:06:33 +01:00
Michele Caini
b352815cf8
registry: minor chages
2020-01-07 23:58:23 +01:00
Michele Caini
38a2751cd9
tests: code coverage back to 100%
2020-01-07 00:16:46 +01:00
Michele Caini
6388607d11
doc: added PopHead to the list of showcases ( close #384 )
2020-01-06 23:54:05 +01:00
Michele Caini
469276b8be
registry: create no longer accepts a list of default constructible types to assign to entities
2020-01-06 23:46:58 +01:00
Michele Caini
2a863ee851
registry: minor changes
2020-01-06 00:50:03 +01:00
Michele Caini
b6dae2fe57
doc: updated entity.md
2020-01-06 00:40:45 +01:00
Michele Caini
d202bd3e50
registry: create with hint ( close #303 )
2020-01-06 00:40:22 +01:00
Michele Caini
dc2e44b2c0
doc: added sequentity to the list of showcases
2020-01-06 00:39:33 +01:00
Michele Caini
32c481c28c
doc: stomp -> stamp
2020-01-04 22:59:46 +01:00
Michele Caini
8519c99706
updated copyright
2020-01-04 00:17:16 +01:00
Michele Caini
5b1bac4c19
doc: more details on entt::null ( close #375 )
2020-01-02 23:58:12 +01:00
Michele Caini
0a95a0674b
build system: the conan-center-index makes the custom deploy step useless ( close #380 )
2020-01-02 22:25:12 +01:00
Michele Caini
2f11f6dc37
workaround for an issue of MSVC
2020-01-01 22:39:01 +01:00
Michele Caini
af66274c72
registry: const/non-const review ( close #381 )
2020-01-01 22:29:13 +01:00
Michele Caini
c5679b208f
registry: improved ::group
2019-12-31 16:45:49 +01:00
Michele Caini
020fc179a5
traits: to_integral uses static_cast now
2019-12-31 15:45:36 +01:00
Michele Caini
dc9c1fc762
doc: minor changes
2019-12-31 15:21:53 +01:00
Michele Caini
f0938d70b2
registry: stomp -> stamp
2019-12-31 00:54:10 +01:00
Michele Caini
072761c5ba
updated doc
2019-12-31 00:37:52 +01:00
Michele Caini
8aacd4d022
aob: removed mod stuff
2019-12-29 15:53:52 +01:00
Michele Caini
b6f9ca0021
updated TODO
2019-12-29 15:36:36 +01:00
Michele Caini
a43f354511
doc: minor changes
2019-12-29 15:18:20 +01:00
Michele Caini
43766406ae
registry/dispatcher/emitter: removed ::discard, updated test and doc
2019-12-29 15:16:12 +01:00
Michele Caini
37dd1ae363
registry: group reworking
2019-12-29 15:16:12 +01:00
Michele Caini
5a3effaef5
group: faster contains
2019-12-29 15:16:12 +01:00
Michele Caini
cd4bcce70f
view: faster contains
2019-12-29 15:16:12 +01:00
Michele Caini
c1e7549b61
registry: group reworking
2019-12-29 15:16:12 +01:00
Michele Caini
036ef25da9
registry: uses views to initialize groups
2019-12-29 15:16:12 +01:00
Michele Caini
9884c37ef4
view: gets rid of filter tuple
2019-12-29 15:16:12 +01:00
Michele Caini
23069d76eb
registry: minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
b2d0e7fae2
registry: assure returns a reference now
2019-12-29 15:16:12 +01:00
Michele Caini
30a039a031
minor changes: shadow variables, dead doc, todo list
2019-12-29 15:16:12 +01:00
Michele Caini
8d67bb726c
test: guarantee that entt::entity{} != entt::null ( close #375 )
2019-12-29 15:16:12 +01:00
Michele Caini
c4dec4cd4d
meta: test review
2019-12-29 15:16:12 +01:00
Michele Caini
f17b975fb9
meta: meta_any support for non-copyable types ( close #336 )
2019-12-29 15:16:12 +01:00
Michele Caini
7a3b7593d0
doc: updated documentation
2019-12-29 15:16:12 +01:00
Michele Caini
bad342b840
test: lib plugin std cpp
2019-12-29 15:16:12 +01:00
Michele Caini
e3968a8f9d
test: lib std cpp
2019-12-29 15:16:12 +01:00
Michele Caini
f577183c24
build system: BUILD_PLUGIN is no longer required, plugins are libs
2019-12-29 15:16:12 +01:00
Michele Caini
be58f2e68a
minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
99f81e82d5
build system: removed support for bazel (no longer maintained)
2019-12-29 15:16:12 +01:00
Michele Caini
7cfd3957de
test_info: 🆔 make the family-like fallback work across boundaries
2019-12-29 15:16:12 +01:00
Michele Caini
c51c88a17c
include guards and macros in general: removed superfluous comments
2019-12-29 15:16:12 +01:00
Michele Caini
e09af98dc5
test: minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
89635f6583
type_info: 🆔 family-like fallback
2019-12-29 15:16:12 +01:00
Michele Caini
14034642f1
test: review
2019-12-29 15:16:12 +01:00
Michele Caini
4af7d975c1
type_id -> type info + allow also fully runtime ids
2019-12-29 15:16:12 +01:00
Michele Caini
d9884917fb
registry: added discard to free explicitly a pool
2019-12-29 15:16:12 +01:00
Michele Caini
95fd4e4c99
emitter: added discard to free explicitly a pool
2019-12-29 15:16:12 +01:00
Michele Caini
9457a55910
dispatcher: added discard to free explicitly a pool
2019-12-29 15:16:12 +01:00
Michele Caini
56e7dd0de0
dispatcher::discard becomes dispatcher::clear
2019-12-29 15:16:12 +01:00
Michele Caini
f0dc882ae9
minor changes here and there
2019-12-29 15:16:12 +01:00
Michele Caini
acb70d4440
meta: uses type_id_v rather than other techniques
2019-12-29 15:16:12 +01:00
Michele Caini
167721bf8c
removed ENTT_API from ENTT_OPAQUE_ID
2019-12-29 15:16:12 +01:00
Michele Caini
4f438e5228
family: back to the old-fashioned model
2019-12-29 15:16:12 +01:00
Michele Caini
0f0aeb6d47
meta: prepare migration to entt::type_id
2019-12-29 15:16:12 +01:00
Michele Caini
d1a6edad8a
ENTT_OPAQUE_TYPE: to_integer -> to_integral
2019-12-29 15:16:12 +01:00
Michele Caini
388feb7edb
docs: updated doxy.in
2019-12-29 15:16:12 +01:00
Michele Caini
962b068c92
test: pass NOMINMAX where cr.h is included
2019-12-29 15:16:12 +01:00
Michele Caini
a32373bc3a
meta: updated tests, CR_UNLOAD isn't passed on close
2019-12-29 15:16:12 +01:00
Michele Caini
94a5a4ac1e
doc: minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
ed8eea12bd
entt::component no longer exists
2019-12-29 15:16:12 +01:00
Michele Caini
83bea8b654
registry: uses type_id_v rather than families
2019-12-29 15:16:12 +01:00
Michele Caini
d4d2db228e
minor changes: noexcept-ness review ( close #372 )
2019-12-29 15:16:12 +01:00
Michele Caini
f8b8c91fe8
type_id: sfinae friendly version to allow extreme customization
2019-12-29 15:16:12 +01:00
Michele Caini
8451301a5a
dispatcher/emitter: constrained assure
2019-12-29 15:16:12 +01:00
Michele Caini
449b03f6bd
type_id: built-in variadic accepts only single types
2019-12-29 15:16:12 +01:00
Michele Caini
3853ff725f
dispatcher/emitter: better assure
2019-12-29 15:16:12 +01:00
Michele Caini
ee66e3ef9e
added missing include
2019-12-29 15:16:12 +01:00
Michele Caini
2643500957
type_id: removed redundant check
2019-12-29 15:16:12 +01:00
Michele Caini
88467a87a4
emitter: uses type_id_v rather than a family
2019-12-29 15:16:12 +01:00
Michele Caini
d1cdeb4a2d
dispatcher: uses type_id_v rather than a family
2019-12-29 15:16:12 +01:00
Michele Caini
f5ced7fe39
core: (customizable) type_id[_v]
2019-12-29 15:16:12 +01:00
Michele Caini
023267ecab
static hashed_string::to_value -> hashed_string::value
2019-12-29 15:16:12 +01:00
Michele Caini
3d515a760c
attribute.h: lib -> core
2019-12-29 15:16:12 +01:00
Michele Caini
026c5987dd
suppress some warnings here and there
2019-12-29 15:16:12 +01:00
Michele Caini
84fb3694f2
test: meta and plugins
2019-12-29 15:16:12 +01:00
Michele Caini
169dcbcd74
coverage: enabled plugins
2019-12-29 15:16:12 +01:00
Michele Caini
d28b6fbf1e
test: use MODULE rather than SHARED for plugins
2019-12-29 15:16:12 +01:00
Michele Caini
9f7a2ef84e
updated TODO
2019-12-29 15:16:12 +01:00
Michele Caini
cc5ea60d2b
test: minor changes (for code coverage)
2019-12-29 15:16:12 +01:00
Michele Caini
8bc63494bc
hashed string: added missing include
2019-12-29 15:16:12 +01:00
Michele Caini
9acdeeed04
CI: enabled plugins
2019-12-29 15:16:12 +01:00
Michele Caini
d2cdb2a209
build system: refine macro SETUP_PLUGIN_TEST
2019-12-29 15:16:12 +01:00
Michele Caini
36bad31355
signal: updated fwd.hpp
2019-12-29 15:16:12 +01:00
Michele Caini
427587e591
test: ENTT_API_* definitions are set by means of cmake
2019-12-29 15:16:12 +01:00
Michele Caini
4f028d8201
test: prepare plugin stuff
2019-12-29 15:16:12 +01:00
Michele Caini
d59c052554
build system: added fungos/cr to the list of dependencies required to compile lib tests
2019-12-29 15:16:12 +01:00
Michele Caini
93ebe91bc5
test: removed useless FAIL()
2019-12-29 15:16:12 +01:00
Michele Caini
fadb8f695e
tests: minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
8bb1518d09
registry: (almost) transparent dll/.so support with ENTT_API
2019-12-29 15:16:12 +01:00
Michele Caini
e8d9d663a7
registry: removed superfluous friend declaration
2019-12-29 15:16:12 +01:00
Michele Caini
2d2648cf57
emitter: : (almost) transparent dll/.so support with ENTT_API
2019-12-29 15:16:12 +01:00
Michele Caini
231036784d
dispatcher: (almost) transparent dll/.so support with ENTT_API
2019-12-29 15:16:12 +01:00
Michele Caini
882b91b221
family: review to make it work with dllimport/dllexport
2019-12-29 15:16:12 +01:00
Michele Caini
df346ab380
lib, test: minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
c7b8e82ada
meta: (almost) transparent dll/.so support with ENTT_API
2019-12-29 15:16:12 +01:00
Michele Caini
b8784863f2
meta: context no longer exists
2019-12-29 15:16:12 +01:00
Michele Caini
3f67054f03
meta: compare function shouldn't be static
2019-12-29 15:16:12 +01:00
Michele Caini
36d1b0a4bc
emitter: updated inline doc
2019-12-29 15:16:12 +01:00
Michele Caini
748777b8eb
registry: removed superfluous ::template from unset()
2019-12-29 15:16:12 +01:00
Michele Caini
acd8e0bce5
registry: updated ::prepare
2019-12-29 15:16:12 +01:00
Michele Caini
d2d068edff
registry: removed superfluous ::template from type()
2019-12-29 15:16:12 +01:00
Michele Caini
e2a7a7ce20
test: cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
b25b1c45fb
named types (traits and macros) are no longer available
2019-12-29 15:16:12 +01:00
Michele Caini
c3b0fa6c93
registry no longer uses named types
2019-12-29 15:16:12 +01:00
Michele Caini
63a4e67174
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
88e37438fa
emitter: const/non-const assure
2019-12-29 15:16:12 +01:00
Michele Caini
5be1bf7d82
meta no longer uses named types
2019-12-29 15:16:12 +01:00
Michele Caini
eb4689d2f1
dispatcher no longer uses named types
2019-12-29 15:16:12 +01:00
Michele Caini
e81549e5fd
emitter no longer uses named types
2019-12-29 15:16:12 +01:00
Michele Caini
becaef36ff
disabled tests for shared objects/named types
2019-12-29 15:16:12 +01:00
Michele Caini
6aefa40ca2
updated TODO (changes requried to get rid of named types)
2019-12-29 15:16:12 +01:00
Michele Caini
250ef50361
added attribute.h
2019-12-29 15:16:12 +01:00
Michele Caini
5a1af60357
view/group: all iterators are at least bidirectional ( close #370 )
2019-12-29 15:16:12 +01:00
Michele Caini
46db75308c
test: modularized lib tests
2019-12-29 15:16:12 +01:00
Michele Caini
33f5e13b29
use std::for_each instead of std::for_each_n (the latter isn't supported by older compilers)
2019-12-29 15:16:12 +01:00
Michele Caini
54bb4797db
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
7a14fbb221
registry: stomp doesn't work anymore with foreign registries
2019-12-29 15:16:12 +01:00
Michele Caini
18349f5ee4
small improvements
2019-12-29 15:16:12 +01:00
Michele Caini
22b93cdd0a
meta: updated doc (see #361 )
2019-12-29 15:16:12 +01:00
Michele Caini
63bc0b2ba1
entity: updated doc ( close #364 )
2019-12-29 15:16:12 +01:00
Michele Caini
c57a7c745d
meta: improved perf and compilation time, reduced loc
2019-12-29 15:16:12 +01:00
Michele Caini
f2831b5f5c
updated doc ( close #363 )
2019-12-29 15:16:12 +01:00
Michele Caini
96f793f91b
meta_any: unifying assignment operator
2019-12-29 15:16:12 +01:00
Michele Caini
4e2a0d6e58
noexcept-ness review ( close #362 )
2019-12-29 15:16:12 +01:00
Michele Caini
442c7f1f09
meta: review
2019-12-29 15:16:12 +01:00
Michele Caini
dbff4af7c6
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
93b09836da
updated workflow ( close #359 )
2019-12-29 15:16:12 +01:00
Michele Caini
1782dc1565
emitter: cleanup ( close #360 )
2019-12-29 15:16:12 +01:00
Michele Caini
cc16874d58
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
c8925b2ae3
using atomics is no longer the default: ENTT_NO_ATOMIC -> ENTT_USE_ATOMIC
2019-12-29 15:16:12 +01:00
Michele Caini
fc043b9fcd
small perf improvements
2019-12-29 15:16:12 +01:00
Michele Caini
ea86d33bc1
meta: removed reset-all function (it was logically broken across boundaries)
2019-12-29 15:16:12 +01:00
Michele Caini
82f33b82e3
meta: allow assigning properties to opaque meta types
2019-12-29 15:16:12 +01:00
Michele Caini
c645cb83a2
meta: reset-all functionality (see #358 )
2019-12-29 15:16:12 +01:00
Michele Caini
d6d79a2aa5
code coverage
2019-12-29 15:16:12 +01:00
Michele Caini
786568fd2f
updated workflow
2019-12-29 15:16:12 +01:00
Michele Caini
434f77a058
sigh: review connection/scoped_connection
2019-12-29 15:16:12 +01:00
Michele Caini
02f777a143
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
8025a84aeb
updated workflow
2019-12-29 15:16:12 +01:00
Innokentiy Alaytsev
c37a50d3b8
updated faq.md ( #351 ) - close #348
2019-12-29 15:16:12 +01:00
Michele Caini
6dbbb265d1
registry: added range remove
2019-12-29 15:16:12 +01:00
Michele Caini
02ce2ff74c
registry: multi component remove
2019-12-29 15:16:12 +01:00
Michele Caini
28e5267132
registry::stomp supports foreign registries ( close #315 )
2019-12-29 15:16:12 +01:00
Michele Caini
f498b8a049
registry::prepare: strictier check
2019-12-29 15:16:12 +01:00
Michele Caini
b31afe5c8c
safer registry::prepare
2019-12-29 15:16:12 +01:00
Michele Caini
eac944dbea
get rid of registry::skip_family_pools
2019-12-29 15:16:12 +01:00
Michele Caini
965b20c37a
review: dispatcher::assure/emitter::assure
2019-12-29 15:16:12 +01:00
Michele Caini
fba85754d7
review: registry::clone
2019-12-29 15:16:12 +01:00
Michele Caini
3c69f98451
range registry::stomp is no longer available
2019-12-29 15:16:12 +01:00
Michele Caini
cad8a90124
spawning registry::create is no longer available
2019-12-29 15:16:12 +01:00
Michele Caini
b8d888b17f
minor changes
2019-12-29 15:16:12 +01:00
Michele Caini
942d783e4e
cleanup
2019-12-29 15:16:12 +01:00
Michele Caini
0e352cb466
single component registry::prepare with arguments (suitable for custom pools)
2019-12-29 15:16:12 +01:00
Michele Caini
50af38b952
registry::clone/stomp review ( close #350 )
2019-12-29 15:16:12 +01:00
Michele Caini
1459c59cd0
updated TODO
2019-12-29 15:16:12 +01:00
Michele Caini
e74f5b2991
cleanup/refactoring
2019-12-29 15:16:12 +01:00
Michele Caini
0dec05fd70
no longer _each (it was too ugly for me)
2019-12-29 15:16:12 +01:00
Michele Caini
3cff21b4d0
updated doc ( close #349 )
2019-12-29 15:16:12 +01:00
Michele Caini
c380da7214
range stomp is now named stomp_each for consistency
2019-12-29 15:16:12 +01:00
Michele Caini
e2bf903c49
registry::assign_each validates entities
2019-12-29 15:16:12 +01:00
Michele Caini
9cf64ba881
range destroy is now named destroy_each for consistency
2019-12-29 15:16:12 +01:00
Michele Caini
74d901b7ae
registry: range assign
2019-12-29 15:16:12 +01:00
Michele Caini
b15cb46a6d
now working on v3.3.0
2019-12-29 15:16:12 +01:00
Michele Caini
89dc76e3b2
doc: added SgOgl to the EnTT in Action list ( close #378 )
2019-12-29 15:12:13 +01:00
Michele Caini
000b7d2651
updated single include file
2019-12-19 15:14:33 +01:00
Michele Caini
9ffa372ba2
workaround for an issue of MSVC ( close #373 )
2019-12-19 09:19:37 +01:00
Michele Caini
510cfcf1fc
now working on v3.2.2
2019-12-19 09:18:41 +01:00
Michele Caini
e7f6d93a1e
cleanup
2019-12-01 15:59:25 +01:00
Michele Caini
a17c449075
observer: minor changes
2019-12-01 15:58:05 +01:00
Michele Caini
c4da7a87f9
typo
2019-12-01 15:57:51 +01:00
Michele Caini
4a8b2f826d
cleanup
2019-12-01 15:46:28 +01:00
Stefano Fiorentino
4901e4fb80
adding git_shallow to cmake deps helps reducing building time from scratch ( #367 )
...
very useful in CI/CD pipelines
2019-12-01 15:45:20 +01:00
Michele Caini
ce3a0157cb
updated version.h to v3.2.1
2019-11-26 11:20:54 +01:00
Michele Caini
a146b06e4b
updated single include file to v3.2.1 ( close #366 )
2019-11-26 11:18:41 +01:00
Michele Caini
dc78a3e56d
version: 3.2.1
2019-11-26 11:17:13 +01:00
Michele Caini
86c524dade
fix: sorting empty types ( close #365 )
2019-11-26 11:16:02 +01:00
Innokentiy Alaytsev
6889edcfc4
meta, fix: meta_prop::next lazy initialization
2019-11-26 11:11:42 +01:00
Michele Caini
3cd5934bad
typo
2019-11-26 11:11:26 +01:00
Michele Caini
064104f23a
suppress **all** shadow warnings ( close #346 )
2019-11-26 11:11:19 +01:00
Michele Caini
e80b1c264c
family: it no longer dacays types
2019-11-26 11:11:13 +01:00
Michele Caini
03c3ee514b
updated doc
2019-10-25 00:03:58 +02:00
Michele Caini
c93d0f0d59
registry::prepare to force create pools explicitly
2019-10-24 23:10:03 +02:00
Michele Caini
85793d38bc
meta: a static assertion forbids using non-copyable types with meta_any ( close #336 )
2019-10-24 22:55:07 +02:00
David Demelier
49b4a85d55
FAQ: add note about non-copyable objects ( #344 )
2019-10-24 14:59:22 +02:00
Michele Caini
5e8a9340f1
meta: added meta_type::remove_extent ( close #345 )
2019-10-23 23:29:25 +02:00
Michele Caini
2b97c01bd6
named_type_traits<Type>::value -> named_type_traits_v<Type>
2019-10-21 22:52:49 +02:00
Michele Caini
39e3a5a708
make macros require a trailing semicolon
2019-10-21 14:23:22 +02:00
Michele Caini
df13d993f7
test: more on type_traits
2019-10-21 13:43:51 +02:00
Michele Caini
36c62763e5
updated TODO
2019-10-20 18:45:49 +02:00
Michele Caini
ad5651ffb2
ENTT_DISABLE_ETO to disable empty type optimization ( close #330 )
2019-10-20 17:32:10 +02:00
Michele Caini
717b091b49
meta: internal and external indexing to disambiguate property overloads
2019-10-20 15:44:53 +02:00
Michele Caini
4376bbe40b
workaround for an issue with clang 6
2019-10-19 22:08:11 +02:00
Michele Caini
2382d2e21c
meta: invocable properties (aka annotations - see #299 )
2019-10-19 16:25:35 +02:00
Michele Caini
520ccfcd06
meta: support tuple as properties
2019-10-19 16:09:03 +02:00
Michele Caini
0bdc5dfe95
minor changes: make_index_sequence -> index_sequence_for
2019-10-19 15:54:32 +02:00
Michele Caini
6a656a1b0a
type_traits: updated choice utility (template variable)
2019-10-19 15:51:27 +02:00
Michele Caini
5ad4079dbf
meta: std::get<1>-table properties are no longer accepted, only std::pair is supported
2019-10-19 15:19:58 +02:00
Innokentiy Alaytsev
bfa46b795f
Property list ( #338 )
...
* Fix typo in comment
* Implemented a function for adding a list of properties to meta-item
2019-10-19 15:13:43 +02:00
Michele Caini
ecaa9c275c
typo
2019-10-18 21:45:17 +02:00
Michele Caini
93fd1757f8
meta: more on properties ( close #341 )
2019-10-18 17:30:32 +02:00
Michele Caini
71d0958398
type_traits: added support for the choice trick
2019-10-18 16:38:23 +02:00
Michele Caini
ed89d94d7a
meta: support for key-only properties
2019-10-17 17:23:25 +02:00
Stephan Z
135132e5f0
Snapshot loader can auto-update entities stored in maps now ( #335 ) - close #334
...
* Detect if member variable is of type map and update the contained entities if needed
* issue 334: tests for identifier update on maps in snapshots
2019-10-16 23:35:29 +02:00
Michele Caini
1ad75f5c1b
meta: updated doc ( close #324 )
2019-10-16 13:43:29 +02:00
Michele Caini
21c6f9e394
meta: updated documentation
2019-10-16 13:43:29 +02:00
Michele Caini
5a7e954aee
meta: context review
2019-10-16 13:43:29 +02:00
Michele Caini
c1117e260c
meta: meta_node<>::ctx -> meta_node<>::global
2019-10-16 13:43:29 +02:00
Michele Caini
b0ea150e94
meta: properties can be also runtime objects
2019-10-16 13:43:29 +02:00
Michele Caini
0e3bdc02ea
meta: meta_factory::type supports named types (the identifier isn't required in this case)
2019-10-16 13:43:29 +02:00
Michele Caini
e5a075a329
meta: minor changes
2019-10-16 13:43:29 +02:00
Michele Caini
30c7a64619
meta: simplified T::prop
2019-10-16 13:43:29 +02:00
Michele Caini
ab12f29ebf
meta: introduce extended meta factory
2019-10-16 13:43:29 +02:00
Michele Caini
a0c3a82c76
meta: cleanup and renaming
2019-10-16 13:43:29 +02:00
Michele Caini
085a281f8a
meta: some tests across boundaries
2019-10-16 13:43:29 +02:00
Michele Caini
1f871c24b9
meta: plug-and-play mode
2019-10-16 13:43:29 +02:00
Michele Caini
9f46b51985
minor changes
2019-10-16 13:43:29 +02:00
Michele Caini
fc572b8717
updated TODO
2019-10-16 13:43:29 +02:00
Michele Caini
4404601fa3
meta: tests
2019-10-16 13:43:29 +02:00
Michele Caini
faf7e28119
meta: added meta context object
2019-10-16 13:43:29 +02:00
Michele Caini
0303facfd9
updated TODO
2019-10-16 13:43:29 +02:00
Michele Caini
86e056a736
meta: added underlying context
2019-10-16 13:43:29 +02:00
Michele Caini
75105dc1fc
meta: cleanup
2019-10-16 13:43:29 +02:00
Michele Caini
14b4979c98
added is_equality_comparable[_v] trait
2019-10-16 13:43:29 +02:00
Michele Caini
f956c64765
meta: doc
2019-10-16 13:43:29 +02:00
Michele Caini
8b3f954ad8
meta: cleanup
2019-10-16 13:43:29 +02:00
Michele Caini
a013cfcd1e
meta_type::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
65553e6c43
meta_type::remove_pointer returns a pointer to an underlying node now
2019-10-16 13:43:29 +02:00
Michele Caini
401c881c00
meta_prop::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
cf0e4d24a1
meta_func::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
21810f3b39
meta_data::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
0b211ab0ba
meta_dtor::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
30c7cf3512
meta_ctor::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
bf8839a560
meta_base::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
818998c532
meta_conv::meta is no longer available
2019-10-16 13:43:29 +02:00
Michele Caini
98f54029d0
some consts here and there
2019-10-16 13:43:29 +02:00
Michele Caini
d41f2c138b
minor changes
2019-10-16 13:43:29 +02:00
Michele Caini
50f07a6a0d
meta: cleanup
2019-10-16 13:43:29 +02:00
Michele Caini
b10116febb
review: cache resource_type and id_type
2019-10-16 13:43:29 +02:00
Michele Caini
17b5d732e4
cleanup
2019-10-16 13:43:29 +02:00
Michele Caini
5b16b1d827
entt::resource_cache -> entt::cache
2019-10-16 13:43:29 +02:00
Michele Caini
e5fe962130
entt::resource_handle -> entt::handle
2019-10-16 13:43:29 +02:00
Michele Caini
00f03d9bb7
entt::resource_loader -> entt::loader
2019-10-16 13:43:29 +02:00
Michele Caini
f7c285af20
minor changes
2019-10-16 09:14:08 +02:00
Michele Caini
f6e3121c76
GH sponsorship
2019-10-08 22:56:26 +02:00
Michele Caini
a95aa81850
utility: overloaded and y_combinator
2019-10-01 15:02:18 +02:00
Michele Caini
ffa5825658
cleanup
2019-10-01 15:01:56 +02:00
Michele Caini
df5b90cc7c
nested groups: documentation
2019-09-30 00:20:02 +02:00
Michele Caini
9dde644fd0
nested groups: impl + tests
2019-09-30 00:19:17 +02:00
Michele Caini
d525a1536c
sink::[before|disconnect]: const void * -> Type *
2019-09-30 00:11:07 +02:00
Michele Caini
54f18f3f0d
delegate/sink: pointer payload
2019-09-29 23:40:03 +02:00
Michele Caini
ce4f26a5d5
minor changes
2019-09-29 21:43:30 +02:00
Guillaume Haerinck
177a7429f1
[doc] Add link to Mirror lasers & Robots project ( #329 )
2019-09-29 21:31:49 +02:00
Michele Caini
f672d734f9
delegate: built-in support for pointer payload
2019-09-29 00:46:29 +02:00
Michele Caini
faf5a38f1c
sink: before/disconnect and const void *
2019-09-28 22:56:47 +02:00
Michele Caini
03c4267b84
process: tests with both a complex data type and a fundamental type ( close #326 )
2019-09-28 00:25:25 +02:00
Michele Caini
ab08621808
updated .gitignore
2019-09-28 00:17:41 +02:00
Michele Caini
d06c0e5c5d
updated doc
2019-09-28 00:12:47 +02:00
Griffin Downs
32e76298e4
Add vcpkg installation instructions ( #327 )
2019-09-28 00:08:38 +02:00
Michele Caini
752163a5c0
workaround for an issue of VS2019 ( close #314 )
2019-09-27 23:49:43 +02:00
Michele Caini
6568fa23f8
updated TODO
2019-09-27 23:06:26 +02:00
Michele Caini
9c69288304
added more showcases ( close #328 )
2019-09-27 23:03:45 +02:00
Michele Caini
3a3346e750
typo
2019-09-26 23:32:25 +02:00
Michele Caini
47ab73d9a4
updated doc
2019-09-26 23:03:44 +02:00
Michele Caini
9555385325
updated list of contributors
2019-09-26 16:11:19 +02:00
xiss burg
f80a03afc7
This should allow any type to be used as Delta... ( #325 )
...
* This should allow any type to be used as Delta, beyond native numerical types.
* Why write more code than you have to?
2019-09-26 16:09:56 +02:00
Michele Caini
c1b64770d1
updated tests
2019-09-25 23:54:53 +02:00
Michele Caini
400f106d62
updated coverage.yml
2019-09-25 13:52:39 +02:00
Michele Caini
1cc20716ae
codecov badge
2019-09-25 12:58:43 +02:00
Michele Caini
fc7d123871
tests: review
2019-09-25 12:54:17 +02:00
Michele Caini
2a8a014ad0
tests: review
2019-09-25 12:37:20 +02:00
Michele Caini
861f452d26
remove coveralls
2019-09-25 11:57:48 +02:00
Michele Caini
64a7d5e4fd
codecov
2019-09-25 11:57:29 +02:00
Michele Caini
7c45423969
GH actions: reattach HEAD (workaround for an issue with the checkout action)
2019-09-25 10:13:13 +02:00
Michele Caini
480f70d7e2
GH actions: badges
2019-09-24 17:10:43 +02:00
Michele Caini
7f182896ca
deleted appveyor/travis files
2019-09-24 17:01:45 +02:00
Michele Caini
1319fe2eb5
GH actions: conan
2019-09-24 16:45:26 +02:00
Michele Caini
f5c231aa80
GH actions: split CI and coveralls
2019-09-24 11:41:22 +02:00
Michele Caini
84d468333a
github actions
2019-09-24 11:36:33 +02:00
Michele Caini
dfdbb0a061
class -> struct
2019-09-24 00:12:49 +02:00
Michele Caini
27365abbe3
registry: always assure and mutable list of pools
2019-09-23 23:44:14 +02:00
Michele Caini
f3aed46c94
minor changes
2019-09-23 23:16:29 +02:00
Michele Caini
7e0ea176cf
cleanup
2019-09-23 22:58:47 +02:00
Michele Caini
791e13e7bf
updated README
2019-09-23 16:01:50 +02:00
Michele Caini
9dff3ac749
sigh::disconnect and sigh::before support for pointers to instances
2019-09-22 23:42:04 +02:00
Michele Caini
45f207164d
minor changes
2019-09-22 16:11:09 +02:00
Michele Caini
bea6f3ec14
sigh: filter out null opaque pointers
2019-09-22 15:19:27 +02:00
Michele Caini
1edc883ca2
cleanup
2019-09-21 17:00:44 +02:00
Michele Caini
116825d604
slightly faster sparse_set::arrange (apply permutation in O(N) now)
2019-09-21 15:29:11 +02:00
Michele Caini
26bc5ef091
workaround for an issue of VS
2019-09-20 17:27:52 +02:00
Michele Caini
8c228287aa
doc: sink::before
2019-09-20 15:22:19 +02:00
Michele Caini
5c7c682d41
test: sink::before
2019-09-20 15:20:31 +02:00
Michele Caini
bfc2eca041
sink::before (overloaded function)
2019-09-20 14:53:10 +02:00
Michele Caini
b043b48e6e
sparse_set::arrange: more tests (see #323 )
2019-09-20 08:33:31 +02:00
Michele Caini
d7c03d7356
fixed an issue with sparse_set::arrange ( close #323 )
2019-09-19 23:50:30 +02:00
Michele Caini
c41f6aebf4
sorting: more tests
2019-09-19 22:39:13 +02:00
Michele Caini
5e6cda7c5e
registry: fixed signal race on groups ( close #320 )
2019-09-19 14:09:53 +02:00
Carl Findahl
9c71b53abc
Add namespace qualifier in CMake ( close #321 ) ( #322 )
2019-09-19 13:28:33 +02:00
Michele Caini
3f96e04a7b
workaround for an issue with clang 6
2019-09-18 23:16:45 +02:00
Michele Caini
90eeeedf52
view supports exclusion list
2019-09-18 14:32:58 +02:00
Michele Caini
6649362fec
minor changes
2019-09-18 00:04:45 +02:00
Michele Caini
39c8889585
cleanup
2019-09-18 00:04:22 +02:00
Michele Caini
b5b1a64f0c
typo
2019-09-18 00:04:07 +02:00
Michele Caini
cd108b5f57
prepare view for exclusion list
2019-09-17 23:26:54 +02:00
Michele Caini
780f3f8552
updated TODO list
2019-09-17 16:53:52 +02:00
Michele Caini
afea5eb69e
added @suVrik to the list of contributors
2019-09-17 16:49:36 +02:00
Michele Caini
b72cf5d364
review: observer
2019-09-17 16:48:54 +02:00
Andrej Suvoraŭ
c133686dde
Fix entt::collector::where ( #319 )
...
* fix observer
* add chained entt::collector::where test
2019-09-17 16:02:11 +02:00
Michele Caini
e216fa98ef
cleanup
2019-09-16 22:37:38 +02:00
Michele Caini
8f9d8e188f
updated README
2019-09-16 15:51:00 +02:00
Michele Caini
800751cbe0
sorting no longer requires allocations and is much faster
2019-09-16 15:38:34 +02:00
Michele Caini
14bc73cde9
swap accepts entities, no longer raw positions
2019-09-14 17:49:30 +02:00
Michele Caini
41307046be
updated doc
2019-09-14 17:47:24 +02:00
Michele Caini
c259c79384
typo
2019-09-12 23:01:49 +02:00
Michele Caini
49f69facaf
cleanup
2019-09-12 22:52:41 +02:00
Michele Caini
da2b6acf91
minor changes - code coverage
2019-09-12 22:34:03 +02:00
Michele Caini
fbdbe848c5
workaround for an issue of VS2017 ( close #316 )
2019-09-12 22:11:08 +02:00
Michele Caini
cc41caede9
multi-component [registry|view|group]::empty
2019-09-12 14:16:06 +02:00
Michele Caini
ee373eb6fb
multi-component registry::shrink_to_fit
2019-09-11 23:12:14 +02:00
Michele Caini
d4b18b1e27
multi-component registry::reserve
2019-09-11 23:10:24 +02:00
Michele Caini
94e2fe2cbb
make empty components eat arguments on construction
2019-09-11 22:56:35 +02:00
Michał Janiszewski
c93658ee04
Use Ninja on AppVeyor ( #310 )
...
This brings up improved compilation speed and saner error messages.
2019-09-11 22:24:05 +02:00
Michele Caini
ad7ee0b716
mark cmake project explicitly as C++ (see #309 )
2019-09-10 23:02:22 +02:00
Michele Caini
b2fad7a567
added dispatch::discard to clear pools of events ( close #312 )
2019-09-10 22:55:03 +02:00
Michele Caini
e80adc2799
cmake support for clang users on Windows (see #311 )
2019-09-10 16:38:38 +02:00
Michele Caini
ac111224ae
meta: all function arguments are taken by alias ( close #301 )
2019-09-10 16:10:09 +02:00
Michele Caini
0813bb1a28
updated doc
2019-09-10 16:10:09 +02:00
Michele Caini
4d1ad8f749
meta_handle no longer exposes try_cast
2019-09-10 16:10:09 +02:00
Michele Caini
80b444e531
added meta_any constructor for the unmanaged object taken from a meta_handle
2019-09-10 16:10:09 +02:00
Michele Caini
3a6468cd0a
disable BUILD_MOD for the CI
2019-09-10 15:18:28 +02:00
Michele Caini
c9fdb215f3
C language required for duktape (see BUILD_MOD option for more details)
2019-09-10 15:12:59 +02:00
Michał Janiszewski
85ff5f2d10
Mark CMake project explicitly as C++ ( #309 )
...
This prevents checking of C compiler
2019-09-10 14:31:12 +02:00
Michele Caini
be3597524f
added a static_assert in a test to suppress a warning from GCC
2019-09-08 22:53:48 +02:00
Michele Caini
5717dbda4f
added [[maybe_unused]] to suppress a warning from GCC
2019-09-08 22:50:51 +02:00
Michele Caini
588eec4672
added meta_type::compare, meta_any no longer has to store aside comparison functions
2019-09-08 22:44:06 +02:00
Michele Caini
cc3d0d8211
no more references to the prototype class ( close #307 )
2019-09-08 00:11:44 +02:00
Michele Caini
1550efaf7e
stomp & spawn: const source registry ( close #308 )
2019-09-08 00:09:43 +02:00
Michele Caini
007300b881
sigh: ordered calls
2019-09-08 00:05:26 +02:00
Michele Caini
454f072f13
review stomp & spawn ( close #306 )
2019-09-06 17:21:07 +02:00
Michele Caini
b3be6c75c3
cleanup
2019-09-06 16:42:42 +02:00
Michele Caini
f8774f314b
sink::disconnect accepts also opaque pointers
2019-09-06 08:19:28 +02:00
Michele Caini
3db35ad343
added openblack to the links
2019-09-06 08:19:28 +02:00
Michele Caini
0e42a779e2
meta_any uses reference_wrapper instead of as_alias_t for aliasing
2019-09-06 08:19:28 +02:00
Michele Caini
d34e829811
perf improvement
2019-09-06 08:19:28 +02:00
Michele Caini
ebd988702e
relaxed constraints on the order of types in the group definition
2019-09-06 08:19:28 +02:00
Michele Caini
1232398742
now working on EnTT v3.2.0
2019-09-06 08:19:28 +02:00
Michele Caini
6dbcd47143
updated single file
2019-09-06 08:18:34 +02:00
Michele Caini
0e07482e26
ready to cut v3.1.1
2019-09-05 15:24:08 +02:00
Michele Caini
6bb4800ecd
fix batch creation ( close #305 )
2019-09-05 15:24:03 +02:00
Michele Caini
37e1ac71b0
minor changes
2019-09-05 15:22:24 +02:00
Michele Caini
869f96816c
updated doc
2019-09-05 15:21:45 +02:00
Michele Caini
35a7008444
added noexcept specifier
2019-09-03 23:39:38 +02:00
Michele Caini
67f80ee111
the default ctor of entt::meta_factory should be public
2019-09-03 23:31:43 +02:00
Michele Caini
083a58753b
typo
2019-09-03 23:31:39 +02:00
Michele Caini
b652357a5c
review: group::sort
2019-09-02 16:48:47 +02:00
Michele Caini
49a52140b0
minor changes
2019-09-02 16:34:38 +02:00
Michele Caini
e37f84a227
avoid taking the position twice
2019-09-02 16:23:11 +02:00
Nicki
50fc83d478
Update AUTHORS ( #302 )
...
He's one of contributors to the idea of nested groups!! :)
2019-08-30 09:49:46 +02:00
Michele Caini
a3da1c54eb
updated single file
2019-08-29 16:01:26 +02:00
Michele Caini
b8471e3cf1
algorithm: radix sort
2019-08-27 23:42:58 +02:00
Michele Caini
4bd645d5c6
updated links
2019-08-26 16:57:30 +02:00
Michele Caini
83446c0694
updated sparse_set interface
2019-08-26 15:01:50 +02:00
Michele Caini
b4c30fc07b
cleanup
2019-08-26 14:54:15 +02:00
Michele Caini
8325f5bbae
runtime_view no longer uses sparse_set<...>::extent()
2019-08-26 14:54:15 +02:00
Michele Caini
9eb1196526
multi-component view no longer uses sparse_set<...>::extent()
2019-08-26 14:54:15 +02:00
Michele Caini
5fe5d4b6fc
runtime_view doesn't use sparse_set<...>::data() anymore
2019-08-26 14:54:15 +02:00
Michele Caini
34af44b8d3
updated doc ( close #298 )
2019-08-26 14:53:21 +02:00
Michele Caini
643a20fec3
minor changes
2019-08-25 16:52:59 +02:00
Michele Caini
576b931090
meta: updated doc ( close #297 )
2019-08-25 14:50:12 +02:00
Michele Caini
2cc1f044df
constructor to create actors from existing entities ( close #296 )
2019-08-23 15:54:53 +02:00
Michele Caini
c651392643
removed prototype and dependency (with connect/disconnect)
2019-08-23 15:02:55 +02:00
Michele Caini
9a669176ac
workaround for an ICE with VS2019
2019-08-22 23:53:34 +02:00
Michele Caini
b902831db8
cleanup
2019-08-22 23:31:28 +02:00
Michele Caini
90a1de383a
more tests
2019-08-22 18:35:23 +02:00
Michele Caini
83f9d42d31
registry: stomp and spawn
2019-08-22 18:03:29 +02:00
Michele Caini
94136531a5
added type_list_size and type_list_size_v
2019-08-22 17:59:15 +02:00
Michele Caini
b8b1e6ba62
registry::stomp: registry & -> basic_registry &
2019-08-21 23:27:35 +02:00
Michele Caini
d6911337f3
added storage::batch overload for copy construction
2019-08-21 23:23:21 +02:00
Michele Caini
d2cbb72490
cleanup
2019-08-21 23:22:32 +02:00
Michele Caini
c835b4d363
updated doc
2019-08-21 17:44:11 +02:00
Michele Caini
ece4480200
batch creation returns iterators and no longer raw pointers
2019-08-21 17:36:56 +02:00
Michele Caini
57f8d90e38
updated README
2019-08-21 17:30:56 +02:00
Michele Caini
da2b2701fe
minor changes
2019-08-21 16:57:38 +02:00
Michele Caini
6d7fba3abf
updated README
2019-08-21 15:27:29 +02:00
Ezekiel Warren
90798c161b
Bazel Support ( #287 ) ( #291 )
2019-08-21 15:11:29 +02:00
Michele Caini
65e270ff57
minor changes
2019-08-21 14:52:58 +02:00
Michele Caini
4912e19281
workaround for an issue of VS2019
2019-08-20 17:14:09 +02:00
Michele Caini
6402564f44
minor changes
2019-08-20 16:59:49 +02:00
Michele Caini
a06d5dd7bb
registry: updated signatures for callbacks, deprecated dependency
2019-08-20 16:52:30 +02:00
Michele Caini
15e7486ca3
appveyor: support for VS2019
2019-08-19 17:58:22 +02:00
Michele Caini
ac462cfce9
workaround for an issue of VS2019
2019-08-19 17:56:28 +02:00
Michele Caini
d921306dd8
workaround for an issue of VS2019
2019-08-19 17:49:55 +02:00
Michele Caini
05417705ed
removed useless move(s)
2019-08-19 17:39:46 +02:00
Michele Caini
1c7d9e3d75
signals meet references ( close #289 )
2019-08-18 15:21:29 +02:00
Ezekiel Warren
97dd928ca4
benchmark to use entt::component ( #290 )
...
* benchmark to use entt::component
* updated list of contributors
2019-08-18 15:04:10 +02:00
Michele Caini
03949f7d60
fixed registry::loader, destroyed is set to null as expected
2019-08-17 16:13:28 +02:00
Michele Caini
effe477351
perf improvement
2019-08-17 15:51:22 +02:00
Michele Caini
12ac858242
cleanup
2019-08-17 15:26:04 +02:00
Michele Caini
eec1937f52
updated entt::null comparison functions
2019-08-17 14:51:14 +02:00
Michele Caini
906cd48fb7
version-less entt::null ( close #288 )
2019-08-16 15:26:36 +02:00
Michele Caini
78beecf6f1
meta: removed wrong noexcept
2019-08-16 00:41:54 +02:00
Michele Caini
06a0646541
registry::stomp: tests + bug fixing
2019-08-15 15:38:47 +02:00
Michele Caini
0499a6c6f9
deprecated prototype/documented registry::stomp
2019-08-14 15:39:49 +02:00
Michele Caini
0e62f2ee85
updated list of showcases
2019-08-14 15:30:54 +02:00
Michele Caini
2ba4c36af0
registry::stomp (to be tested yet)
2019-08-13 15:58:26 +02:00
Michele Caini
688e6ad79f
minor changes
2019-08-12 17:52:13 +02:00
Michele Caini
f8ee0ce185
fixed typo
2019-08-12 17:20:20 +02:00
Michele Caini
a226e06ae8
fixed typo
2019-08-12 15:57:59 +02:00
Michele Caini
e0e51b51b7
added exclusion list to registry::clone ( close #286 )
2019-08-12 15:43:28 +02:00
Michele Caini
9e9e3d43a8
updated doc
2019-08-11 23:46:20 +02:00
Michele Caini
7691a9bdad
entt::component is now available
2019-08-11 17:21:30 +02:00
Michele Caini
22020cae49
doc: minor changes
2019-08-11 15:57:45 +02:00
Michele Caini
6cd910b0f6
added a test to meta to show how to set/get plain variables ( close #284 )
2019-08-11 15:37:48 +02:00
Michele Caini
b5e9811063
updated doc
2019-08-10 23:42:12 +02:00
Michele Caini
7668c7dd00
updated TODO
2019-08-09 16:12:55 +02:00
Michele Caini
d71f743e85
meta: updated documentation
2019-08-09 16:06:50 +02:00
Michele Caini
73ef0222ac
tests for meta policies
2019-08-09 00:40:37 +02:00
Michele Caini
6152387096
meta: policies
2019-08-08 23:45:19 +02:00
Michele Caini
b93ffe3b44
workaround for a bug of clang ( close #281 )
2019-08-08 23:42:28 +02:00
Michele Caini
478eb7c5b5
minor changes
2019-08-08 17:04:45 +02:00
Michele Caini
6c40d8bd8b
updated links
2019-08-08 15:28:33 +02:00
Michele Caini
7026fe4d5a
meta: review dtor policy
2019-08-06 00:32:29 +02:00
Michele Caini
9a4491dc50
workaround for a bug of gcc7
2019-08-05 14:40:11 +02:00
Michele Caini
0d835e5014
workaround for an issue of gcc7
2019-08-05 14:29:55 +02:00
Michele Caini
29b5ffb58d
rewritten self-contained lambda
2019-08-05 14:19:56 +02:00
Michele Caini
a179ec485b
minor changes
2019-08-05 09:50:52 +02:00
Michele Caini
f220a577e0
meta: review
2019-08-05 09:50:45 +02:00
Michele Caini
b22b1d4794
meta: prevent aliasing on prop with future changes
2019-08-04 23:03:31 +02:00
Michele Caini
d2d19e3fbc
fixed typo
2019-08-04 23:03:00 +02:00
Michele Caini
19ef290499
minor changes
2019-08-01 14:52:28 +02:00
Michele Caini
f6584b45ed
doc: fixed typo
2019-07-31 14:17:24 +02:00
Michele Caini
bad97a8b5b
meta system:
...
* perf improvements
* meta_any::try_cast
* meta_any is void-friendly
* meta_any support for unmanaged objects
* general cleanup
2019-07-28 17:08:56 +02:00
Michele Caini
7116df15d6
FAQ: fixed typo - thanks @huwpascoe and @Kerndog73
2019-07-28 17:08:31 +02:00
Michele Caini
ffbb018d12
updated FAQ
2019-07-22 14:47:08 +02:00
Michele Caini
a4dcdfc403
updated FAQ
2019-07-13 00:14:33 +02:00
Michele Caini
87d901b1ae
is now possible to sort non-owning groups using a custom comparison function
2019-07-12 15:41:07 +02:00
Michele Caini
9126651cb9
added the possibility to sort free instances for owned types
2019-07-11 14:46:25 +02:00
Michele Caini
3996ce8ce5
test: storage::sort for ranges
2019-07-10 15:00:00 +02:00
Michele Caini
6340423b32
updated doc
2019-07-10 14:35:38 +02:00
Michele Caini
0d921dc1fc
added support for free/member functions to meta_conv
2019-07-10 14:29:17 +02:00
Michele Caini
25afea4f9c
meta: setters and getters receive instances as references now
2019-07-10 14:26:40 +02:00
Michele Caini
ba46bf3af5
review: sort/respect
2019-07-09 17:26:31 +02:00
Michele Caini
416b4885f9
updated doc ( close #277 )
2019-07-09 15:15:26 +02:00
Michele Caini
9a10ee0efa
updated doc (see #277 )
2019-07-09 14:56:32 +02:00
Michele Caini
d63b78f0e7
minor changes
2019-07-09 14:01:56 +02:00
Michele Caini
99411241f6
fixed typo
2019-07-09 13:59:28 +02:00
Michele Caini
941fb1349b
added cache::each ( close #275 )
2019-07-09 13:58:44 +02:00
Michele Caini
a470925305
typo
2019-07-06 15:23:40 +02:00
Michele Caini
e3ac292af1
return types for meta_func are no longer ambiguous ( close #274 )
2019-07-06 00:10:37 +02:00
Michele Caini
260b9a8d0d
meta_any meets void
2019-07-05 23:03:01 +02:00
Michele Caini
530407f9b2
minor changes
2019-07-05 14:13:10 +02:00
Michele Caini
52e7b50e9b
sigh: more tests
2019-07-05 13:36:47 +02:00
Michele Caini
23aa097d0a
fixed the clone functionality ( close #273 )
2019-07-05 08:41:24 +02:00
Michele Caini
0bea153aa0
more on sigh, connection and scoped_connection
2019-07-04 15:04:17 +02:00
Michele Caini
00be58e65d
cleanup - thanks @Kerndog73
2019-07-03 15:28:11 +02:00
Michele Caini
a5cc985bc2
fixed doc for sigh - thanks @Kerndog73
2019-07-03 15:18:36 +02:00
Michele Caini
afba54fb5e
updated doc for delegate/sigh ( close #267 )
2019-07-02 15:31:55 +02:00
Michele Caini
46150a2da4
delegate works now also with move only types ( close #272 )
2019-07-02 14:49:49 +02:00
Michele Caini
842988c2ad
workaround for an issue of MSVC
2019-07-01 16:21:07 +02:00
Michele Caini
ebad34ae51
sigh: more tests
2019-07-01 15:26:11 +02:00
Michele Caini
bceb359438
minor changes
2019-07-01 15:16:38 +02:00
Michele Caini
19a32134ab
tests: sigh connection/scoped_connection
2019-07-01 15:09:55 +02:00
Michele Caini
e44a71daf2
delegate::operator==/!= test the instance as a whole now
2019-06-30 22:19:44 +02:00
Michele Caini
573750a43d
added connection/scoped_connection ( #267 - test required)
2019-06-30 21:32:45 +02:00
Michele Caini
dd4c73b41f
review: signal/sink
2019-06-30 21:32:45 +02:00
Michele Caini
094326220f
cleanup
2019-06-30 21:32:45 +02:00
Michele Caini
729a071284
sigh: a more modern approach (as in modern C++) for collectors
2019-06-30 21:32:45 +02:00
Michele Caini
ee7857a560
sigh: removed invoker class
2019-06-30 21:32:45 +02:00
Michele Caini
4cba604712
updated list of projects ( close #270 )
2019-06-30 20:49:11 +02:00
Michele Caini
18a62797d9
updated FAQ
2019-06-30 17:11:40 +02:00
Michele Caini
5d4ac62c9e
removed superfluous base class
2019-06-28 10:35:35 +02:00
Michele Caini
2ef8c41b48
updated list of contributors
2019-06-27 08:52:30 +02:00
Michele Caini
891831a96a
Merge pull request #269 from Lawrencemm/conan_editable
...
Conan: Support package in editable mode
2019-06-27 08:51:38 +02:00
Michele Caini
11d18fa1af
entity identifiers as enum classes ( close #256 )
2019-06-23 16:09:07 +02:00
Lawrence Millar-Madigan
ad69cbc681
Conan: Support package in editable mode
...
Add a method to the recipe that maps the include path to "src" when the package is put into "editable mode". See:
https://docs.conan.io/en/latest/developing_packages/editable_packages.html
2019-06-22 14:55:02 +10:00
Michele Caini
10995de7bd
cleanup - thanks to @Kerndog73 (see #267 )
2019-06-19 17:32:32 +02:00
Michele Caini
c4d78c06eb
fixed group::sort with components
2019-06-19 15:25:30 +02:00
Michele Caini
eb252321a7
minor changes
2019-06-18 23:23:42 +02:00
Michele Caini
04dd1447ee
minor changes
2019-06-17 16:14:20 +02:00
Michele Caini
b14edbe1f4
review: observer
2019-06-16 18:39:56 +02:00
Michele Caini
c697e52c0c
fixed range destroy - it's probably slightly slower now but it works also with views and groups ( close #261 )
2019-06-16 17:14:32 +02:00
Michele Caini
b6911da8f0
CI runs now in debug mode ( close #263 )
2019-06-16 17:12:41 +02:00
Michele Caini
038448865b
workaround for an issue with VS ( close #264 )
2019-06-16 17:10:25 +02:00
Michele Caini
9e44fdbc55
review: test
2019-06-16 17:08:37 +02:00
Michele Caini
e088f0f31e
observer: when -> where ( close #265 )
2019-06-16 15:16:04 +02:00
Michele Caini
6101feda10
added default constructor to actor
2019-06-13 06:52:01 +02:00
Michele Caini
7a3fa68468
added actor::operator bool() + minor changes
2019-06-12 17:36:26 +02:00
Michele Caini
16a11638a7
updated observer ( close #260 )
2019-06-11 17:49:08 +02:00
Michele Caini
43932492a7
meta: overall improvements
2019-06-10 23:19:19 +02:00
Michele Caini
8d08ffc4ae
slightly faster destroy
2019-06-10 00:24:19 +02:00
Michele Caini
a5a4ee4bfe
doc: observer/reactive systems
2019-06-10 00:24:08 +02:00
Michele Caini
e66f3a80e8
observer (they call me reactive system)
2019-06-08 16:59:22 +02:00
Michele Caini
e69efacb47
updated links ( close #258 )
2019-06-08 14:06:54 +02:00
Michele Caini
528b361e34
meta any: in place construction/emplace
2019-06-08 14:03:31 +02:00
Michele Caini
a77bb3d341
Update FUNDING.yml
2019-06-07 09:52:53 +02:00
Michele Caini
6b17385ad7
updated tests
2019-06-06 14:58:25 +02:00
Michele Caini
33fc01ef4b
Create FUNDING.yml
2019-06-06 12:08:59 +02:00
Michele Caini
482324c0bd
avoid forcing conversions because of an issue with VS2019 ( close #257 )
2019-06-04 15:02:30 +02:00
Michele Caini
0ab13a3a70
test coverage
2019-06-03 23:50:09 +02:00
Michele Caini
699fb73726
bug fixing
2019-06-01 15:18:58 +02:00
Michele Caini
ddba29cc09
more on sigh/sink
2019-05-31 22:49:37 +02:00
Michele Caini
1cdb9ef47c
updated TODO
2019-05-31 15:11:02 +02:00
Michele Caini
ade3305b4c
removed useless references to components from dependencies
2019-05-31 15:10:46 +02:00
Michele Caini
bd2bd37bc4
updated sigh: instances and payload matter now
2019-05-31 15:10:06 +02:00
Michele Caini
ee6f55193e
updated doc
2019-05-31 15:09:27 +02:00
Michele Caini
1868df61ea
fixed typo
2019-05-31 15:08:49 +02:00
Michele Caini
dfa1fc7b09
review: group handler
2019-05-31 00:14:47 +02:00
Michele Caini
a52b0495f1
minor changes
2019-05-31 00:11:00 +02:00
Michele Caini
ce00eee29f
the delegate accepts now also functions with a shorter list of parameters
2019-05-31 00:10:42 +02:00
Michele Caini
858bfade6a
a more flexible delegate
2019-05-30 21:54:12 +02:00
Michele Caini
4535cf9274
perf improvement
2019-05-29 22:50:34 +02:00
Michele Caini
84d1fa54ec
added the excluded components to the list of template parameters of a group
2019-05-28 15:03:28 +02:00
Michele Caini
7cf4721efa
review: as_group
2019-05-27 22:05:16 +02:00
Michele Caini
6578838587
fixed include
2019-05-27 21:49:19 +02:00
Michele Caini
46b7c4717f
workaround for an issue in clang 6
2019-05-27 12:08:25 +02:00
Michele Caini
52bcf63554
more on hashed strings and unique identifiers
2019-05-27 00:07:40 +02:00
Michele Caini
37ec97550e
fixed typo
2019-05-26 15:38:37 +02:00
Michele Caini
55e20abea8
cleanup
2019-05-25 23:51:16 +02:00
Michele Caini
ec7d81dc7a
added support for wstring to hashed_string
2019-05-25 23:42:06 +02:00
Michele Caini
e93387b719
maybe_atomic_t no longer exists
2019-05-25 22:21:44 +02:00
Michele Caini
050b476fc3
suppress warnings
2019-05-25 22:08:56 +02:00
Michele Caini
5b5ffd7eaf
Remove superfluous inlines (was PR #249 )
2019-05-25 22:03:34 +02:00
Michele Caini
39bf5fdc05
minor changes
2019-05-25 21:43:58 +02:00
Michele Caini
09ff43ef0a
updated doc
2019-05-22 08:44:49 +02:00
Michele Caini
5a02aeaa89
raw() is no longer in use
2019-05-22 08:44:43 +02:00
Martin Hammerchmidt
2a3a91af42
Fix: remove garbage unicode U+FEFF failing compilation on Macos ( #248 , close #247 )
2019-05-22 00:19:04 +02:00
Michele Caini
d4a64e93e0
mutable handle
2019-05-21 15:02:30 +02:00
Michele Caini
c126b64892
updated doc
2019-05-21 15:01:55 +02:00
Michele Caini
526814b9ed
added registry::ctx_or_set
2019-05-19 23:40:15 +02:00
Michele Caini
bc3b790f13
removed wrong ENTT_NOEXCEPT
2019-05-19 23:25:05 +02:00
Michele Caini
1fb0765443
registry: internal changes
2019-05-19 00:23:48 +02:00
Michele Caini
c4b85f9bda
minor changes
2019-05-18 23:53:10 +02:00
Michele Caini
161b5530b9
added [view|group]::less
2019-05-18 14:11:12 +02:00
Michele Caini
e03979ebdc
cleanup
2019-05-18 14:05:04 +02:00
Michele Caini
356c0ab594
now working on v3.1.0
2019-05-18 14:04:41 +02:00
Michele Caini
85152bac34
doc
2019-05-15 23:41:51 +02:00
Michele Caini
c832888d56
doc
2019-05-15 23:27:44 +02:00
Michele Caini
cac1b87b44
assert -> ENTT_ASSERT
2019-05-15 23:23:06 +02:00
Michele Caini
30f71b2ed6
assert (has) on replace for empty components
2019-05-15 23:07:24 +02:00
Michele Caini
9f8e9a1916
code coverage
2019-05-15 22:58:46 +02:00
Michele Caini
8519fe57ae
minor changes
2019-05-15 16:05:14 +02:00
Michele Caini
1442a3853c
minor changes
2019-05-15 15:53:35 +02:00
Michele Caini
2658ddf868
code coverage
2019-05-15 15:25:06 +02:00
Michele Caini
f95eecfcc6
minor changes
2019-05-13 17:29:54 +02:00
Michele Caini
1e598cca31
added validity checks ( close #245 )
2019-05-12 11:50:46 +02:00
Michele Caini
f3eaeb96f0
review: instance-less pools for empty types
2019-05-10 23:45:26 +02:00
Michele Caini
91fac8049c
perf improvement
2019-05-10 10:17:32 +02:00
Michele Caini
b1325a7514
suppress wrong warning
2019-05-09 16:37:41 +02:00
Michele Caini
150b83b4f3
instance-less pools for empty components
2019-05-09 16:20:44 +02:00
Michele Caini
3a3a5dc071
updated links ( close #242 )
2019-05-08 23:42:17 +02:00
Michele Caini
9b76a5bd66
(maybe) workaround for a bug in msvc
2019-05-07 23:48:12 +02:00
Michele Caini
850a1f9155
workaround for a bug in GCC7
2019-05-07 23:19:09 +02:00
Michele Caini
ef6c8a38d0
minor changes
2019-05-07 23:16:21 +02:00
Michele Caini
e228cb6648
prepare for instance-less pools for empty components
2019-05-07 16:29:31 +02:00
Michele Caini
3a53cac607
rework to easily allow storage specializations
2019-05-07 00:13:05 +02:00
Michele Caini
df4bd57c82
cleanup
2019-05-07 00:12:30 +02:00
Michele Caini
de737fc72d
hashed string: support for string views
2019-05-06 00:07:24 +02:00
Michele Caini
ccea7a5783
review: cloning functionality
2019-05-05 22:34:15 +02:00
Michele Caini
5b84e1528a
workaround for a bug (?) of msvc
2019-05-05 16:07:45 +02:00
Michele Caini
7382addfe4
minor changes
2019-05-04 18:06:03 +02:00
Michele Caini
b8dd6822ac
type_list_cat[_t]/type_list_unique[_t] ( close #238 )
2019-05-02 22:54:34 +02:00
Sztergbaum Roman
8c47b85b9b
add single include of EnTT framework ( #236 )
2019-05-01 16:39:01 +02:00
Michele Caini
4d2666a0e3
minor changes ( close #235 )
2019-05-01 15:30:12 +02:00
Michele Caini
fc18eaa292
updated README ( close #228 - thanks to @ColinH for the review)
2019-04-30 23:38:26 +02:00
Michele Caini
22199cdd87
updated doc ( close #232 )
2019-04-30 23:06:35 +02:00
Michele Caini
76820f25c6
updated links
2019-04-30 22:42:12 +02:00
Michele Caini
bac4984496
updated doc ( close #231 )
2019-04-30 18:11:24 +02:00
Michele Caini
1414c5feac
workaround for a wrong warning emitted by GCC8 ( close #227 )
2019-04-30 17:51:03 +02:00
Michele Caini
c344f63154
fixed cloning functionality ( close #237 )
2019-04-30 16:54:45 +02:00
Michele Caini
77ea28bef2
slightly improved registry::replace (thanks to ColinH for pointing it out)
2019-04-29 23:19:43 +02:00
Michele Caini
bf63b15e07
updated doc and links
2019-04-29 19:05:42 +02:00
Michele Caini
ce05504278
fixed typos (see #235 )
2019-04-29 18:13:18 +02:00
Michele Caini
95b90974a2
removed wrong ENTT_NOEXCEPT ( close #233 )
2019-04-29 18:11:35 +02:00
Elias Ku
1adbef7352
benchmark fix ( #225 )
...
only one entity has all the components
2019-04-25 14:09:23 +02:00
Michele Caini
3109928dcd
allows setting a continuous loader as registry context ( close #224 )
2019-04-24 15:01:25 +02:00
Michele Caini
24dd63789c
updated conan test
2019-04-24 12:22:02 +02:00
Michele Caini
27225e6b5e
updated README
2019-04-23 14:55:20 +02:00
Michele Caini
2994978fdb
updated README
2019-04-23 14:52:37 +02:00
Michele Caini
ffd864dc72
review: registry internals
2019-04-23 14:50:31 +02:00
Michele Caini
53a2c88d4b
preparing for v3
2019-04-22 18:00:07 +02:00
Michele Caini
444ae73ffb
updated doc
2019-04-22 17:59:54 +02:00
Michele Caini
9f5f4b9c91
static registry::entity/version ( close #223 )
2019-04-22 17:31:25 +02:00
Michele Caini
ffd2af0257
minor changes
2019-04-21 17:03:06 +02:00
Michele Caini
b983845745
meta: built-in support for arrays
2019-04-19 14:01:00 +02:00
Michele Caini
cfcc6e1029
fix shadow warnigns and positive lambda explanation ( #221 )
2019-04-16 22:28:24 +02:00
Michele Caini
6fea4377b2
const correctness
2019-04-14 22:48:42 +02:00
Michele Caini
e01230e425
better sorting functionality for groups
2019-04-14 22:19:17 +02:00
Michele Caini
f66db81edd
sort owning groups by owned components
2019-04-14 18:29:17 +02:00
Michele Caini
a47471d0ae
updated doc
2019-04-14 16:51:42 +02:00
Michele Caini
06b5a91cd3
bug fixing
2019-04-14 15:39:09 +02:00
Michele Caini
8aacf3497e
review: snapshot ( close #219 )
2019-04-14 15:31:00 +02:00
Michele Caini
7fc5e304e3
cleanup
2019-04-13 16:19:23 +02:00
Michele Caini
65536febd5
minor changes
2019-04-13 16:02:25 +02:00
Michele Caini
60f7910840
sligthly better perf
2019-04-13 15:23:26 +02:00
Michele Caini
829c3c612e
cleanup
2019-04-12 23:03:30 +02:00
Michele Caini
355c7b59aa
cleanup
2019-04-10 13:56:19 +02:00
Michele Caini
6508cdc823
doc: review
2019-04-09 13:44:43 +02:00
Michele Caini
9ef9f603a3
updated links
2019-04-09 09:54:42 +02:00
Michele Caini
e76f881c67
renaming things
2019-04-09 09:47:35 +02:00
Michele Caini
4292d2ce86
signal on replace
2019-04-09 08:54:19 +02:00
Michele Caini
ae927c5600
workaround to make it compile also with clang 5
2019-04-08 22:45:39 +02:00
Michele Caini
57e2eed771
cleanup
2019-04-08 22:13:10 +02:00
Michele Caini
ca807b892f
added instance of component to construction signal
2019-04-08 17:48:09 +02:00
Michele Caini
9bc015d10e
made the groups sortable
2019-04-06 00:58:47 +02:00
Michele Caini
59b204c3bc
fixed typo
2019-04-06 00:57:18 +02:00
Michele Caini
4ac2472a62
minor changes
2019-04-05 23:47:20 +02:00
Michele Caini
054b9c2402
updated doc
2019-04-05 23:17:58 +02:00
Michele Caini
96f267cbfd
sort allows to work with entities
2019-04-05 23:00:58 +02:00
Michele Caini
2018163107
Revert "let's see if vs solved its problems with aliases"
...
This reverts commit 0be2f1b295 .
2019-04-04 22:30:24 +02:00
Michele Caini
253b5b1fb7
updated doc
2019-04-04 22:30:13 +02:00
Michele Caini
0be2f1b295
let's see if vs solved its problems with aliases
2019-04-04 22:23:55 +02:00
Michele Caini
a8838fc611
signals on replace
2019-04-04 22:20:24 +02:00
Michele Caini
d02636e370
rollback on signals, no need for these changes
2019-04-03 22:15:24 +02:00
Michele Caini
f3c1b09188
updated doc ( close #216 )
2019-04-03 14:26:23 +02:00
Michele Caini
7bac69f360
fixed typo
2019-04-01 17:32:52 +02:00
Michele Caini
5a3fdd225e
meta: support to unregister types
2019-04-01 14:40:45 +02:00
Michele Caini
4660f58653
hashed string is copyable/moveable now
2019-04-01 14:40:24 +02:00
Michele Caini
5fabca3616
updated doc
2019-03-31 23:14:36 +02:00
Michele Caini
edb74dae87
review: cache ( close #213 )
2019-03-31 16:08:27 +02:00
Michele Caini
31b833b46a
minor changes
2019-03-31 16:08:00 +02:00
Michele Caini
21bc1c51ba
updated doc (see #213 )
2019-03-31 15:43:19 +02:00
Michele Caini
4f6cab9a45
work around for a bug of msvc ( close #212 )
2019-03-31 15:16:16 +02:00
Michele Caini
33626fa47c
mostly renaming
2019-03-30 15:27:33 +01:00
Michele Caini
9fcc1e17f2
signal handler: substitution
2019-03-30 14:56:43 +01:00
Michele Caini
a5f48f8af8
review: registry::loader
2019-03-30 00:46:38 +01:00
Michele Caini
3dfa526ec6
shrink_to_fit available also for non-owning groups
2019-03-30 00:37:49 +01:00
Michele Caini
dc28066017
shrink_to_fit to release pages
2019-03-30 00:09:49 +01:00
Michele Caini
2f2edfbde8
updated TODO
2019-03-29 16:10:56 +01:00
Michele Caini
3beac98499
updated doc
2019-03-29 14:03:12 +01:00
Michele Caini
f70ce9dd26
added faq doc
2019-03-29 00:23:16 +01:00
Michele Caini
e301b9d399
imnor changes
2019-03-28 23:36:05 +01:00
Michele Caini
42f92ecd7a
updated TODO
2019-03-28 18:32:21 +01:00
Michele Caini
27eb0d04b9
introduced ENTT_DISABLE_ASSERT/ENTT_ASSERT macros
2019-03-28 17:49:34 +01:00
Michele Caini
112d13c127
updated doc
2019-03-28 14:56:50 +01:00
Michele Caini
16afc9d0f8
fixed link
2019-03-28 12:45:04 +01:00
Michele Caini
5b4889b46b
removed unsafe_* functions
2019-03-28 12:12:48 +01:00
Michele Caini
f7eed0e2af
paged reverse array
2019-03-28 00:09:49 +01:00
Michele Caini
cce287e8a6
page size macro/utility
2019-03-28 00:04:27 +01:00
Michele Caini
9a001ebacc
review: process/scheduler ( close #211 )
2019-03-27 14:55:43 +01:00
Michele Caini
79ab4c02bb
updated links ( close #210 )
2019-03-26 18:56:09 +01:00
Michele Caini
b6de70a3a6
Revert "cleanup"
...
This reverts commit 15cafe2d78 .
2019-03-26 18:39:39 +01:00
Michele Caini
15cafe2d78
cleanup
2019-03-26 18:00:41 +01:00
Michele Caini
90197abc5c
test coverage
2019-03-25 16:39:57 +01:00
Michele Caini
2147436a2a
more on context variables
2019-03-25 15:21:13 +01:00
Michele Caini
8ef0c66966
fixed typo
2019-03-25 09:07:33 +01:00
Michele Caini
2779ad6c6f
added unset for context variables
2019-03-24 23:12:03 +01:00
Michele Caini
f30fe3c746
fixed typo
2019-03-24 22:53:56 +01:00
Michele Caini
f71496693f
updated example in the README file ( close #209 )
2019-03-23 13:51:18 +01:00
Michele Caini
e4cd5dbf1f
fixed benchmark (thanks to Kerndog73)
2019-03-22 23:05:07 +01:00
Michele Caini
ffd5defcb6
updated benchmark
2019-03-22 22:17:58 +01:00
Michele Caini
0b81421124
updated TODO
2019-03-22 17:43:47 +01:00
Michele Caini
0f73b9e07f
clean up
2019-03-22 16:49:19 +01:00
Michele Caini
d3078699d6
type_list is now an empty type
2019-03-22 15:56:19 +01:00
Michele Caini
cc39f9f891
clean up
2019-03-22 15:32:50 +01:00
Michele Caini
70608df843
improved multi component view
2019-03-22 10:12:04 +01:00
Michele Caini
e7f2c6b5ba
more on context variables
2019-03-21 22:04:55 +01:00
Michele Caini
420fc9aa24
removed annoying/useless benchmark
2019-03-21 21:39:44 +01:00
Michele Caini
200012fd41
added component-to-entity functionality to the sparse sets + renamed some member functions
2019-03-21 17:25:13 +01:00
Michele Caini
e3c858278b
minor changes
2019-03-21 15:06:10 +01:00
Michele Caini
1ec7c3afa4
context variables (aka tags revenge)
2019-03-21 14:52:44 +01:00
Michele Caini
6ab0b60f12
avoid global shadowing to an extent ( close #207 )
2019-03-20 08:33:26 +01:00
Michele Caini
5ec38b44b0
Update README.md
2019-03-20 08:24:22 +01:00
Michele Caini
39c2294d43
updated doc
2019-03-17 16:24:08 +01:00
Michele Caini
3b92481133
added utility functions to groups/views
2019-03-17 15:55:54 +01:00
Michele Caini
6b8d24d2f5
shared types -> named types
2019-03-15 14:42:50 +01:00
Michele Caini
62d6ff61ab
updated links
2019-03-15 08:42:35 +01:00
Michele Caini
f7c056145a
added fwd decl for runtime view
2019-03-13 22:20:25 +01:00
Michele Caini
451f54b036
added NovusCore to EnTT in Action ( close #204 )
2019-03-13 21:41:39 +01:00
Michele Caini
ef378de883
updated links
2019-03-13 10:47:50 +01:00
Michele Caini
2f2b63da4a
renaming: label -> tag
2019-03-13 08:54:21 +01:00
Michele Caini
01d8f2c7e6
updated TODO
2019-03-12 23:23:25 +01:00
Michele Caini
330d553ffb
removed potentially ambiguous call ( fix #203 )
2019-03-12 23:19:17 +01:00
Michele Caini
f1d0895eb1
added forward declaration for what matters ( close #178 )
2019-03-12 22:21:58 +01:00
Michele Caini
4eaf6415b7
cleanup
2019-03-12 15:08:53 +01:00
Michele Caini
f0650bf64f
updated documentation
2019-03-12 14:58:07 +01:00
Michele Caini
44856c6207
removed useless remove_reference_t
2019-03-12 14:56:28 +01:00
Michele Caini
dcbf6e43c7
added get_or_assign ( close #202 )
2019-03-12 14:50:47 +01:00
Michele Caini
0d22da672d
fixed test
2019-03-12 00:09:59 +01:00
Michele Caini
a62471b9b8
added default constructor to resource handle
2019-03-09 15:39:10 +01:00
Michele Caini
f673f2c5bc
added each-with-type to multiple component views
2019-03-09 14:41:31 +01:00
Michele Caini
a7caae5c17
minor changes
2019-03-09 13:46:38 +01:00
Michele Caini
d0deefd0d7
review: registry ( fix #199 )
2019-03-09 00:35:11 +01:00
Michele Caini
9810da6982
batch add is now available
2019-03-08 22:49:14 +01:00
Michele Caini
cb93a3bee3
minor changes
2019-03-08 22:49:14 +01:00
Michele Caini
aeacc3e39d
updated list of patrons
2019-03-08 15:29:47 +01:00
Michele Caini
e1c861cc8a
updated links.md
2019-03-06 16:21:19 +01:00
Michele Caini
37ee05a576
updated TODO
2019-03-02 14:34:35 +01:00
Michele Caini
07a2bd817d
minor changes
2019-03-01 17:35:54 +01:00
Michele Caini
78c171e0c2
meta: review
2019-03-01 17:07:08 +01:00
Michele Caini
1ae436cb08
added compile-time checks
2019-03-01 16:38:53 +01:00
Michele Caini
b0d3a84d1e
setters/getters correctly handle references now (#fix 196)
2019-03-01 16:25:46 +01:00
Michele Caini
1acd9ca981
updated list of contributors
2019-03-01 08:45:43 +01:00
WizardIke
72467b6b9c
Fix getting distance between forward iterators ( #195 )
2019-03-01 08:44:24 +01:00
Michele Caini
862c85387c
Update README.md
2019-03-01 08:32:38 +01:00
Michele Caini
eeeca3e21c
fix #194
2019-02-28 00:06:12 +01:00
Michele Caini
4ee4af7fd4
updated registry::destroy for ranges
2019-02-27 23:56:07 +01:00
Michele Caini
d131cc1871
fixed typo
2019-02-27 22:38:47 +01:00
Michele Caini
bd21ee318d
fix #193
2019-02-27 22:12:55 +01:00
Michele Caini
02e7fc0bca
updated README
2019-02-27 15:11:53 +01:00
Michele Caini
51ba46970e
updated README ( close #191 )
2019-02-27 15:07:57 +01:00
Michele Caini
9d65b44ab7
removed pointless extra arguments from dispatcher ( close #190 )
2019-02-27 15:04:17 +01:00
Michele Caini
350d51a92d
const T & = --> std::as_const
2019-02-27 15:03:39 +01:00
Michele Caini
2a8202caa7
bug fixing
2019-02-27 14:43:55 +01:00
Michele Caini
9e4591554f
minor changes ( close #192 )
2019-02-27 14:04:40 +01:00
Michele Caini
e98ecfd1f9
cleanup
2019-02-27 13:57:24 +01:00
Michele Caini
1cbf5c4359
removed from the todo list some requests that would not bring benefits because they cannot be optimized
2019-02-25 23:56:18 +01:00
Michele Caini
0446faeb6f
minor changes
2019-02-25 23:30:26 +01:00
Michele Caini
0417ea23c3
updated README
2019-02-25 23:11:59 +01:00
Michele Caini
de9886e011
more tests
2019-02-25 22:12:19 +01:00
Michele Caini
770e57c361
emitter works across boundaries now
2019-02-24 23:59:15 +01:00
Michele Caini
d80a00701d
dispatcher works across boundaries now
2019-02-24 23:37:08 +01:00
Michele Caini
62d3cd8795
updated doc
2019-02-24 21:54:27 +01:00
Michele Caini
ad9ec22fd1
updated doc
2019-02-23 23:47:44 +01:00
Michele Caini
293985ec10
EXPAND -> ENTT_EXPAND
2019-02-23 23:47:41 +01:00
Michele Caini
105598ac8e
(maybe) solved issue due to a bug of msvc
2019-02-23 23:47:38 +01:00
Michele Caini
ff93f2220a
workaround for msvc that seems not to appreciate much macros
2019-02-23 23:47:35 +01:00
Michele Caini
33fddcb289
added a test that goes across boundaries
2019-02-23 23:47:31 +01:00
Michele Caini
6a09bf2c54
increase code coverage with minimum effort
2019-02-23 23:47:26 +01:00
Michele Caini
2913f5bbbe
registry: refactoring
2019-02-23 23:47:22 +01:00
Michele Caini
671bdb09b8
macro review
2019-02-23 23:47:15 +01:00
Michele Caini
353a0d14a4
get rid of clang errors
2019-02-23 23:47:11 +01:00
Michele Caini
e0fd83211b
lib support for registry (first draft)
2019-02-23 23:47:03 +01:00
Michele Caini
2c94d9cc37
slightly improved
2019-02-23 23:47:00 +01:00
Michele Caini
f7dec412ec
minor changes
2019-02-23 23:46:52 +01:00
Michele Caini
f7c756d215
wip: make shared traits usable
2019-02-23 23:46:48 +01:00
Michele Caini
617635a989
wip: lib support
2019-02-23 23:46:42 +01:00
Michele Caini
ea3b2c4713
fixed link to patreon
2019-02-20 09:42:36 +01:00
Michele Caini
15455a7e68
updated AUTHORS
2019-02-20 09:14:58 +01:00
Michele Caini
ad5cedc08c
cleanup
2019-02-19 14:43:45 +01:00
Michele Caini
328f0c6da8
fixed error with clang
2019-02-17 16:27:20 +01:00
Michele Caini
8ef818f581
hashed string: added possibility to use both uint32 and uint64
2019-02-17 16:19:58 +01:00
Michele Caini
48dace64e4
updated TODO
2019-02-17 16:17:32 +01:00
Michele Caini
ab5837c7c4
sigh: more tests
2019-02-17 16:17:21 +01:00
Michele Caini
9fbdbc1844
review: delegate/sigh
2019-02-17 16:17:13 +01:00
Michele Caini
54129cecc2
typo
2019-02-16 15:59:10 +01:00
Michele Caini
69c514d1a4
doc: fixed typo
2019-02-13 15:03:14 +01:00
Michele Caini
7047d12eba
updated doc
2019-02-13 14:59:59 +01:00
Michele Caini
8ab61637f0
fixed get-or-assign ( close #185 )
2019-02-12 14:29:15 +01:00
Michele Caini
7e0bd92593
fix #184 - conflicts between partial-owning groups aren't correctly detected
2019-02-10 23:00:59 +01:00
Michele Caini
99d9a9f44e
fixed tests
2019-02-10 13:21:45 +01:00
Erik Scholz
9c55111e14
[DOCS] removed excess "registry." in groups code sample ( #181 )
2019-02-09 19:00:23 +01:00
Michele Caini
b1d6ba57ad
use the right family for groups
2019-02-09 14:33:15 +01:00
Michele Caini
47e9330646
groups
2019-02-09 14:04:09 +01:00
Michele Caini
e16a3d503c
simplified sparse_set::clone
2019-02-08 17:21:03 +01:00
Michele Caini
dc9c93b347
cleanup
2019-02-08 17:20:39 +01:00
Michele Caini
faceff620a
exclude is now a variable template
2019-02-08 17:20:21 +01:00
Michele Caini
a5a6a58556
removed indexes from persistent views
2019-02-08 17:20:14 +01:00
Michele Caini
45fdab27c9
meta_any: fixed #180
2019-02-01 23:48:00 +01:00
Michele Caini
8b360479f4
updated list of contributors
2019-02-01 22:30:08 +01:00
Michele Caini
b170f2f69a
reduce the number of template instantiations
2019-02-01 22:29:24 +01:00
Michele Caini
7f1abab9ae
bug fixing (find on views)
2019-01-29 09:00:34 +01:00
Michele Caini
2ec7bc878e
minor changes
2019-01-29 08:42:37 +01:00
Michele Caini
e97d9bb095
maybe_atomic_type -> maybe_atomic_t
2019-01-29 08:40:49 +01:00
Michele Caini
2f3b02e870
typo
2019-01-29 08:40:27 +01:00
Michele Caini
11b7a45c32
improved registry::reset
2019-01-29 08:40:22 +01:00
Michele Caini
fb10d2f9c2
cleanup
2019-01-29 08:38:59 +01:00
Michele Caini
60bb7f66cf
updated todo list
2019-01-29 08:38:48 +01:00
Michele Caini
ad5143169a
removed registry::component_pool
2019-01-29 08:36:50 +01:00
Michele Caini
d68c90a429
removed registry ::pool/::managed
2019-01-29 08:36:42 +01:00
Michele Caini
8a51549395
updated list of contributors
2019-01-26 16:43:31 +01:00
corystegel
9f997fe1fa
Fix sparse_set invalid state when component constructor throws ( #176 )
...
Fix sparse_set invalid state when component constructor throws
Previously, a component's constructor that throws would cause the sparse
set to think that the entity still exists in the set. This is because the underlying
sparse set that stores the entities will have its entry added before the component
is added to the component set.
This could cause a number of invalid memory access problems such as the following:
1) Exception triggers destructor of enclosing object that then tries to remove
the component that was just added. SparseSet<entity_t, Component>::has() will
return true for the entity but when destroy() is called "instances" will be empty
so instances.back() will be invalid.
2) If the exception is handled then calling get(entity) for the same entity
identifier that initially threw the exception will give a position for that
entity even though it was not added. This can cause an invalid memory access
or accessing the data of a different stored component.
2019-01-25 22:36:30 +01:00
Michele Caini
00f1f6d86b
updated sigh + added future plans for this class to the todo list
2019-01-25 14:39:00 +01:00
Michele Caini
be72728000
updated doc
2019-01-24 14:30:16 +01:00
Michele Caini
f558126854
fixed typo + added tests (thanks to Kerndog73)
2019-01-24 08:36:55 +01:00
Michele Caini
08ed1500ac
updated doc + minor changes
2019-01-23 16:06:53 +01:00
Michele Caini
f0926f1cc7
removed final specifier
2019-01-23 15:51:55 +01:00
Michele Caini
fe3f6aa22b
signal: review
2019-01-23 15:42:29 +01:00
Michele Caini
1325f75e81
updated links
2019-01-23 15:37:15 +01:00
Michele Caini
4b1d3a7b6f
allow for null entity members ( #174 )
2019-01-13 22:28:40 +01:00
Michele Caini
404afcdfd6
added default constructor to handle
2019-01-12 14:49:14 +01:00
Michele Caini
99793180f1
minor changes
2019-01-08 17:24:42 +01:00
Michele Caini
c91f9beddb
removed raw view + added extended each member function to all the other views
2019-01-04 10:44:27 +01:00
Michele Caini
c9c5ccaa6d
updated file links.md
2019-01-04 10:43:18 +01:00
Michele Caini
da42de7ac8
updated copyright
2019-01-02 15:36:14 +01:00
Michele Caini
3c9a6ad218
delegate: curried functions can accept linked parameters either by value or by reference
2019-01-01 15:01:13 +01:00
Michele Caini
f0389d6b47
updated TODO
2018-12-31 17:52:58 +01:00
Michele Caini
76eab21738
appveyor runs the tests now
2018-12-29 00:57:23 +01:00
Michele Caini
3b32c57d94
delegate: updated constraints for curried functions
2018-12-28 22:53:21 +01:00
Michele Caini
d119032cb9
added support for extra arguments to dispatcher
2018-12-28 16:10:09 +01:00
Michele Caini
397a04b49c
typo
2018-12-26 15:00:46 +01:00
Michele Caini
d32c8e9457
empty type optimization
2018-12-26 14:50:30 +01:00
Michele Caini
ebb2974ca7
added exclude alias for type_list
2018-12-21 16:23:23 +01:00
Michele Caini
cbb1131a5d
added maybe_atomic_type
2018-12-21 15:35:27 +01:00
Michele Caini
d9de7fe3b0
more tests
2018-12-19 15:26:21 +01:00
Michele Caini
24ba692884
delegate: support for curried functions
2018-12-19 14:18:59 +01:00
Michele Caini
960bbbde29
more on registry::clone ( close #161 )
2018-12-17 21:39:30 +01:00
Michele Caini
eb79b79c35
updated contributors list
2018-12-16 13:50:04 +01:00
Michele Caini
8212ed6d87
monostate: helper template variable
2018-12-16 13:49:13 +01:00
Michele Caini
c639cb5285
added hashed_string::to_value for direct computation
2018-12-16 13:49:09 +01:00
ceeac
a88fd1c669
Fix compile error when compiling example with GCC8 ( #170 )
2018-12-16 13:48:23 +01:00
Michele Caini
b053f23d15
registry::clone supports type list now ( close #165 )
2018-12-14 22:24:52 +01:00
Michele Caini
9d32a89491
doc: used @copydoc where possible
2018-12-13 22:50:23 +01:00
Michele Caini
cb9a147fff
clone functionality ( close #161 )
2018-12-13 08:55:43 +01:00
Michele Caini
c9fddedbf1
UB/Crash in entt::insertion_sort ( #167 )
2018-12-11 14:17:39 +01:00
ProWolf
530bbbe4c5
added compile time version macros ( #166 )
2018-12-10 22:53:22 +01:00
Michele Caini
73e5a9f45b
support for filtered persistent views
2018-12-09 13:50:41 +01:00
Michele Caini
72d4e947b6
Conan: Add CI setup #163
2018-12-05 14:51:56 +01:00
Michele Caini
41750c3639
typo
2018-11-30 14:56:48 +01:00
Michele Caini
52b36f38a0
delegate: a few more tests
2018-11-30 11:52:39 +01:00
Michele Caini
58ceb454dd
review: delegate
2018-11-30 10:34:49 +01:00
Michele Caini
9e5a2db4c5
a few more links
2018-11-29 15:20:48 +01:00
Michele Caini
781f283c89
utility: as_view ( resolve #157 )
2018-11-29 11:49:15 +01:00
Michele Caini
f1cd085727
updated AUTHORS
2018-11-28 16:50:25 +01:00
Michael "Croydon" Keck
3aba855bd6
Add basic Conan support ( #162 )
...
* Add Conan support
* Conan: Add test_package
2018-11-28 11:25:49 +01:00
Michele Caini
7e3abb27a4
added find functionality to sparse sets/views
2018-11-28 10:47:09 +01:00
Michele Caini
f0c11daa37
cleanup
2018-11-27 23:44:40 +01:00
Michele Caini
167c174f4d
added support for const instances * to the delegate
2018-11-27 23:16:55 +01:00
Michele Caini
0173060eaf
typo
2018-11-27 22:20:52 +01:00
Michele Caini
4edd25ff5d
review: registry
2018-11-27 22:13:19 +01:00
Michele Caini
2a4e098645
persistent views are now more reliable ( fix #160 )
2018-11-23 09:40:42 +01:00
willtunnels
7c5019c30f
Fix find_package(EnTT) when EnTT is installed using vcpkg ( #159 )
...
This commit fixes a bug where find_package(EnTT) fails when EnTT is
installed using vcpkg.
The bug occurs because EnTTConfig.cmake.in calls
check_required_components(), yet the call to
configure_package_config_file() in CMakeLists.txt that generates
EnTTConfig.cmake is passed NO_CHECK_REQUIRED_COMPONENTS_MACRO. This
causes CMake to error when it tries to parse the output EnTTConfig.cmake
file if that file is generated from EnTTConfig.cmake.in e.g. when
installing EnTT using vcpkg.
2018-11-21 17:44:06 +01:00
Michele Caini
c13fe3feb6
views: const, non-const and all in between ( fix #152 )
2018-11-20 14:45:28 +01:00
Michele Caini
0ced60e712
added get overload with default value to registry ( #152 )
2018-11-19 16:08:26 +01:00
Michele Caini
d0764d5854
accommodate => assign_or_replace ( #153 )
2018-11-19 14:14:01 +01:00
Michele Caini
f7905e3bc2
get_if => try_get ( #153 )
2018-11-19 14:00:22 +01:00
Michele Caini
3e770792a4
meta: minor changes
2018-11-15 23:26:31 +01:00
Michele Caini
8f9934a7f4
boost persistent views (around 100x)
2018-11-12 23:13:23 +01:00
Michele Caini
b921e7d595
review: return values
2018-11-07 17:23:08 +01:00
Michele Caini
a9cb2d2efd
updated TODO
2018-11-01 17:07:21 +01:00
Michele Caini
fe519b3acf
(maybe) suppress error on vs2017
2018-10-31 22:34:27 +01:00
Michele Caini
30cc4a1668
re-enabled appveyor
2018-10-31 22:27:23 +01:00
Michele Caini
a71e4d8970
note/request
2018-10-31 17:42:24 +01:00
Michele Caini
66e7141415
meta: support for setters/getters
2018-10-31 17:39:40 +01:00
Michele Caini
6f0cdc864f
added registry::create overload to create multiple entities at once
2018-10-30 15:14:57 +01:00
Michele Caini
4f9deaaf09
minor changes
2018-10-30 15:10:17 +01:00
Michele Caini
380745a814
fixed constness
2018-10-30 14:25:03 +01:00
Michele Caini
ce4e335412
doc
2018-10-29 22:57:07 +01:00
Michele Caini
274b8181d1
doc
2018-10-29 22:10:51 +01:00
Michele Caini
767bdcc2ce
minor changes
2018-10-28 14:24:56 +01:00
Paul Gruenbacher
c00cde8bcc
workaround for an issue with gcc 8.1.0 ( #146 - fix #145 )
2018-10-27 23:43:24 +02:00
Michele Caini
5859a18b3a
added get_if where possible
2018-10-27 13:45:51 +02:00
Michele Caini
375124642d
fixed warning
2018-10-25 23:02:31 +02:00
Michele Caini
af9e6dea68
review: doc
2018-10-25 22:28:56 +02:00
Michele Caini
78f2267b06
delegate: deduction guidelines
2018-10-22 15:32:18 +02:00
Michele Caini
0a34f22240
dispatcher: allow for deduced types for events
2018-10-21 22:48:06 +02:00
Michele Caini
b0651fcaed
delegate: empty -> operator bool
2018-10-21 14:59:24 +02:00
Michele Caini
d59faa2a08
BUILD_TESTING set to OFF by default
2018-10-20 15:45:04 +02:00
Michele Caini
6a3bc37dc1
minor changes
2018-10-19 22:54:11 +02:00
Michele Caini
2ea7796b26
coverage purposes
2018-10-17 09:58:40 +02:00
Michele Caini
cf0057bac4
coverage purposes
2018-10-17 09:25:23 +02:00
Michele Caini
fafb325a88
fixed typo
2018-10-16 23:08:42 +02:00
Michele Caini
6b69b4671f
fixed typo
2018-10-16 22:49:13 +02:00
Michele Caini
eaa95ee840
fixed typo
2018-10-16 22:21:36 +02:00
Michele Caini
a86ba1fdf6
a few changes to the meta system
2018-10-15 15:29:40 +02:00
Michele Caini
09e0d2d15b
meta: inline variables
2018-10-13 13:19:34 +02:00
Michele Caini
6d9fa6418d
fixed typo
2018-10-12 16:30:45 +02:00
Michele Caini
6010f5b7a6
meta: final review
2018-10-12 16:18:51 +02:00
Michele Caini
9c164e1cea
meta: full support for constant values and enums
2018-10-12 00:09:58 +02:00
Michele Caini
880fba8dce
fixed clang error with meta
2018-10-10 09:12:31 +02:00
Michele Caini
17d57ee49a
value types and meta objects
2018-10-10 08:42:41 +02:00
Michele Caini
234949a627
updated contributors list
2018-10-08 22:52:17 +02:00
Michele Caini
ff34671526
typos
2018-10-07 22:33:39 +02:00
Michele Caini
6e22983d98
updated TODO list
2018-10-07 22:13:05 +02:00
Michele Caini
18254c30ec
Update README.md
2018-10-07 22:07:27 +02:00
Michele Caini
922c955239
fixed doc + updated TODO list
2018-10-07 21:53:07 +02:00
Michele Caini
618a325057
reflection system
2018-10-05 13:38:22 +02:00
Michele Caini
d81cb7f866
EnTT v3 (draft)
2018-09-30 14:04:39 +02:00
Michele Caini
f71a4d5381
updated build system
2018-09-30 13:55:31 +02:00
Michele Caini
282cb60a66
added link to patreon
2018-09-29 23:02:10 +02:00
Michele Caini
58dbac4422
fixed typo
2018-09-03 10:24:05 +02:00
Michele Caini
53e228465b
Update README.md
2018-09-02 23:28:48 +02:00