use std::fmt;
use super::ResourceBudget;
use crate::resource::ResourceQuantity;
use crate::string::BudgetedStringError;
use crate::string::BudgetedStringWriter;
use crate::string::render_budgeted_string;
impl<R, Q> ResourceBudget<R, Q>
where
R: Clone + fmt::Debug,
Q: ResourceQuantity,
{
#[inline(always)]
pub fn try_write_string<E, F>(&mut self, render: F) -> Result<String, BudgetedStringError<R, E, Q>>
where
E: fmt::Debug + fmt::Display,
F: FnOnce(&mut BudgetedStringWriter<'_, R, Q>) -> Result<(), E>,
{
render_budgeted_string(self, render)
}
}