|
|
@@ -902,11 +902,12 @@ public:
|
|
|
* @brief Provides a common way to define storage types.
|
|
|
* @tparam Type Storage value type.
|
|
|
* @tparam Entity A valid entity type (see entt_traits for more details).
|
|
|
+ * @tparam Allocator Type of allocator used to manage memory and elements.
|
|
|
*/
|
|
|
-template<typename Type, typename Entity, typename>
|
|
|
+template<typename Type, typename Entity, typename Allocator, typename>
|
|
|
struct storage_type {
|
|
|
/*! @brief Type-to-storage conversion result. */
|
|
|
- using type = sigh_storage_mixin<basic_storage<Type, Entity>>;
|
|
|
+ using type = sigh_storage_mixin<basic_storage<Type, Entity, Allocator>>;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
@@ -920,11 +921,12 @@ using storage_type_t = typename storage_type<Args...>::type;
|
|
|
* Type-to-storage conversion utility that preserves constness.
|
|
|
* @tparam Type Storage value type, eventually const.
|
|
|
* @tparam Entity A valid entity type (see entt_traits for more details).
|
|
|
+ * @tparam Allocator Type of allocator used to manage memory and elements.
|
|
|
*/
|
|
|
-template<typename Type, typename Entity>
|
|
|
+template<typename Type, typename Entity, typename Allocator>
|
|
|
struct storage_for {
|
|
|
/*! @brief Type-to-storage conversion result. */
|
|
|
- using type = constness_as_t<storage_type_t<std::remove_const_t<Type>, Entity>, Type>;
|
|
|
+ using type = constness_as_t<storage_type_t<std::remove_const_t<Type>, Entity, Allocator>, Type>;
|
|
|
};
|
|
|
|
|
|
/**
|