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.

Trait used to create iterators.
Yields Mut for mutable components.

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.

Can be used as bound for iterator that can use with_id.

Removes component from entities.

Defines common storage operations.

Trait bound encompassing all functions that can be used as system.

Functions

Derive Macros