Docs.rs
  • scsys-core-0.3.0
    • scsys-core 0.3.0
    • Permalink
    • Docs.rs crate page
    • Apache-2.0
    • Links
    • Homepage
    • Repository
    • crates.io
    • Source
    • Owners
    • FL03
    • Dependencies
      • anyhow ^1 normal optional
      • chrono ^0.4 normal optional
      • getrandom ^0.3 normal optional
      • num ^0.4 normal
      • num-traits ^0.2 normal
      • paste ^1 normal
      • rand ^0.9 normal optional
      • rand_distr ^0.5 normal optional
      • serde ^1 normal optional
      • serde_derive ^1 normal optional
      • serde_json ^1 normal optional
      • smart-default ^0.7 normal
      • strum ^0.27 normal
      • thiserror ^2 normal
      • time ^0.3 normal optional
      • tracing ^0.1 normal optional
      • uuid ^1 normal optional
      • wasm-bindgen ^0.2 normal optional
      • anyhow ^1 dev
      • approx ^0.5 dev
    • Versions
    • 40.1% of the crate is documented
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate scsys_core

logo

scsys_core0.3.0

  • All Items

Sections

  • scsys-core

Crate Items

  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Traits
  • Type Aliases

Crates

  • 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
  • State and StateBase: dual approaches w.r.t. state management
  • Timestamp (requires the time feature): a generic timestamp type implementing Now

Re-exports§

pub use rand;
pub use rand_distr;

Modules§

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
state
this module provides a set of states for state-related workloads (State & NState) this module implements a generic State wrapper and provides several traits to support state management and other stateful workloads.
time
a temporal module establishing a core set of time-related primitives and utilities such as Timestamp
types

Macros§

fmt_wrapper
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§

ErrorBase
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
StdError
The StdError type is a generic error type that is generic over the error kind; this enables us to distinguish between distinctly different error types.
Timestamp
Timestamp is a generic implementation of a type that represents some point in time.

Enums§

CoreError
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
Auto-generated discriminant enum variants

Traits§

ErrorKind
this trait is used to denote various error kinds for use throughout the sdk
Now
The Now trait provides a common creation routines for all datetime implementations.
RawTimestamp
a private trait used to mark types capable of being uses as a basetype for a Timestamp.
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§

BoxErr
A type alias for a Err whose generic type is a Box of a trait object implementing core::error::Error.
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 type pre-configured with the [Error] type

Results

Settings
Help
    module
    scsys_core::state::wrapper
    macro
    scsys_core::wrapper
    macro
    scsys_core::fmt_wrapper
    Example
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.