Commit Graph

  • d1a824f76e sparse_set/storage: cleanup Michele Caini 2021-08-30 16:53:20 +02:00
  • d7b0fc09d7 storage: refine ::release_memory Michele Caini 2021-08-30 16:30:00 +02:00
  • 2d07a6ec1f storage: * decouple iterator from allocator * test iterator aliases to avoid future regressions * internal changes/rework Michele Caini 2021-08-30 16:18:28 +02:00
  • 014ba5a7aa sparse_set: * test iterator aliases to avoid future regressions * internal changes/rework Michele Caini 2021-08-30 14:27:01 +02:00
  • 2f12e524dd config/sparse_set/storage: avoid power-of-two check at config level Michele Caini 2021-08-29 23:27:04 +02:00
  • ea6af75e8e memory: added utility function fast_mod Michele Caini 2021-08-29 22:45:16 +02:00
  • a595c6ec6f memory: * added utility class is_power_of_two * added variable template is_power_of_two_v Michele Caini 2021-08-29 22:15:33 +02:00
  • 98f785d199 memory: make to_address [[nodiscard]] Michele Caini 2021-08-29 22:00:05 +02:00
  • a0ed0c864f entt_traits: removed the (mostly useless) difference_type alias Michele Caini 2021-08-29 19:22:50 +02:00
  • d4ac42749e storage: minor changes Michele Caini 2021-08-29 19:10:18 +02:00
  • 86414671d6 sparse_set: minor changes Michele Caini 2021-08-29 19:04:47 +02:00
  • 6cb935982d storage: removed a couple of old (and wrong) static asserts Michele Caini 2021-08-29 18:43:24 +02:00
  • 39ad040d8a sparse_set: decouple iterator from allocator Michele Caini 2021-08-29 18:41:59 +02:00
  • 4cc3824653 test: basic_registry<...>::get_or_emplace must work for empty types Michele Caini 2021-08-28 09:52:46 +02:00
  • 6d3e0600a1 storage: * increase code coverage * remove a pretty much useless if constexpr Michele Caini 2021-08-28 09:52:19 +02:00
  • b52c9c1676 test: use storage (and sigh storage mixin) from base type Michele Caini 2021-08-27 15:47:48 +02:00
  • f7506251fe build system: increase ctest timeout because ASSERT_DEATH is... expensive, at least :) Michele Caini 2021-08-27 11:03:35 +02:00
  • 5b06f298f1 sparse_set/storage: make storage safe to use from the base (to be tested) Michele Caini 2021-08-26 17:52:16 +02:00
  • dc5488a198 storage: generalized ::insert for all mixins Michele Caini 2021-08-26 17:14:51 +02:00
  • 23d162e9e4 sparse_set: ::emplace no longer returns the position Michele Caini 2021-08-26 16:13:26 +02:00
  • de6b660b12 sparse_set/storage: * removed basic_sparse_set<...>::emplace_back * general cleanup Michele Caini 2021-08-26 15:22:29 +02:00
  • 60c175a51d storage: ::insert always fills holes before appending Michele Caini 2021-08-26 15:09:30 +02:00
  • c0a39c8064 sparse_set: insert always fills holes before appending Michele Caini 2021-08-26 14:56:15 +02:00
  • 61f4f93cc6 sparse_set: internals review Michele Caini 2021-08-26 14:55:47 +02:00
  • 764404a472 doc: minor changes, updated todo list Michele Caini 2021-08-26 12:14:24 +02:00
  • 04da85c88a storage: avoid invoking ::page more than once in a row Michele Caini 2021-08-26 12:11:54 +02:00
  • 9551b7a597 storage: added empty ::get method to storage for empty types Michele Caini 2021-08-25 17:05:58 +02:00
  • f1d537d035 compressed_pair: * disable structured binding support for clang 6 * avoid using structured binding with compressed pair in the codebase Michele Caini 2021-08-24 13:11:21 +02:00
  • b43e723c84 meta: reintroduce meta_type::is_array support Michele Caini 2021-08-24 10:13:56 +02:00
  • 5466039c1a meta: generic begin/end for meta containers Michele Caini 2021-08-24 09:48:59 +02:00
  • 74e11117be storage: minor changes Michele Caini 2021-08-24 08:57:23 +02:00
  • e0abab2dc4 storage: * fixed typo in the doc * get around msvc that also accepts invalid code (again) O.o Michele Caini 2021-08-23 18:18:58 +02:00
  • 08ff3ff55c sparse_set: erase assertion Michele Caini 2021-08-23 18:15:23 +02:00
  • 0b79d99cac storage: non-copyable allocator aware container Michele Caini 2021-08-23 18:13:24 +02:00
  • 38f655e7b8 *: get around the fact that msvc also accepts invalid code O.o Michele Caini 2021-08-21 17:28:30 +02:00
  • 6f546ffe95 sparse_set: entity ::swap -> ::swap_elements Michele Caini 2021-08-21 17:25:38 +02:00
  • ef8211a46e sparse_set: non-copyable allocator-aware container Michele Caini 2021-08-21 17:16:41 +02:00
  • 52ea5e4074 memory: added pocca/pocma/pocs utility functions Michele Caini 2021-08-21 16:31:20 +02:00
  • 99621cf08a memory: unfancy -> to_address (waiting for C++20) Michele Caini 2021-08-20 15:28:46 +02:00
  • a9ae9ce758 test: code coverage Michele Caini 2021-08-20 00:32:02 +02:00
  • fc5a529df8 core: * added memory.hpp * added public unfancy function Michele Caini 2021-08-20 00:26:25 +02:00
  • bc1081550d storage: minor changes Michele Caini 2021-08-20 00:10:09 +02:00
  • e311ab1605 test: try to also please g++-7 Michele Caini 2021-08-19 23:20:35 +02:00
  • 994ade0638 meta_factory: suppress shadow warning Michele Caini 2021-08-19 23:02:28 +02:00
  • cf9522bd3b sparse_set: ::clear honors the modality of the set Michele Caini 2021-08-19 17:36:16 +02:00
  • 7fd1858db0 storage: minor changes Michele Caini 2021-08-19 16:04:28 +02:00
  • c41509151b sparse_set: * (almost) allocator-aware container * unequal containers not supported * copying a sparse set isn't supported Michele Caini 2021-08-18 23:32:57 +02:00
  • 4e12853d4a runtime_view: correctly set the no_tombstone_check member Michele Caini 2021-08-17 11:58:49 +02:00
  • e1fadbc9b9 registry: removed ::version/::entity (use entt_traits instead) Michele Caini 2021-08-16 23:30:14 +02:00
  • 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 Michele Caini 2021-08-16 17:07:52 +02:00
  • 732159db07 registry: * ::current no longer asserts, it returns now tombstone versions for invalid entities * minor changes to doc and tests Michele Caini 2021-08-16 16:56:11 +02:00
  • 00894eaccf entity/*: minor changes to doc and tests Michele Caini 2021-08-16 16:48:46 +02:00
  • 17818178cf entity: * removed null_t::operator| (use entt_traits<T>::combine instead) * removed tombstone_t::operator| (use entt_traits<T>::combine instead) Michele Caini 2021-08-14 23:00:02 +02:00
  • 89c0abfada entity: * reviewed entt_traits<T>::combine * added entt_traits::reserved * use entt_traits<T>::combine where it makes sense to slightly improve perf Michele Caini 2021-08-14 22:26:41 +02:00
  • 8bbdd92739 entity: added entt_traits<T>::combine Michele Caini 2021-08-14 22:24:43 +02:00
  • f724ceb052 entity: cleanup Michele Caini 2021-08-14 00:17:19 +02:00
  • b7ac85005f updated TODO Michele Caini 2021-08-13 23:57:40 +02:00
  • 8ec899a8e7 sigh: make scoped_connection move constructible/assignable (close #760) Michele Caini 2021-08-13 15:35:05 +02:00
  • 1013c6a50e meta: removed annotation support for meta properties Michele Caini 2021-08-12 19:13:06 +02:00
  • 2cd5d3bab3 meta: cleanup, minor changes Michele Caini 2021-08-12 19:01:38 +02:00
  • d9494960a2 meta: * removed the possibility of invoking meta_factory::prop multiple times * further reduced instantiations due to meta properties Michele Caini 2021-08-11 17:11:09 +02:00
  • c0eb6590da snapshot: include destroyed list head in the entity count (close #757) Michele Caini 2021-08-11 15:23:46 +02:00
  • a9cefcb823 meta: avoid risk of name clashing on meta types and meta data members Michele Caini 2021-08-10 16:07:17 +02:00
  • d1ff491010 meta: * removed meta_type::is_member_object_pointer (no alternative provided) * removed meta_type::is_member_function_pointer (no alternative provided) Michele Caini 2021-08-10 15:39:26 +02:00
  • 2aa34f05d3 meta: removed meta_type::is_array (no alternative provided) Michele Caini 2021-08-09 12:47:24 +02:00
  • 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 Michele Caini 2021-08-09 10:07:43 +02:00
  • 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 Michele Caini 2021-08-07 20:43:02 +02:00
  • adec4f08c6 meta: removed meta_type::is_union (no alternative provided) Michele Caini 2021-08-06 12:07:09 +02:00
  • b24fe2f122 test: increase code coverage Michele Caini 2021-08-06 12:06:42 +02:00
  • 7b35bcb68a meta: use enum-as-bitmask support to get rid of old fashioned enum for meta traits Michele Caini 2021-08-05 10:44:13 +02:00
  • 4b629045c3 core: added enum-as-bitmask support for enum classes (thanks to @TerensTare for the suggestion) Michele Caini 2021-08-05 10:42:42 +02:00
  • c6ba1d05d1 view: avoid polluting global namespace with naked operator| Michele Caini 2021-08-04 16:46:53 +02:00
  • 3adac90573 meta: removed meta_type::is_function_pointer (no alternative provided) Michele Caini 2021-08-04 16:06:58 +02:00
  • 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()) Michele Caini 2021-08-03 16:29:19 +02:00
  • 790a1e2812 view: minor changes to get around an issue of clang Michele Caini 2021-08-02 18:27:24 +02:00
  • 3bd1e13321 view: removed the foobar alias which was not meant to stay there Michele Caini 2021-08-02 18:24:49 +02:00
  • 0cd642ca11 view: ::use<T> doesn't modify the view in-place anymore, instead it returns a new view Michele Caini 2021-08-02 18:19:22 +02:00
  • d5995998b0 view: * each<T> doesn't invoke use<T> anymore under the hood * removed ::traverse function * minor changes Michele Caini 2021-08-02 18:06:51 +02:00
  • 62babb9c22 updated TODO Michele Caini 2021-08-01 12:02:43 +02:00
  • b98c69521b build_system: add support for c++20 (close #751) Michele Caini 2021-08-01 11:37:06 +02:00
  • 6cd37b3809 view: get around an issue of msvc when using C++20 Michele Caini 2021-08-01 11:21:05 +02:00
  • 238170d0e2 meta: some changes to make tests compile with C++20 (MSVC) Michele Caini 2021-08-01 11:02:05 +02:00
  • 6fb5b25530 any: don't compare arrays directly (operator== even deprecated in C++20) Michele Caini 2021-08-01 10:51:48 +02:00
  • d63f9e1eff build_system: make ENTT_CXX_STD a cached string variable (not used yet, see #751) Michele Caini 2021-08-01 10:47:14 +02:00
  • 461865bf3b build_system: make ENTT_ID_TYPE a cached string variable Michele Caini 2021-08-01 10:36:37 +02:00
  • e95d9b9cf6 doc: updated links.md Michele Caini 2021-08-01 10:18:21 +02:00
  • 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 Michele Caini 2021-08-01 10:03:45 +02:00
  • d0ec5d2da0 dispatcher: mionr changes Michele Caini 2021-08-01 09:58:32 +02:00
  • 6134058abc type_traits: minor changes (coding style) Michele Caini 2021-08-01 09:58:19 +02:00
  • bd4121c260 *: cleanup Michele Caini 2021-07-30 14:27:53 +02:00
  • fbab047d7f doc: fixed typo (close #749) Michele Caini 2021-07-30 12:13:13 +02:00
  • e216144d07 poly: optimize single function vtables (close #689) Michele Caini 2021-07-29 23:48:59 +02:00
  • 94d5b11191 any: rvalue any_cast no longer forces by-copy constructor (close #730) Michele Caini 2021-07-29 14:30:16 +02:00
  • d3c89da2eb doc: mention vcpkg experimental feature in the readme file (close #743) Michele Caini 2021-07-28 14:52:56 +02:00
  • 754a8a637e doc: updated list of showcases (close #744) Michele Caini 2021-07-28 14:44:42 +02:00
  • 8b79c83282 API reference v3.8.1 Michele Caini 2021-07-28 10:12:19 +02:00
  • dd6863f71d update single include file v3.8.1 v3.8.x Michele Caini 2021-07-28 09:58:14 +02:00
  • dc7c976518 Ready to cut v3.8.1 Michele Caini 2021-07-28 09:56:40 +02:00
  • ab24a50de7 doc: fixed typo Michele Caini 2021-07-21 14:57:44 +02:00
  • 8099dde34b view: relax policy constraint if possible Michele Caini 2021-07-21 10:39:43 +02:00