Crate scsys_core

Crate scsys_core 

Source
Expand description

§scsys-core

Welcome the the scsys-core` crate, the foundational library for the scsys.io ecosystem. This crate is primarily focused on establish a set of fundamental types, traits, and utilities that are used throughout the ecosystem. Doing so allows for a natural consistency to emerge across the ecosystem, while further streamlining the development process.

That being said, the general focus of the crate and its feature-gating make it ideally suited for use outside of the ecosystem as well providing useful primitives such as:

  • Id - a generic identifier type

Re-exports§

pub use rand;
pub use rand_distr;

Modules§

cont
this module implements a set of traits and utilities for working with containers this module is focused on defining a set of traits and types for abstracting the behaviourds of an entity capable of storing some data.
error
this module implements various error-handling primitives and utilities ths module implements various error-handling primitives and utilities
id
this module defines the generic Id wrapper and its implementations This module focuses on the Id implementation, a generic wrapper type used to define various identifiers. The Id type is equipped with additional methods and traits to facilitate the creation and management of identifiers in a type-safe manner.
state
The state module provides various abstractions and implementations for working with states within Rust.
time
The time module focuses on implementing various time-related features and utilities. It provides a generic Timestamp along with supporting traits and types to facilitate time management.
types

Macros§

fmt_wrapperDeprecated
Example
get_field
gsw
The gsw macro generates getter and setter methods for the fields of a struct. At the moment, the macro can handle any type; for types that implement the Copy trait, simply drop the & to the left of each type.
wrapper

Structs§

Id
Id is a generic identifier type that wraps a value of type T.
LinearDirectionIter
An iterator over the variants of LinearDirection
StageIter
An iterator over the variants of Stage
State
State is generic over some type Q that implements the RawState trait.
StateBase
StateBase is an abstract object that allows a particular kind of state to be associated with some generic state Q
Timestamp
Timestamp is a generic implementation of a type that represents some point in time.

Enums§

Error
EventStage
An EventStage is a generic enumeration that represents the three stages of an event in a system, allowing for the association of a type T with each stage. The stages are:
LinearDirection
The LinearDirection implementation enumerates the three pssoible movements in one-dimensional space, namely:
Stage

Traits§

Now
The Now trait provides a common creation routines for all datetime implementations.
RawTimestamp
A marker trait indicating types capable of representing a raw timestamp value.
StateRepr
The StateRepr trait defines the base type for stateful items, allowing for a generic item type to be associated with the state.
Stateful
Stateful is a trait establishing a common interface for all types that are state-aware.

Type Aliases§

BoxError
Type alias for a boxed error with send, sync, and static flags enabled
BoxResult
Type alias for the standard result used
NState
A type alias for a StateBase equipped with a Nary kind of state
Result
a type alias for a Result that uses the custom Error type