mod entities;
mod entity;
mod timeline;
mod timelines;
pub use entities::*;
pub use entity::*;
pub use timeline::*;
pub use timelines::*;
use crate::{Name, OpenTimelineId};
use std::collections::BTreeSet;
pub trait IsReducedType {
fn from_id_and_name(id: OpenTimelineId, name: Name) -> Self;
fn name(&self) -> &Name;
fn id(&self) -> OpenTimelineId;
}
pub trait IsReducedCollection:
FromIterator<<Self as IsReducedCollection>::Item> + IntoIterator
{
type Item: IsReducedType + Ord + Clone;
fn collection(&self) -> &BTreeSet<<Self as IsReducedCollection>::Item>;
fn collection_mut(&mut self) -> &mut BTreeSet<<Self as IsReducedCollection>::Item>;
}