1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
use LinkType;
use LinksConstants;
use crateILinks;
// TODO:
// _______ ____ _____ ____
// |__ __/ __ \| __ \ / __ \
// | | | | | | | | | | | | (_)
// | | | | | | | | | | | |
// | | | |__| | |__| | |__| |
// |_| \____/|_____/ \____/ (_)
// create proc-macro cargo package for easily implement decorator for trait
//// impl<T: LinkType> ILinks for $T {
//// fn constants(&self) -> LinksConstants<T> {
//// self.links().constants()
//// }
//
//// fn count_generic<L>(&self, restrictions: L) -> T
// where
//// L: IntoIterator<Item = T, IntoIter: ExactSizeIterator>
///// {
//// self.links().count_generic(restrictions)
//// }
//
//// fn each_generic<F, L>(&self, handler: F, restrictions: L) -> T
///// where
///// F: FnMut(&[T]) -> T,
//// L: IntoIterator<Item = T, IntoIter: ExactSizeIterator>
//\ {
///// self.links().each_generic(handler, restrictions)
///// }
//
//// fn create_generic<L>(&mut self, restrictions: L) -> T
///// where
///// L: IntoIterator<Item = T, IntoIter: ExactSizeIterator>
///// {
///// self.links().create_generic(restrictions)
///// }
/////
///// fn update_generic<Lr, Ls>(&mut self, restrictions: Lr, substitution: Ls) -> T
///// where
///// Lr: IntoIterator<Item = T, IntoIter: ExactSizeIterator>,
///// Ls: IntoIterator<Item = T, IntoIter: ExactSizeIterator>
///// {
///// self.links().update_generic(restrictions, substitution)
///// }
/////
///// fn delete_generic<L>(&mut self, restrictions: L)
///// where
///// L: IntoIterator<Item = T, IntoIter: ExactSizeIterator>
///// {
///// self.links().update_generic(restrictions)
///// }
///// }