blob: 52d22332b86a564f5f19bede8460fa10c3116fb4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
//! Traits
/// Overloaded `configure` method
pub trait Configure<This> {
/// The properties of what's being configured
type Properties;
/// Configure some set of properties
fn configure<F>(&mut self, this: This, function: F) -> &mut Self
where
F: FnOnce(&mut Self::Properties) -> &mut Self::Properties;
}
/// Types that can be plotted
pub trait Data {
/// Convert the type into a double precision float
fn f64(self) -> f64;
}
/// Overloaded `plot` method
pub trait Plot<This> {
/// The properties associated to the plot
type Properties;
/// Plots some `data` with some `configuration`
fn plot<F>(&mut self, this: This, function: F) -> &mut Self
where
F: FnOnce(&mut Self::Properties) -> &mut Self::Properties;
}
/// Overloaded `set` method
pub trait Set<T> {
/// Sets some property
fn set(&mut self, value: T) -> &mut Self;
}
|