|
|
@@ -203,7 +203,7 @@ private:
|
|
|
* @tparam Entity A valid entity type.
|
|
|
* @tparam Allocator Type of allocator used to manage memory and elements.
|
|
|
*/
|
|
|
-template<typename Type, entity_like Entity, typename Allocator, typename>
|
|
|
+template<typename Type, entity_like Entity, typename Allocator>
|
|
|
class basic_storage: public basic_sparse_set<Entity, typename std::allocator_traits<Allocator>::template rebind_alloc<Entity>> {
|
|
|
using alloc_traits = std::allocator_traits<Allocator>;
|
|
|
static_assert(std::is_same_v<typename alloc_traits::value_type, Type>, "Invalid value type");
|
|
|
@@ -762,7 +762,8 @@ private:
|
|
|
|
|
|
/*! @copydoc basic_storage */
|
|
|
template<typename Type, entity_like Entity, typename Allocator>
|
|
|
-class basic_storage<Type, Entity, Allocator, std::enable_if_t<component_traits<Type, Entity>::page_size == 0u>>
|
|
|
+requires (component_traits<Type, Entity>::page_size == 0u)
|
|
|
+class basic_storage<Type, Entity, Allocator>
|
|
|
: public basic_sparse_set<Entity, typename std::allocator_traits<Allocator>::template rebind_alloc<Entity>> {
|
|
|
using alloc_traits = std::allocator_traits<Allocator>;
|
|
|
static_assert(std::is_same_v<typename alloc_traits::value_type, Type>, "Invalid value type");
|