pub trait HasQuantities: Structure {
// Required methods
fn add_quantity(&mut self, quantity: Box<dyn Quantity>);
fn get_quantity(&self, name: &str) -> Option<&dyn Quantity>;
fn get_quantity_mut(&mut self, name: &str) -> Option<&mut Box<dyn Quantity>>;
fn remove_quantity(&mut self, name: &str) -> Option<Box<dyn Quantity>>;
fn quantities(&self) -> &[Box<dyn Quantity>];
// Provided method
fn num_quantities(&self) -> usize { ... }
}Expand description
A structure that can have quantities attached to it.
Required Methods§
Sourcefn add_quantity(&mut self, quantity: Box<dyn Quantity>)
fn add_quantity(&mut self, quantity: Box<dyn Quantity>)
Adds a quantity to this structure.
Sourcefn get_quantity(&self, name: &str) -> Option<&dyn Quantity>
fn get_quantity(&self, name: &str) -> Option<&dyn Quantity>
Gets a quantity by name.
Sourcefn get_quantity_mut(&mut self, name: &str) -> Option<&mut Box<dyn Quantity>>
fn get_quantity_mut(&mut self, name: &str) -> Option<&mut Box<dyn Quantity>>
Gets a mutable quantity by name.
Sourcefn remove_quantity(&mut self, name: &str) -> Option<Box<dyn Quantity>>
fn remove_quantity(&mut self, name: &str) -> Option<Box<dyn Quantity>>
Removes a quantity by name.
Sourcefn quantities(&self) -> &[Box<dyn Quantity>]
fn quantities(&self) -> &[Box<dyn Quantity>]
Returns all quantities attached to this structure.
Provided Methods§
Sourcefn num_quantities(&self) -> usize
fn num_quantities(&self) -> usize
Returns the number of quantities attached.