#string #slice #lexer #macro-derive

no-std splitter

A string and slice splitter library

9 releases

0.2.5 Sep 6, 2022
0.2.4 Sep 6, 2022
0.2.2 Jul 12, 2022
0.1.3 Jul 9, 2022

#206 in No standard library

30 downloads per month

MIT license

32KB
703 lines

Splitter

API Crate

A string and slice splitter library

String Example

use splitter::StrSplitter;

let sp = StrSplitter::new("bytes example", " ");
assert_eq!(
    sp.collect::<Vec<_>>(),
    vec!["bytes", " ", "example"],
);

Slice Example

use splitter::Splitter;

let sp = Splitter::new(&[1, 2, 3, 3, 4], [[2], [4]]);
let re: Vec<&[usize]> = vec![&[1], &[2], &[3, 3], &[4]];
assert_eq!(sp.collect::<Vec<_>>(), re);

Look at the examples for more info

Features

  • std - enables the standard library (currently only used with impls - feature)
  • impls - automatically implements Info and StrInfo for usefull types from core and std
  • infos - adds pre-defined usefull Info and StrInfo types
  • derive - enables the Info and StrInfo derive macro
  • full - enables all features

Automatic Implementations

impls - feature

  • core::pin::Pin
  • core::marker::PhantomData
  • core::marker::PhantomPinned
  • core::mem::ManuallyDrop
  • core::cell::Cell
  • core::cell::RefCell
  • core::cell::UnsafeCell
  • core::ops::Range
  • core::ops::RangeInclusive

impls and std - feature

  • std::boxed::Box
  • std::rc::Rc
  • std::sync::Arc
  • std::sync::Mutex
  • std::sync::RwLock
  • std::vec::Vec (only for slices)
  • std::path::PathBuf (only for strings)
  • std::string::String (only for strings)

Dependencies

~230KB