scsys_core/time/
mod.rs

1/*
2    Appellation: time <module>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! # Time
6//!
7//! The `time` module provides a set of utilities for working with time and timestamps.
8#[doc(inline)]
9#[cfg(feature = "std")]
10pub use self::utils::*;
11#[doc(inline)]
12pub use self::{timestamp::Timestamp, traits::*, types::*};
13/// this module implements the [`Timestamp`] type
14pub mod timestamp;
15
16mod impls {
17    pub mod impl_timestamp;
18    pub mod impl_timestamp_repr;
19}
20
21mod types {
22    //! this module contains various implementations used to support `time` related features
23    #[doc(inline)]
24    pub use self::prelude::*;
25
26    mod datetime;
27    mod epoch;
28
29    mod prelude {
30        #[doc(inline)]
31        pub use super::datetime::*;
32        #[doc(inline)]
33        pub use super::epoch::*;
34    }
35}
36
37mod traits {
38    //! this moodule implements the core traits supporting the `time` module
39    #[doc(inline)]
40    pub use self::prelude::*;
41
42    mod now;
43    mod timestamp;
44
45    mod prelude {
46        #[doc(inline)]
47        pub use super::now::*;
48        #[doc(inline)]
49        pub use super::timestamp::*;
50    }
51}
52
53pub(crate) mod prelude {
54    #[doc(inline)]
55    pub use super::timestamp::*;
56    #[doc(inline)]
57    pub use super::traits::*;
58    #[doc(inline)]
59    pub use super::types::*;
60    #[cfg(feature = "std")]
61    pub use super::utils::*;
62}
63
64mod utils {
65    #[doc(inline)]
66    pub use self::prelude::*;
67
68    #[cfg(feature = "std")]
69    mod base;
70
71    mod prelude {
72        #[doc(inline)]
73        #[cfg(feature = "std")]
74        pub use super::base::*;
75    }
76}