Skip to main content

egml_core/model/
abstract_object.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
2pub struct AbstractObject {}
3
4impl AbstractObject {
5    pub fn new() -> Self {
6        Self {}
7    }
8}
9
10pub trait AsAbstractObject {
11    fn abstract_object(&self) -> &AbstractObject;
12}
13
14pub trait AsAbstractObjectMut: AsAbstractObject {
15    fn abstract_object_mut(&mut self) -> &mut AbstractObject;
16}
17
18impl AsAbstractObject for AbstractObject {
19    fn abstract_object(&self) -> &AbstractObject {
20        self
21    }
22}
23
24impl AsAbstractObjectMut for AbstractObject {
25    fn abstract_object_mut(&mut self) -> &mut AbstractObject {
26        self
27    }
28}