Skip to main content

HasQuantities

Trait HasQuantities 

Source
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§

Source

fn add_quantity(&mut self, quantity: Box<dyn Quantity>)

Adds a quantity to this structure.

Source

fn get_quantity(&self, name: &str) -> Option<&dyn Quantity>

Gets a quantity by name.

Source

fn get_quantity_mut(&mut self, name: &str) -> Option<&mut Box<dyn Quantity>>

Gets a mutable quantity by name.

Source

fn remove_quantity(&mut self, name: &str) -> Option<Box<dyn Quantity>>

Removes a quantity by name.

Source

fn quantities(&self) -> &[Box<dyn Quantity>]

Returns all quantities attached to this structure.

Provided Methods§

Source

fn num_quantities(&self) -> usize

Returns the number of quantities attached.

Implementors§