use crate::SysAttributeExt;
pub struct AttributeCapabilities<A: crate::SysAttribute, E: crate::SysEntityAttributes<A> + ?Sized> {
pub(crate) required: Vec<A>,
pub(crate) _entity_ty: std::marker::PhantomData<E>,
}
impl <A: crate::SysAttribute, E: crate::SysEntityAttributes<A> + ?Sized> super::Capabilities<A, E> for AttributeCapabilities<A, E> {
fn satisfies(&mut self, entity: &E) -> bool {
self.required.iter()
.all(|attr| attr.path(entity).is_file())
}
}