* long term feature: shared_ptr less locator and resource cache * debugging tools (#60): the issue online already contains interesting tips on this, look at it * work stealing job system (see #100) + mt scheduler based on const awareness for types * allow to replace std:: with custom implementations * add examples (and credits) from @alanjfs :) * custom pools example (multi instance, tables, enable/disable, and so on...) WIP: * remove view/storage dispatcher, add support to relax policy constraints on user request (eg view.use()) * improve perf for sparse_set/storage::insert/emplace/destroy/remove/... * custom allocators all over WIP: * make value_type available from meta container types, otherwise we have to default construct a container to get it * make it possible to register externally managed pools with the registry (allow for system centric mode) * registry: switch to the udata/mixin model and get rid of poly storage, use pointer to sparse set only for pools, discard pool_data type. * it's now possible to have 0 as null entity/version, so we can finally switch to it * make pools available (registry/view/group), review operator| for views * page size: add per-pool size, allow for 0 sizes (old fully packed array) * compressed pair to exploit ebo in sparse set and the others * isolate view iterator, unwrap iterators in registry ::remove/::erase/::destroy to use the faster solution for non-view iterators * remove view each(F), each(), make view::use return a view and remove the mutable data member * resource, forward the id to the loader from the cache and if constexpr the call to load, update doc and describe customization points * make it possible to create views of the type `view`, add get by index and such, allow to register custom pools by name with the registry * add user data to type_info * any_vector for context variables * make const registry::view thread safe, switch to a view{registry} model (long term goal) * weak reference wrapper example with custom storage * headless (sparse set only) view * write documentation for custom storages and views!! * make runtime views use opaque storage and therefore return also elements. * add exclude-only views to combine with packs * entity-aware observer, add observer functions aside observer class * deprecate non-owning groups in favor of owning views and view packs, introduce lazy owning views * snapshot: support for range-based archives * add example: 64 bit ids with 32 bits reserved for users' purposes