nuit_core/compose/
bind.rs

1use crate::Context;
2
3/// Binds a storage to the view's state.
4pub trait Bind {
5    fn bind(&self, _context: &Context) {
6        // Bind nothing by default
7    }
8}
9
10macro_rules! impl_tuple_bind {
11    ($($tvs:ident),*) => {
12        impl<$($tvs),*> Bind for ($($tvs,)*) {}
13    };
14}
15
16impl_tuple_bind!();
17impl_tuple_bind!(T1);
18impl_tuple_bind!(T1, T2);
19impl_tuple_bind!(T1, T2, T3);
20impl_tuple_bind!(T1, T2, T3, T4);
21impl_tuple_bind!(T1, T2, T3, T4, T5);
22impl_tuple_bind!(T1, T2, T3, T4, T5, T6);
23impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7);
24impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8);
25impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9);
26impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10);
27impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11);
28impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12);
29impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13);
30impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14);
31impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15);
32impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16);
33impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17);
34impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18);
35impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19);
36impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20);
37impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21);
38impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22);
39impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23);
40impl_tuple_bind!(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24);