pub struct CostEstimate {
pub project_name: String,
pub estimate_date: String,
pub items: Vec<CostItem>,
pub overhead_pct: f32,
pub profit_pct: f32,
pub gst_pct: f32,
pub design_fee_pct: f32,
pub supervision_fee_pct: f32,
}Fields§
§project_name: String§estimate_date: String§items: Vec<CostItem>§overhead_pct: f32§profit_pct: f32§gst_pct: f32§design_fee_pct: f32§supervision_fee_pct: f32Implementations§
Source§impl CostEstimate
impl CostEstimate
pub fn new(project_name: &str) -> Self
pub fn add_item(&mut self, item: CostItem)
pub fn direct_cost(&self) -> f64
pub fn overhead_cost(&self) -> f64
pub fn profit(&self) -> f64
pub fn construction_cost(&self) -> f64
pub fn total_project_cost(&self) -> f64
pub fn cost_per_lane_km(&self, lane_km: f32) -> f64
Trait Implementations§
Source§impl Clone for CostEstimate
impl Clone for CostEstimate
Auto Trait Implementations§
impl Freeze for CostEstimate
impl RefUnwindSafe for CostEstimate
impl Send for CostEstimate
impl Sync for CostEstimate
impl Unpin for CostEstimate
impl UnsafeUnpin for CostEstimate
impl UnwindSafe for CostEstimate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.