Crate rspace

Crate rspace 

Source
Expand description

rspace works to establish a solid foundation for handling and defining containers, space, and fields within Rust.

Modules§

error
this module defines the core error type for the crate
point
traits
Various traits used to establish a solid foundation for defining and manipulating containers, spaces, fields, and other related abstractions. The core trait, RawSpace, is a fundamental building block for defining spaces (i.e. containers containing elements of a specific type). The Container trait builds upon RawSpace to provide a more robust interface for containers and higher-kinded abstractions.

Structs§

Point
The Point implementation is designed a generic, 2-dimensional point object used to define coordinates, vectors, or positions in a 2D space.

Enums§

Error
The custom error type for the crate.

Traits§

Apply
Apply defines an interface for objects capable of applying the given function onto itself or its elements to produce some output.
ApplyMut
The ApplyMut trait defines an interface for objects capable of mutably borrowing themselves to apply the given function onto themselves or their elements to produce some output.
ApplyOnce
The ApplyOnce trait defines an interface for objects capable of consuming themselves to apply the given function onto themselves or their elements to produce some output.
Container
The Container trait is a higher-kinded trait used to establish an interface for defining containers themselves.
ContainerIter
The ContainerIter trait extends the Container trait to provide an interface for obtaining iterators over the elements of the container.
ContainerMap
Functor
The Functor trait describes an interface for a higher-kinded type that can be mapped over. The trait is parameterized over a function F and a target type T, allowing for granular control over the mapping process itself, relying on associated types like Cont<U> to define the resulting container type after the mapping operation and the Elem type to specify the type of elements contained within the functor before the mapping operation is applied. Moreover, the apply method takes ownership of the functor allowing for distinct implementations for referenced, mutabled, and owned instances.
FunctorIter
Get
Get defines an interface for entities that can be accessed by a key; the design is similar to the Index trait in the standard library, however, uses the Borrow trait to allow for more flexible key types.
GetMut
GetMut defines an interface for entities that can be accessed by a key; the design is similar to the IndexMut trait in the standard library
RawSpace
The RawSpace trait is used to define a base interface for all containers whose elements are of one specific type.
RawSpaceMut
RawSpaceMut is a trait that provides various mutable methods for accessing elements.
RawSpaceRef
RawSpaceRef is a trait that provides various read-only methods for accessing elements.
RawStore
The RawStore trait is a marker trait for key-value store containers.
SliceSpace
SliceSpace is used to define sequential collections, spaces, or containers that can be viewed as slices.
SliceSpaceMut
Store
The Store trait is used to define a key-value store container.
StoreEntry
StoreEntry establishes a common interface for entries within a key-value store.
TryApply
TryApplyMut
TryApplyOnce

Type Aliases§

Result
a type alias for a Result configured to use the custom Error type.