object_rainbow/impls/
vec.rs1use std::collections::VecDeque;
2
3use crate::*;
4
5impl<T: ToOutput> ToOutput for Vec<T> {
6 fn to_output(&self, output: &mut dyn Output) {
7 self.iter_to_output(output);
8 }
9}
10
11impl<T: Topological> Topological for Vec<T> {
12 fn accept_points(&self, visitor: &mut impl PointVisitor) {
13 self.iter_accept_points(visitor);
14 }
15}
16
17impl<T: ParseInline<I>, I: ParseInput> Parse<I> for Vec<T> {
18 fn parse(input: I) -> crate::Result<Self> {
19 input.parse_collect()
20 }
21}
22
23impl<T: Tagged> Tagged for Vec<T> {
24 const TAGS: Tags = T::TAGS;
25}
26
27impl<T: Inline> Object for Vec<T> {}
28
29impl<T: ReflessInline> ReflessObject for Vec<T> {}
30
31impl<T: ToOutput> ToOutput for VecDeque<T> {
32 fn to_output(&self, output: &mut dyn Output) {
33 self.iter_to_output(output);
34 }
35}
36
37impl<T: Topological> Topological for VecDeque<T> {
38 fn accept_points(&self, visitor: &mut impl PointVisitor) {
39 self.iter_accept_points(visitor);
40 }
41}
42
43impl<T: ParseInline<I>, I: ParseInput> Parse<I> for VecDeque<T> {
44 fn parse(input: I) -> crate::Result<Self> {
45 input.parse_collect()
46 }
47}
48
49impl<T: Tagged> Tagged for VecDeque<T> {
50 const TAGS: Tags = T::TAGS;
51}
52
53impl<T: Inline> Object for VecDeque<T> {}
54
55impl<T: ReflessInline> ReflessObject for VecDeque<T> {}