memx/mem/
mod.rs

1#![doc(hidden)]
2
3use crate::utils::{B1Dbl, B1Qpl, B1Sgl, B1Tpl};
4
5mod mem_chr;
6pub(crate) use mem_chr::_memchr_sgl_impl;
7
8#[allow(unused_imports)]
9pub(crate) use mem_chr::_chr_sgl_to_aligned_u128;
10#[allow(unused_imports)]
11pub(crate) use mem_chr::_chr_sgl_to_aligned_u256;
12#[allow(unused_imports)]
13pub(crate) use mem_chr::_memchr_sgl_remaining_15_bytes_impl;
14
15mod mem_rchr;
16pub(crate) use mem_rchr::_memrchr_sgl_impl;
17
18#[allow(unused_imports)]
19pub(crate) use mem_rchr::_memrchr_sgl_remaining_15_bytes_impl;
20#[allow(unused_imports)]
21pub(crate) use mem_rchr::_rchr_sgl_to_aligned_u128;
22#[allow(unused_imports)]
23pub(crate) use mem_rchr::_rchr_sgl_to_aligned_u256;
24
25mod mem_chr_dbl;
26pub(crate) use mem_chr_dbl::_memchr_dbl_impl;
27
28#[allow(unused_imports)]
29pub(crate) use mem_chr_dbl::_chr_dbl_to_aligned_u128;
30#[allow(unused_imports)]
31pub(crate) use mem_chr_dbl::_chr_dbl_to_aligned_u256;
32#[allow(unused_imports)]
33pub(crate) use mem_chr_dbl::_memchr_dbl_remaining_15_bytes_impl;
34
35mod mem_rchr_dbl;
36pub(crate) use mem_rchr_dbl::_memrchr_dbl_impl;
37
38#[allow(unused_imports)]
39pub(crate) use mem_rchr_dbl::_memrchr_dbl_remaining_15_bytes_impl;
40#[allow(unused_imports)]
41pub(crate) use mem_rchr_dbl::_rchr_dbl_to_aligned_u128;
42#[allow(unused_imports)]
43pub(crate) use mem_rchr_dbl::_rchr_dbl_to_aligned_u256;
44
45mod mem_chr_tpl;
46pub(crate) use mem_chr_tpl::_memchr_tpl_impl;
47
48#[allow(unused_imports)]
49pub(crate) use mem_chr_tpl::_chr_tpl_to_aligned_u128;
50#[allow(unused_imports)]
51pub(crate) use mem_chr_tpl::_chr_tpl_to_aligned_u256;
52#[allow(unused_imports)]
53pub(crate) use mem_chr_tpl::_memchr_tpl_remaining_15_bytes_impl;
54
55mod mem_rchr_tpl;
56pub(crate) use mem_rchr_tpl::_memrchr_tpl_impl;
57
58#[allow(unused_imports)]
59pub(crate) use mem_rchr_tpl::_memrchr_tpl_remaining_15_bytes_impl;
60#[allow(unused_imports)]
61pub(crate) use mem_rchr_tpl::_rchr_tpl_to_aligned_u128;
62#[allow(unused_imports)]
63pub(crate) use mem_rchr_tpl::_rchr_tpl_to_aligned_u256;
64
65mod mem_chr_qpl;
66pub(crate) use mem_chr_qpl::_memchr_qpl_impl;
67
68#[allow(unused_imports)]
69pub(crate) use mem_chr_qpl::_chr_qpl_to_aligned_u128;
70#[allow(unused_imports)]
71pub(crate) use mem_chr_qpl::_chr_qpl_to_aligned_u256;
72#[allow(unused_imports)]
73pub(crate) use mem_chr_qpl::_memchr_qpl_remaining_15_bytes_impl;
74
75mod mem_rchr_qpl;
76pub(crate) use mem_rchr_qpl::_memrchr_qpl_impl;
77
78#[allow(unused_imports)]
79pub(crate) use mem_rchr_qpl::_memrchr_qpl_remaining_15_bytes_impl;
80#[allow(unused_imports)]
81pub(crate) use mem_rchr_qpl::_rchr_qpl_to_aligned_u128;
82#[allow(unused_imports)]
83pub(crate) use mem_rchr_qpl::_rchr_qpl_to_aligned_u256;
84
85mod mem_nechr;
86pub(crate) use mem_nechr::_memnechr_sgl_impl;
87
88#[allow(unused_imports)]
89pub(crate) use mem_nechr::_memnechr_sgl_remaining_15_bytes_impl;
90#[allow(unused_imports)]
91pub(crate) use mem_nechr::_nechr_sgl_to_aligned_u128;
92#[allow(unused_imports)]
93pub(crate) use mem_nechr::_nechr_sgl_to_aligned_u256;
94
95mod mem_rnechr;
96pub(crate) use mem_rnechr::_memrnechr_sgl_impl;
97
98#[allow(unused_imports)]
99pub(crate) use mem_rnechr::_memrnechr_sgl_remaining_15_bytes_impl;
100#[allow(unused_imports)]
101pub(crate) use mem_rnechr::_rnechr_sgl_to_aligned_u128;
102#[allow(unused_imports)]
103pub(crate) use mem_rnechr::_rnechr_sgl_to_aligned_u256;
104
105mod mem_nechr_dbl;
106pub(crate) use mem_nechr_dbl::_memnechr_dbl_impl;
107
108#[allow(unused_imports)]
109pub(crate) use mem_nechr_dbl::_memnechr_dbl_remaining_15_bytes_impl;
110#[allow(unused_imports)]
111pub(crate) use mem_nechr_dbl::_nechr_dbl_to_aligned_u128;
112#[allow(unused_imports)]
113pub(crate) use mem_nechr_dbl::_nechr_dbl_to_aligned_u256;
114
115mod mem_rnechr_dbl;
116pub(crate) use mem_rnechr_dbl::_memrnechr_dbl_impl;
117
118#[allow(unused_imports)]
119pub(crate) use mem_rnechr_dbl::_memrnechr_dbl_remaining_15_bytes_impl;
120#[allow(unused_imports)]
121pub(crate) use mem_rnechr_dbl::_rnechr_dbl_to_aligned_u128;
122#[allow(unused_imports)]
123pub(crate) use mem_rnechr_dbl::_rnechr_dbl_to_aligned_u256;
124
125mod mem_nechr_tpl;
126pub(crate) use mem_nechr_tpl::_memnechr_tpl_impl;
127
128#[allow(unused_imports)]
129pub(crate) use mem_nechr_tpl::_memnechr_tpl_remaining_15_bytes_impl;
130#[allow(unused_imports)]
131pub(crate) use mem_nechr_tpl::_nechr_tpl_to_aligned_u128;
132#[allow(unused_imports)]
133pub(crate) use mem_nechr_tpl::_nechr_tpl_to_aligned_u256;
134
135mod mem_rnechr_tpl;
136pub(crate) use mem_rnechr_tpl::_memrnechr_tpl_impl;
137
138#[allow(unused_imports)]
139pub(crate) use mem_rnechr_tpl::_memrnechr_tpl_remaining_15_bytes_impl;
140#[allow(unused_imports)]
141pub(crate) use mem_rnechr_tpl::_rnechr_tpl_to_aligned_u128;
142#[allow(unused_imports)]
143pub(crate) use mem_rnechr_tpl::_rnechr_tpl_to_aligned_u256;
144
145mod mem_nechr_qpl;
146pub(crate) use mem_nechr_qpl::_memnechr_qpl_impl;
147
148#[allow(unused_imports)]
149pub(crate) use mem_nechr_qpl::_memnechr_qpl_remaining_15_bytes_impl;
150#[allow(unused_imports)]
151pub(crate) use mem_nechr_qpl::_nechr_qpl_to_aligned_u128;
152#[allow(unused_imports)]
153pub(crate) use mem_nechr_qpl::_nechr_qpl_to_aligned_u256;
154
155mod mem_rnechr_qpl;
156pub(crate) use mem_rnechr_qpl::_memrnechr_qpl_impl;
157
158#[allow(unused_imports)]
159pub(crate) use mem_rnechr_qpl::_memrnechr_qpl_remaining_15_bytes_impl;
160#[allow(unused_imports)]
161pub(crate) use mem_rnechr_qpl::_rnechr_qpl_to_aligned_u128;
162#[allow(unused_imports)]
163pub(crate) use mem_rnechr_qpl::_rnechr_qpl_to_aligned_u256;
164
165mod mem_cmp;
166pub(crate) use mem_cmp::_memcmp_impl;
167
168#[allow(unused_imports)]
169pub(crate) use mem_cmp::_cmp_to_aligned_u128;
170#[allow(unused_imports)]
171pub(crate) use mem_cmp::_cmp_to_aligned_u256;
172#[allow(unused_imports)]
173pub(crate) use mem_cmp::_cmp_to_aligned_u64;
174#[allow(unused_imports)]
175pub(crate) use mem_cmp::_memcmp_remaining_15_bytes_impl;
176#[allow(unused_imports)]
177pub(crate) use mem_cmp::_start_cmp_128;
178#[allow(unused_imports)]
179pub(crate) use mem_cmp::_start_cmp_64;
180
181mod mem_eq;
182pub(crate) use mem_eq::_memeq_impl;
183
184#[allow(unused_imports)]
185pub(crate) use mem_eq::_eq_to_aligned_u128;
186#[allow(unused_imports)]
187pub(crate) use mem_eq::_eq_to_aligned_u256;
188#[allow(unused_imports)]
189pub(crate) use mem_eq::_eq_to_aligned_u64;
190#[allow(unused_imports)]
191pub(crate) use mem_eq::_memeq_remaining_15_bytes_impl;
192#[allow(unused_imports)]
193pub(crate) use mem_eq::_start_eq_128;
194#[allow(unused_imports)]
195pub(crate) use mem_eq::_start_eq_64;
196
197mod mem_mem;
198pub(crate) use mem_mem::_memmem_impl;
199
200mod mem_rmem;
201pub(crate) use mem_rmem::_memrmem_impl;
202
203mod mem_cpy;
204pub(crate) use mem_cpy::_memcpy_impl;
205
206#[allow(unused_imports)]
207pub(crate) use mem_cpy::_cpy_to_aligned_u128;
208#[allow(unused_imports)]
209pub(crate) use mem_cpy::_cpy_to_aligned_u256;
210#[allow(unused_imports)]
211pub(crate) use mem_cpy::_memcpy_remaining_15_bytes_impl;
212
213mod mem_set;
214pub(crate) use mem_set::_memset_impl;
215
216#[allow(unused_imports)]
217pub(crate) use mem_set::_memset_remaining_15_bytes_impl;
218#[allow(unused_imports)]
219pub(crate) use mem_set::_set_to_aligned_u128;
220#[allow(unused_imports)]
221pub(crate) use mem_set::_set_to_aligned_u256;
222
223use super::RangeError;
224use core::cmp::Ordering;
225
226pub fn memchr_basic(buf: &[u8], c1: u8) -> Option<usize> {
227    let needle = B1Sgl::new(c1);
228    crate::mem::_memchr_sgl_impl(buf, needle)
229}
230
231pub fn memrchr_basic(buf: &[u8], c1: u8) -> Option<usize> {
232    let needle = B1Sgl::new(c1);
233    crate::mem::_memrchr_sgl_impl(buf, needle)
234}
235
236pub fn memchr_dbl_basic(buf: &[u8], c1: u8, c2: u8) -> Option<usize> {
237    let needle = B1Dbl::new(c1, c2);
238    crate::mem::_memchr_dbl_impl(buf, needle)
239}
240
241pub fn memrchr_dbl_basic(buf: &[u8], c1: u8, c2: u8) -> Option<usize> {
242    let needle = B1Dbl::new(c1, c2);
243    crate::mem::_memrchr_dbl_impl(buf, needle)
244}
245
246pub fn memchr_tpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8) -> Option<usize> {
247    let needle = B1Tpl::new(c1, c2, c3);
248    crate::mem::_memchr_tpl_impl(buf, needle)
249}
250
251pub fn memrchr_tpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8) -> Option<usize> {
252    let needle = B1Tpl::new(c1, c2, c3);
253    crate::mem::_memrchr_tpl_impl(buf, needle)
254}
255
256pub fn memchr_qpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8, c4: u8) -> Option<usize> {
257    let needle = B1Qpl::new(c1, c2, c3, c4);
258    crate::mem::_memchr_qpl_impl(buf, needle)
259}
260
261pub fn memrchr_qpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8, c4: u8) -> Option<usize> {
262    let needle = B1Qpl::new(c1, c2, c3, c4);
263    crate::mem::_memrchr_qpl_impl(buf, needle)
264}
265
266pub fn memnechr_basic(buf: &[u8], c1: u8) -> Option<usize> {
267    let needle = B1Sgl::new(c1);
268    crate::mem::_memnechr_sgl_impl(buf, needle)
269}
270
271pub fn memrnechr_basic(buf: &[u8], c1: u8) -> Option<usize> {
272    let needle = B1Sgl::new(c1);
273    crate::mem::_memrnechr_sgl_impl(buf, needle)
274}
275
276pub fn memnechr_dbl_basic(buf: &[u8], c1: u8, c2: u8) -> Option<usize> {
277    let needle = B1Dbl::new(c1, c2);
278    crate::mem::_memnechr_dbl_impl(buf, needle)
279}
280
281pub fn memrnechr_dbl_basic(buf: &[u8], c1: u8, c2: u8) -> Option<usize> {
282    let needle = B1Dbl::new(c1, c2);
283    crate::mem::_memrnechr_dbl_impl(buf, needle)
284}
285
286pub fn memnechr_tpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8) -> Option<usize> {
287    let needle = B1Tpl::new(c1, c2, c3);
288    crate::mem::_memnechr_tpl_impl(buf, needle)
289}
290
291pub fn memrnechr_tpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8) -> Option<usize> {
292    let needle = B1Tpl::new(c1, c2, c3);
293    crate::mem::_memrnechr_tpl_impl(buf, needle)
294}
295
296pub fn memnechr_qpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8, c4: u8) -> Option<usize> {
297    let needle = B1Qpl::new(c1, c2, c3, c4);
298    crate::mem::_memnechr_qpl_impl(buf, needle)
299}
300
301pub fn memrnechr_qpl_basic(buf: &[u8], c1: u8, c2: u8, c3: u8, c4: u8) -> Option<usize> {
302    let needle = B1Qpl::new(c1, c2, c3, c4);
303    crate::mem::_memrnechr_qpl_impl(buf, needle)
304}
305
306pub fn memmem_basic(haystack: &[u8], needle: &[u8]) -> Option<usize> {
307    crate::mem::_memmem_impl(haystack, needle)
308}
309
310pub fn memrmem_basic(haystack: &[u8], needle: &[u8]) -> Option<usize> {
311    crate::mem::_memrmem_impl(haystack, needle)
312}
313
314pub fn memcmp_basic(a: &[u8], b: &[u8]) -> Ordering {
315    crate::mem::_memcmp_impl(a, b)
316}
317
318pub fn memeq_basic(a: &[u8], b: &[u8]) -> bool {
319    crate::mem::_memeq_impl(a, b)
320}
321
322pub fn memcpy_basic(dst: &mut [u8], src: &[u8]) -> Result<(), RangeError> {
323    crate::mem::_memcpy_impl(dst, src)
324}
325
326pub fn memset_basic(buf: &mut [u8], c: u8) {
327    crate::mem::_memset_impl(buf, c)
328}