scsys_core/traits/
mod.rs

1/*
2    Appellation: traits <module>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5#[doc(inline)]
6pub use self::prelude::*;
7
8pub mod adjust;
9pub mod appellation;
10pub mod classify;
11pub mod dtype;
12pub mod toggle;
13
14pub mod ext {
15    pub use self::slice::*;
16    #[cfg(feature = "alloc")]
17    pub use self::string::*;
18
19    mod slice;
20    mod string;
21
22    pub(crate) mod prelude {}
23}
24
25pub(crate) mod prelude {
26    pub use super::adjust::*;
27    pub use super::appellation::*;
28    pub use super::classify::*;
29    pub use super::dtype::*;
30    pub use super::ext::*;
31    pub use super::toggle::*;
32    pub use super::{IntoInner, Name};
33}
34
35/// [IntoInner] is typically used for basic structures that wrap a single value.
36pub trait IntoInner {
37    type Inner;
38
39    fn into_inner(self) -> Self::Inner;
40}
41
42/// Interface for nameable data-structures
43pub trait Name {
44    fn name(&self) -> &str;
45}