1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// devela::num::fin::bit::wise::definition
//
//! Defines the [`Bitwise`] namespace.
//
/// Provides constant bitwise operations on `T`.
///
/// It's implemented for: [`u8`], [`u16`], [`u32`], [`u64`], [`u128`] and [`usize`].
///
/// ## Panic behavior
/// Unchecked bit operations panic in debug builds when a bit index or range
/// is out of bounds. In release builds they do not panic; the invalid
/// index produces a wrapped shift and a non-meaningful result.
///
/// Checked variants never panic and return an error instead.
///
/// # Related items
/// See also [`BitOps`][crate::BitOps] for the related trait.
///
/// # Methods
///
/// The methods are the same for all unsigned primitives.
/// The following list of methods links to the `u8` implementation:
///
/// - [Constants and mask constructors](#constants-and-mask-constructors-for-u8)
/// - [mask_range](#method.mask_range) ([*checked*](#method.mask_range_checked)).
/// - [is_set_mask](#method.is_set_mask).
/// - [set_mask](#method.set_mask).
/// - [is_unset_mask](#method.is_unset_mask).
/// - [unset_mask](#method.unset_mask).
///
/// - [Get methods](#get-methods-for-u8)
/// - [get_range](#method.get_range) ([*checked*](#method.get_range_checked)).
/// - [get_value_range](#method.get_value_range) ([*checked*](#method.get_value_range_checked)).
///
/// - [Set ops](#set-ops-for-u8)
/// - [is_set](#method.is_set) ([*checked*](#method.is_set_checked)).
/// - [set](#method.set) ([*checked*](#method.set_checked)).
/// - [is_set_range](#method.is_set_range) ([*checked*](#method.is_set_range_checked)).
/// - [set_range](#method.set_range) ([*checked*](#method.set_range_checked)).
/// - [set_all](#method.set_all).
/// - [set_value_range](#method.set_value_range)
/// ([*checked*](#method.set_value_range_checked),
/// [*checked_strict*](#method.set_value_range_checked_strict)).
///
/// - [Unset ops](#unset-ops-for-u8)
/// - [is_unset](#method.is_unset) ([*checked*](#method.is_unset_checked)).
/// - [unset](#method.unset) ([*checked*](#method.unset_checked)).
/// - [is_unset_range](#method.is_unset_range) ([*checked*](#method.is_unset_range_checked)).
/// - [unset_range](#method.unset_range) ([*checked*](#method.unset_range_checked)).
/// - [unset_all](#method.unset_all).
///
/// - [Flip ops](#flip-ops-for-u8)
/// - [flip](#method.flip) ([*checked*](#method.flip_checked)).
/// - [flip_range](#method.flip_range) ([*checked*](#method.flip_range_checked)).
/// - [flip_range_if](#method.flip_range_if) ([*checked*](#method.flip_range_if_checked)).
///
/// - [Reverse ops](#reverse-ops-for-u8)
/// - [reverse_range](#method.reverse_range) ([*checked*](#method.reverse_range_checked)).
///
/// - [Count ops](#count-ops-for-u8)
/// - [count_ones_range](#method.count_ones_range)
/// ([*checked*](#method.count_ones_range_checked)).
/// - [count_zeros_range](#method.count_zeros_range)
/// ([*checked*](#method.count_zeros_range_checked)).
///
/// - [Find ops](#find-ops-for-u8)
/// - [find_first_one_range](#method.find_first_one_range)
/// ([*checked*](#method.find_first_one_range_checked)).
/// - [find_first_zero_range](#method.find_first_zero_range)
/// ([*checked*](#method.find_first_zero_range_checked)).
/// - [find_last_one_range](#method.find_last_one_range)
/// ([*checked*](#method.find_last_one_range_checked)).
/// - [find_last_zero_range](#method.find_last_zero_range)
/// ([*checked*](#method.find_last_zero_range_checked)).
;