Browse Source

doc: refine storage section

Michele Caini 2 years ago
parent
commit
c6cd4f701c
1 changed files with 15 additions and 10 deletions
  1. 15 10
      docs/md/entity.md

+ 15 - 10
docs/md/entity.md

@@ -34,9 +34,9 @@
     * [Archives](#archives)
     * [Archives](#archives)
     * [One example to rule them all](#one-example-to-rule-them-all)
     * [One example to rule them all](#one-example-to-rule-them-all)
 * [Storage](#storage)
 * [Storage](#storage)
-  * [Void storage](#void-storage)
   * [Component traits](#component-traits)
   * [Component traits](#component-traits)
   * [Empty type optimization](#empty-type-optimization)
   * [Empty type optimization](#empty-type-optimization)
+  * [Void storage](#void-storage)
   * [Pointer stability](#pointer-stability)
   * [Pointer stability](#pointer-stability)
     * [In-place delete](#in-place-delete)
     * [In-place delete](#in-place-delete)
     * [Hierarchies and the like](#hierarchies-and-the-like)
     * [Hierarchies and the like](#hierarchies-and-the-like)
@@ -1167,15 +1167,7 @@ Sparse arrays are _paged_ to avoid wasting memory. Packed arrays of components
 are also paged to have pointer stability upon additions. Packed arrays of
 are also paged to have pointer stability upon additions. Packed arrays of
 entities are not instead.<br/>
 entities are not instead.<br/>
 All pools rearranges their items in order to keep the internal arrays tightly
 All pools rearranges their items in order to keep the internal arrays tightly
-packed and maximize performance, unless pointer stability is enabled.
-
-## Void storage
-
-A void storage, or `storage<void>`, is a fully functional storage type used to
-create pools not associated with a particular component type.<br/>
-This should be preferred to using a simple sparse set. In particular, a void
-storage offers all those feature normally offered by all other storage types.
-Therefore, it's a perfectly valid pool for use with views or within a registry.
+packed and maximize performance, unless full pointer stability is enabled.
 
 
 ## Component traits
 ## Component traits
 
 
@@ -1233,6 +1225,19 @@ empty types are treated like all other types. Setting a page size at component
 level via the `component_traits` class template is another way to disable this
 level via the `component_traits` class template is another way to disable this
 optimization selectively rather than globally.
 optimization selectively rather than globally.
 
 
+## Void storage
+
+A void storage (also known as `storage<void>` or `basic_storage<Type, void>`),
+is a fully functional storage type used to create pools not associated with a
+particular component type.<br/>
+From a technical point of view, it's in all respects similar to a storage for
+empty types when their optimization is enabled. Pagination is disabled as well
+as pointer stability (as not necessary).<br/>
+However, this should be preferred to using a simple sparse set. In particular,
+a void storage offers all those feature normally offered by other storage types.
+Therefore, it's a perfectly valid pool for use with views and groups or within a
+registry.
+
 ## Pointer stability
 ## Pointer stability
 
 
 The ability to achieve pointer stability for one, several or all components is a
 The ability to achieve pointer stability for one, several or all components is a