rstmt_core/
lib.rs

1/*
2    Appellation: triad-core <module>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! # triad-core
6//!
7//! This library provides the core abstractions for the triad project.
8#![cfg_attr(not(feature = "std"), no_std)]
9
10#[cfg(feature = "alloc")]
11extern crate alloc;
12
13#[doc(inline)]
14pub use self::{
15    error::{Error, Result},
16    intervals::*,
17    notes::Note,
18    pitch::{IntoPitch, Pitch, PitchTy, Pitches},
19    primitives::*,
20    utils::*,
21};
22#[doc(inline)]
23pub use self::{ops::prelude::*, traits::prelude::*, types::prelude::*};
24
25#[macro_use]
26pub(crate) mod macros;
27pub(crate) mod primitives;
28pub(crate) mod utils;
29
30pub mod chords;
31pub mod error;
32pub mod intervals;
33#[macro_use]
34pub mod notes;
35pub mod ops;
36pub mod pitch;
37pub mod tone;
38pub mod traits;
39pub mod types;
40
41pub mod prelude {
42    pub use super::chords::prelude::*;
43    pub use super::error::prelude::*;
44    pub use super::intervals::prelude::*;
45    pub use super::notes::prelude::*;
46    pub use super::ops::prelude::*;
47    pub use super::pitch::prelude::*;
48    pub use super::primitives::prelude::*;
49    pub use super::tone::prelude::*;
50    pub use super::traits::prelude::*;
51    pub use super::types::prelude::*;
52    pub use super::utils::*;
53}