feather-tui 4.1.0

A crate for building simple terminal-based user interfaces.
Documentation
use num_integer::Integer;
use std::ops::AddAssign;

pub(crate) struct IdGenerator<T>
where 
    T: Integer + Copy + AddAssign + PartialEq + Eq,
{
    id: T,
}

impl<T> IdGenerator<T>
where 
    T: Integer + Copy + AddAssign + PartialEq + Eq,
{
    pub(crate) fn new() -> Self {
        IdGenerator {
            id: T::zero(),
        }
    }

    pub(crate) fn get_id(&mut self) -> T {
        self.id += T::one();
        self.id
    }
}