cc_traits/impls/alloc/
deque.rs1use crate::{
2 Back, BackMut, Capacity, Clear, Collection, CollectionMut, CollectionRef, Front, FrontMut, Len,
3 PopBack, PushBack, Reserve, SimpleCollectionMut, SimpleCollectionRef, WithCapacity,
4};
5use alloc::collections::VecDeque;
6
7impl<T> Collection for VecDeque<T> {
8 type Item = T;
9}
10
11impl<T> CollectionRef for VecDeque<T> {
12 type ItemRef<'a> = &'a T where Self: 'a;
13
14 crate::covariant_item_ref!();
15}
16
17impl<T> CollectionMut for VecDeque<T> {
18 type ItemMut<'a> = &'a mut T where Self: 'a;
19
20 crate::covariant_item_mut!();
21}
22
23impl<T> SimpleCollectionRef for VecDeque<T> {
24 crate::simple_collection_ref!();
25}
26
27impl<T> SimpleCollectionMut for VecDeque<T> {
28 crate::simple_collection_mut!();
29}
30
31impl<T> WithCapacity for VecDeque<T> {
32 #[inline(always)]
33 fn with_capacity(capacity: usize) -> Self {
34 VecDeque::with_capacity(capacity)
35 }
36}
37
38impl<T> Len for VecDeque<T> {
39 #[inline(always)]
40 fn len(&self) -> usize {
41 self.len()
42 }
43
44 #[inline(always)]
45 fn is_empty(&self) -> bool {
46 self.is_empty()
47 }
48}
49
50impl<T> Capacity for VecDeque<T> {
51 #[inline(always)]
52 fn capacity(&self) -> usize {
53 self.capacity()
54 }
55}
56
57impl<T> Reserve for VecDeque<T> {
58 #[inline(always)]
59 fn reserve(&mut self, additional: usize) {
60 self.reserve(additional)
61 }
62}
63
64impl<T> Front for VecDeque<T> {
65 #[inline(always)]
66 fn front(&self) -> Option<&T> {
67 self.front()
68 }
69}
70
71impl<T> FrontMut for VecDeque<T> {
72 #[inline(always)]
73 fn front_mut(&mut self) -> Option<&mut T> {
74 self.front_mut()
75 }
76}
77
78impl<T> Back for VecDeque<T> {
79 #[inline(always)]
80 fn back(&self) -> Option<&T> {
81 self.back()
82 }
83}
84
85impl<T> BackMut for VecDeque<T> {
86 #[inline(always)]
87 fn back_mut(&mut self) -> Option<&mut T> {
88 self.back_mut()
89 }
90}
91
92impl<T> PushBack for VecDeque<T> {
93 type Output = ();
94
95 #[inline(always)]
96 fn push_back(&mut self, t: T) {
97 self.push_back(t)
98 }
99}
100
101impl<T> PopBack for VecDeque<T> {
102 #[inline(always)]
103 fn pop_back(&mut self) -> Option<T> {
104 self.pop_back()
105 }
106}
107
108impl<T> Clear for VecDeque<T> {
109 #[inline(always)]
110 fn clear(&mut self) {
111 self.clear()
112 }
113}