Lines Matching refs:range
21 /// Create a range
31 /// let range = ValueRange::new(5);
32 /// let range = ValueRange::new(5..10);
33 /// let range = ValueRange::new(5..=10);
34 /// let range = ValueRange::new(5..);
35 /// let range = ValueRange::new(..10);
36 /// let range = ValueRange::new(..=10);
42 /// let range = ValueRange::new(10..5); // Panics!
44 pub fn new(range: impl Into<Self>) -> Self {
45 range.into()
72 /// let range = ValueRange::new(5);
73 /// assert!(range.takes_values());
75 /// let range = ValueRange::new(0);
76 /// assert!(!range.takes_values());
126 fn from(range: std::ops::Range<usize>) -> Self {
127 let start_inclusive = range.start;
128 let end_inclusive = range.end.saturating_sub(1);
142 fn from(range: std::ops::RangeFrom<usize>) -> Self {
143 let start_inclusive = range.start;
150 fn from(range: std::ops::RangeTo<usize>) -> Self {
152 let end_inclusive = range.end.saturating_sub(1);
158 fn from(range: std::ops::RangeInclusive<usize>) -> Self {
159 let start_inclusive = *range.start();
160 let end_inclusive = *range.end();
166 fn from(range: std::ops::RangeToInclusive<usize>) -> Self {
168 let end_inclusive = range.end;
198 let range: ValueRange = 5.into();
199 assert_eq!(range.start_bound(), std::ops::Bound::Included(&5));
200 assert_eq!(range.end_bound(), std::ops::Bound::Included(&5));
201 assert!(range.is_fixed());
202 assert!(range.is_multiple());
203 assert_eq!(range.num_values(), Some(5));
204 assert!(range.takes_values());
209 let range: ValueRange = 0.into();
210 assert_eq!(range.start_bound(), std::ops::Bound::Included(&0));
211 assert_eq!(range.end_bound(), std::ops::Bound::Included(&0));
212 assert!(range.is_fixed());
213 assert!(!range.is_multiple());
214 assert_eq!(range.num_values(), Some(0));
215 assert!(!range.takes_values());
220 let range: ValueRange = (5..10).into();
221 assert_eq!(range.start_bound(), std::ops::Bound::Included(&5));
222 assert_eq!(range.end_bound(), std::ops::Bound::Included(&9));
223 assert!(!range.is_fixed());
224 assert!(range.is_multiple());
225 assert_eq!(range.num_values(), None);
226 assert!(range.takes_values());
231 let range: ValueRange = (5..=10).into();
232 assert_eq!(range.start_bound(), std::ops::Bound::Included(&5));
233 assert_eq!(range.end_bound(), std::ops::Bound::Included(&10));
234 assert!(!range.is_fixed());
235 assert!(range.is_multiple());
236 assert_eq!(range.num_values(), None);
237 assert!(range.takes_values());
242 let range: ValueRange = (..).into();
243 assert_eq!(range.start_bound(), std::ops::Bound::Included(&0));
244 assert_eq!(range.end_bound(), std::ops::Bound::Included(&usize::MAX));
245 assert!(!range.is_fixed());
246 assert!(range.is_multiple());
247 assert_eq!(range.num_values(), None);
248 assert!(range.takes_values());
253 let range: ValueRange = (5..).into();
254 assert_eq!(range.start_bound(), std::ops::Bound::Included(&5));
255 assert_eq!(range.end_bound(), std::ops::Bound::Included(&usize::MAX));
256 assert!(!range.is_fixed());
257 assert!(range.is_multiple());
258 assert_eq!(range.num_values(), None);
259 assert!(range.takes_values());
264 let range: ValueRange = (..10).into();
265 assert_eq!(range.start_bound(), std::ops::Bound::Included(&0));
266 assert_eq!(range.end_bound(), std::ops::Bound::Included(&9));
267 assert!(!range.is_fixed());
268 assert!(range.is_multiple());
269 assert_eq!(range.num_values(), None);
270 assert!(range.takes_values());
275 let range: ValueRange = (..=10).into();
276 assert_eq!(range.start_bound(), std::ops::Bound::Included(&0));
277 assert_eq!(range.end_bound(), std::ops::Bound::Included(&10));
278 assert!(!range.is_fixed());
279 assert!(range.is_multiple());
280 assert_eq!(range.num_values(), None);
281 assert!(range.takes_values());