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 theId
implementation, a generic wrapper type used to define various identifiers. TheId
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 genericTimestamp
along with supporting traits and types to facilitate time management. - types
Macros§
- fmt_
wrapper Deprecated - 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 theCopy
trait, simply drop the&
to the left of each type. - wrapper
Structs§
- Id
Id
is a generic identifier type that wraps a value of typeT
.- Linear
Direction Iter - An iterator over the variants of LinearDirection
- Stage
Iter - An iterator over the variants of Stage
- State
State
is generic over some typeQ
that implements theRawState
trait.- State
Base StateBase
is an abstract object that allows a particular kind of state to be associated with some generic stateQ
- Timestamp
Timestamp
is a generic implementation of a type that represents some point in time.
Enums§
- Error
- Event
Stage - An
EventStage
is a generic enumeration that represents the three stages of an event in a system, allowing for the association of a typeT
with each stage. The stages are: - Linear
Direction - 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.
- State
Repr - 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.