use super::Log;
use core::slice::Iter;
use std::vec::IntoIter;
impl<Type> FromIterator<Type> for Log<Type> {
fn from_iter<T: IntoIterator<Item = Type>>(iter: T) -> Self {
let mut log = Log::new();
log.extend(iter);
return log;
}
}
impl<Type> IntoIterator for Log<Type> {
type Item = Type;
type IntoIter = IntoIter<Type>;
fn into_iter(self) -> Self::IntoIter {return self.data.into_iter()}
}
impl<'valid, Type> const IntoIterator for &'valid Log<Type> {
type Item = &'valid Type;
type IntoIter = Iter<'valid, Type>;
fn into_iter(self) -> Self::IntoIter {self.iter()}
}
impl<Type> Log<Type> {
#[inline]
pub const fn iter<'valid>(&'valid self) -> Iter<'valid, Type> {return self.data.iter()}
}