Expand description
Component storage types, implementations for component joins, etc.
Structs§
- Anti
Storage - An inverted storage type, only useful to iterate entities that do not have a particular component type.
- BTree
Storage - BTreeMap-based storage.
- Dense
VecStorage - Dense vector storage. Has a redirection 2-way table between entities and components, allowing to leave no gaps within the data.
- Entries
Join-able structure that yields all indices, returningEntryfor all elements- Flagged
Storage - Wrapper storage that tracks modifications, insertions, and removals of components
through an
EventChannel. - Hash
MapStorage - HashMap-based storage. Best suited for rare components.
- Masked
Storage - The
UnprotectedStoragetogether with theBitSetthat knows about which elements are stored, and which are not. - Null
Storage - A null storage type, used for cases where the component doesn’t contain any data and instead works as a simple flag.
- Occupied
Entry - An entry to a storage which has a component associated to the entity.
- Restricted
Storage - Similar to a
MaskedStorageand aStoragecombined, but restricts usage to only getting and modifying the components. That means it’s not possible to modify the inner bitset so the iteration cannot be invalidated. In other words, no insertion or removal is allowed. - Storage
- A wrapper around the masked storage and the generations vector.
Can be used for safe lookup of components, insertions and removes.
This is what
World::read/writefetches for the user. - Vacant
Entry - An entry to a storage which does not have a component associated to the entity.
- VecStorage
- Vector storage. Uses a simple
Vec. Supposed to have maximum performance for the components mostly present in entities.
Enums§
- Component
Event - Component storage events received from a
FlaggedStorageor any storage that implementsTracked. - Immutable
Parallel Restriction - Specifies that the
RestrictedStoragecan run in parallel immutably. - Mutable
Parallel Restriction - Specifies that the
RestrictedStoragecan run in parallel mutably. - Sequential
Restriction - Specifies that the
RestrictedStoragecannot run in parallel. - Storage
Entry - Entry to a storage for convenient filling of components or removal based on whether the entity has a component.
Traits§
- AnyStorage
- A dynamic storage.
- Distinct
Storage - This is a marker trait which requires you to uphold the following guarantee:
- Generic
Read Storage - Provides generic read access to both
ReadStorageandWriteStorage - Generic
Write Storage - Provides generic write access to
WriteStorage, both as a value and a mutable reference. - Tracked
UnprotectedStorages that track modifications, insertions, and removals of components.- TryDefault
- Tries to create a default value, returns an
Errwith the name of the storage and/or component if there’s no default. - Unprotected
Storage - Used by the framework to quickly join components.
Type Aliases§
- Insert
Result - The status of an
insert()ion into a storage. If the insertion was successful then the Ok value will contain the component that was replaced (if any). - Read
Storage - A storage with read access.
- Write
Storage - A storage with read and write access.