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
//! 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, 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, 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, T) -> &mut Self; }