#byte-slice #splitter #fun

subsl

Adds fun new features to Rust slices

1 unstable release

0.1.0 Aug 6, 2021

#11 in #splitter

Apache-2.0

7KB
70 lines

subsl

subsl extends the slices you know and love with some additional functionality.

For example, usually, you can't split a byte slice on a subslice; with subsl, you can!

Examples

use subsl::Splitter;

let http_get: &[u8] = &*b"GET / HTTP/1.0\r\n\r\nsome data in the body";
let sep = b"\r\n\r\n";
let mut iter = http_get.subsl_split(sep);
let headers = iter.next().unwrap();
let body = iter.next().unwrap();

assert_eq!(headers, b"GET / HTTP/1.0");
assert_eq!(body, b"some data in the body");

License: Apache-2.0


lib.rs:

subsl extends the slices you know and love with some additional functionality.

For example, usually, you can't split a byte slice on a subslice; with subsl, you can!

Examples

use subsl::Splitter;

let http_get: &[u8] = &*b"GET / HTTP/1.0\r\n\r\nsome data in the body";
let sep = b"\r\n\r\n";
let mut iter = http_get.subsl_split(sep);
let headers = iter.next().unwrap();
let body = iter.next().unwrap();

assert_eq!(headers, b"GET / HTTP/1.0");
assert_eq!(body, b"some data in the body");

No runtime deps