Crate scsys

Source
Expand description

§scsys

Welcome to scsys, home to various primitives and utilities used throughout the scsys.io ecosystem. The sdk is heavily feature gated, reducing its footprint and allowing for a more modular approach to development.

Modules§

config
the config module implements a set of standardized configuration schemas A collection of common configuration primitives and utilities used throughout the scsys-io ecosystem.
crypto
cryptographic primitives and utilities implemented for the ecosystem cryptographic primitives and utilities for the scsys ecosystem.
error
id
Identity
prelude
rand
Utilities for random number generation
rand_distr
Generating random samples from probability distributions.
state
State
time
Time
traits
this module contains various traits commonly used throughout the scsys ecosystem A collection of useful traits designed to be used throughout the ecosystem.
types
utils
utilities for working with the scsys ecosystem

Macros§

builder
fmt_wrapper
Example
getter
A procedural macro for generativly creating getter methods; i.e. $field_name() -> &$field_type and $field_name_mut() -> &mut $field_type
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§

DirectionIter
An iterator over the variants of Direction
ErrorBase
Id
A generic identifier
NState
[State] is an abstract object that allows a particular kind of state to be associated with some data.
State
State is a generic type wrapper materializing the RawState trait.
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
Direction

Traits§

Adjust
Appellation
AsSlice
AsSliceMut
Container
The Container trait is a higher-level abstraction over RawContainer.
DType
DType is a trait designed to provide additional information regarding the type of a particular value.
Decrement
Decrement is a trait describing the ability to decrement a value.
Displayable
Displayable simply combines the two major traits core::fmt::Debug and core::fmt::Display into a single trait. This is useful for types that need to be displayed in a human-readable format, such as in debugging or logging.
Entry
ErrorKind
this trait is used to denote various error kinds for use throughout the sdk
Functor
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
HKT
Increment
IntoInner
IntoInner is typically used for basic structures that wrap a single value.
IsType
KeyedContainer
Mapper
Named
Interface for nameable data-structures
Now
The Now trait provides a common creation routines for all datetime implementations.
OrInsert
RawContainer
RawContainer defines a standard interface for all containers that are used to store other entities.
RawState
RawState
RawTimestamp
a private trait used to mark types capable of being uses as a basetype for a Timestamp.
RawWrapper
A RawWrapper is the base trait defining all so-called “wrapper” types.
RemoveFnl
This trait defines a method for removing the first and last entries within an entity.
Stateful
a trait for denoting stateful entities
Store
StringFmt
StringFmt is a trait that provides methods for formatting strings. Note This crate requires the alloc feature
Symbolic
Symbolic denotes a type consisting of some single or set of value(s) that can are considered displayable. Essentially, this trait is a wrapper around the Displayable trait enabling additional implementations
TypeOf
TypeTag
Typically, TypeTag is used for uninitaliziable enums with no variants
Wrapper
The Wrapper trait is used to establish a common interface for all simplemented structures that “wrap” a single value. Essentially, any type capable of implementing #[repr(transparent)] can be considered a wrapper.
WrapperExt
WrapperExt is an automatically implemented trait extending the Wrapper trait with additional

Type Aliases§

Arcm
Type alias wrapping a locked, thread-safe structure with a [Mutex] in an [Arc]
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
IOResult
Type alias for std::io::Result
Result
a type alias for a Result type pre-configured with the [Error] type

Derive Macros§

Display
Getter
Set
VariantConstructors
This macro automatically generates functional constructors for all enclosed variants.
With