geng_ecs/
lib.rs

1#![allow(clippy::missing_safety_doc)]
2
3use std::{
4    any::{Any, TypeId},
5    cell::{Cell, UnsafeCell},
6    collections::{HashMap, HashSet},
7    fmt::Debug,
8    marker::PhantomData,
9    ops::{Deref, DerefMut},
10};
11
12#[allow(unused_imports)]
13use crate as ecs;
14
15pub use geng_ecs_derive::*;
16
17#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18pub struct Id(u32);
19
20pub trait Component: Sized + 'static {}
21
22impl<T: 'static> Component for T {}
23
24mod entity;
25mod fetch;
26mod filter;
27mod query;
28mod storage;
29pub mod util;
30mod world;
31
32pub use entity::*;
33pub use fetch::*;
34pub use filter::*;
35pub use query::*;
36use util::*;
37pub use world::*;