@@ -11,22 +11,12 @@ struct SequentialTransform <: Transform
11
11
transforms:: Vector{Transform}
12
12
end
13
13
14
- # AbstractTrees interface
15
- AbstractTrees. nodevalue (:: SequentialTransform ) = SequentialTransform
16
- AbstractTrees. children (s:: SequentialTransform ) = s. transforms
17
-
18
- Base. show (io:: IO , s:: SequentialTransform ) =
19
- print (io, join (s. transforms, " → " ))
20
-
21
- function Base. show (io:: IO , :: MIME"text/plain" , s:: SequentialTransform )
22
- tree = AbstractTrees. repr_tree (s, context= io)
23
- print (io, tree[begin : end - 1 ]) # remove \n at end
24
- end
25
-
26
14
isrevertible (s:: SequentialTransform ) = all (isrevertible, s. transforms)
27
15
28
16
isinvertible (s:: SequentialTransform ) = all (isinvertible, s. transforms)
29
17
18
+ Base. inv (s:: SequentialTransform ) = SequentialTransform ([inv (t) for t in reverse (s. transforms)])
19
+
30
20
function apply (s:: SequentialTransform , table)
31
21
allcache = []
32
22
current = table
@@ -80,3 +70,15 @@ Create a [`SequentialTransform`](@ref) transform with
80
70
→ (t1:: Identity , t2:: Identity ) = Identity ()
81
71
→ (t1:: Transform , t2:: Identity ) = t1
82
72
→ (t1:: Identity , t2:: Transform ) = t2
73
+
74
+ # AbstractTrees interface
75
+ AbstractTrees. nodevalue (:: SequentialTransform ) = SequentialTransform
76
+ AbstractTrees. children (s:: SequentialTransform ) = s. transforms
77
+
78
+ Base. show (io:: IO , s:: SequentialTransform ) =
79
+ print (io, join (s. transforms, " → " ))
80
+
81
+ function Base. show (io:: IO , :: MIME"text/plain" , s:: SequentialTransform )
82
+ tree = AbstractTrees. repr_tree (s, context= io)
83
+ print (io, tree[begin : end - 1 ]) # remove \n at end
84
+ end
0 commit comments