scsys_config/traits/configure.rs
1/*
2 Appellation: configure <module>
3 Contrib: @FL03
4*/
5/// The [`RawConfiguration`] trait defines the base representation format for all
6/// configuration schemas.
7pub trait RawConfiguration {}
8
9/// [`Configuration`] is used to establish a common interface for all configuration types.
10pub trait Configuration: RawConfiguration {}
11
12/// [`Configurable`] trait for types that can be configured with another type, denoted by
13/// [Configurable::Config].
14pub trait Configurable {
15 type Config;
16
17 fn config(&self) -> &Self::Config;
18}