Michele Caini
e311ab1605
test: try to also please g++-7
2021-08-19 23:32:51 +02:00
Michele Caini
cf9522bd3b
sparse_set: ::clear honors the modality of the set
2021-08-19 17:36:16 +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
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
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
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
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
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
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
238170d0e2
meta: some changes to make tests compile with C++20 (MSVC)
2021-08-01 11:02:05 +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
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
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
d8d6f00fee
storage: minor changes + some tests for get/get_as_tuple
2021-07-27 18:56:01 +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
e352c953dc
test: minor changes
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
4171b4ae47
resource_handle: add ::use_count ( close #727 )
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
7f59fc6321
test: minor changes
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
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
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
d6cea80768
core: make is_equality_comparable[_v] work with iterators ( close #739 )
2021-07-22 18:08:19 +02:00
Michele Caini
ad61b0c84e
meta: removed parent link from meta nodes
2021-07-22 17:21:09 +02:00
Michele Caini
4993961c16
*: removed deprecated stuff
2021-07-22 15:20:08 +02:00