Lines Matching defs:span_of
38 /// span_of!(Struct, member)
41 /// The second form of `span_of!` returns a sub-slice which starts at one field, and ends at another.
46 /// span_of!(Struct, member_a .. member_b)
48 /// span_of!(Struct, member_a ..= member_b)
51 /// span_of!(Struct, .. end)
52 /// span_of!(Struct, start ..)
69 /// use memoffset::span_of;
85 /// assert_eq!(0..84, span_of!(Blarg, ..));
86 /// assert_eq!(0..8, span_of!(Blarg, .. y));
87 /// assert_eq!(0..64, span_of!(Blarg, ..= y));
88 /// assert_eq!(0..8, span_of!(Blarg, x));
89 /// assert_eq!(8..84, span_of!(Blarg, y ..));
90 /// assert_eq!(0..8, span_of!(Blarg, x .. y));
91 /// assert_eq!(0..64, span_of!(Blarg, x ..= y));
95 macro_rules! span_of {
140 span_of!(@helper $root, $parent, $(#$begin)* #$tt [] $($rest)*)
143 span_of!(@helper $root, $parent, #$tt [] $($rest)*)
151 let (begin, end) = span_of!(@helper root, $sty, [] $($exp)*);
169 assert_eq!(span_of!(Foo, a), 0..4);
170 assert_eq!(span_of!(Foo, b), 4..6);
171 assert_eq!(span_of!(Foo, c), 8..8 + 8);
184 assert_eq!(span_of!(Foo, a), 0..4);
185 assert_eq!(span_of!(Foo, b), 4..6);
186 assert_eq!(span_of!(Foo, c), 6..6 + 8);
205 assert_eq!(0..8, span_of!(Blarg, x));
206 assert_eq!(64..68, span_of!(Blarg, z));
207 assert_eq!(68..mem::size_of::<Blarg>(), span_of!(Blarg, egg));
209 assert_eq!(8..64, span_of!(Blarg, y..z));
210 assert_eq!(0..64, span_of!(Blarg, x..=y));
228 assert_eq!(span_of!(Test, ..x), 0..0);
229 assert_eq!(span_of!(Test, ..=x), 0..8);
230 assert_eq!(span_of!(Test, ..y), 0..8);
231 assert_eq!(span_of!(Test, ..=y), 0..64);
232 assert_eq!(span_of!(Test, ..z), 0..64);
233 assert_eq!(span_of!(Test, ..=z), 0..68);
234 assert_eq!(span_of!(Test, ..egg), 0..68);
235 assert_eq!(span_of!(Test, ..=egg), 0..84);
236 assert_eq!(span_of!(Test, ..), 0..mem::size_of::<Test>());
238 span_of!(Test, x..),
242 span_of!(Test, y..),
247 span_of!(Test, z..),
251 span_of!(Test, egg..),
255 span_of!(Test, x..y),
259 span_of!(Test, x..=y),