Modules
Simple adjacency list.
Graph algorithms.
Allows access to helper types needed to implement Borrow
.
Compressed Sparse Row (CSR) is a sparse adjacency matrix graph.
Graph traits for associated data and graph construction.
Simple graphviz dot file format output.
All error types.
Graph<N, E, Ty, Ix>
is a graph datastructure using an adjacency list representation.
GraphMap<N, E, Ty>
is a graph datastructure where node values are mapping
keys.
Types for displaying workload information.
Iterators types and traits.
MatrixGraph<N, E, Ty, NullN, NullE, Ix>
is a graph datastructure backed by an adjacency matrix.
Commonly used items.
StableGraph
keeps indices stable across removals.
UnionFind<K>
is a disjoint-set data structure.
Graph traits and graph traversals.
Structs
Contains all storages present in the World
.
Exclusive view over AllStorages
.
Iterator over newly bulk added entities.
Entities holds the EntityIds to all entities: living, removed and dead.
Shared view over Entities
storage.
Exclusive view over Entities
storage.
Handle to an entity.
Unlocks an exclusive borrow on drop.
Graph<N, E, Ty, Ix>
is a graph datastructure using an adjacency list representation.
Wrapper type allowing iterating over inserted flagged components.
Wrapper type allowing iterating over inserted and modified flagged components.
Wrapper type allowing iterating over modified flagged components.
Tracks component modification.
Used to filter out components.
Used instead of ()
to not conflict where A = ()
Wraps an AtomicRefcell
’s shared borrow.
Wraps an AtomicRefcell
’s exclusive borrow.
Unlocks a shared borrow on drop.
Internal part of a SparseSet
.
Default component storage.
A draining iterator for SparseSet<T>
.
A trait to querry the amount of memory a storage uses.
Unique storage.
Shared view over a unique component storage.
Exclusive view over a unique component storage.
Shared view over a component storage.
Exclusive view over a component storage.
Used to create a WorkloadBuilder
.
Keeps information to create a workload.
Self contained system that may be inserted into a WorkloadBuilder
.
World
contains all data this library will manipulate.
Enums
Marker type for a directed graph.
Edge direction.
Edge direction.
Describes if a storage is borrowed exlusively or not.
It is used to display workloads’ borrowing information.
Id of a storage, can be a TypeId
or u64
.
Marker type for an undirected graph.
Traits
Defines how components are added to an existing entity.
Trait describing how to add a new entity to a storage.
Allows a type to be borrowed by AllStorages::borrow
and AllStorages::run
.
Trait bound encompassing all functions that can be used as system.
Same as System
but for AllStorages::run
.
Allows a type to be borrowed by World::borrow
, World::run
and worklaods.
Explains to a workload which storage are borrowed by a system.
Reserves memory for a set of entities.
Checks if an entity has some components.
Low level access to storage.
Trait used to delete component(s).
A graph’s edge type determines whether it has directed edges or not.
Retrives components based on their type and entity id.
Transforms a view into a helper type. This allows workloads to have the current syntax.
Trait used to create iterators.
Yields &mut T
for mutable components. Does not work with storage tracking modification.
Convert an element like (i, j)
or (i, j, w)
into
a triple of source, target, edge weight.
Creates iterator returning EntityId
.
Trait used to add systems to a workload.
Removes component from entities.
Defines common storage operations.
Trait bound encompassing all functions that can be used as system.