#slice #string #data-structures #debug-assert

无std odds

零散物品 — 收集杂项。为切片(.find()RevSlice),字符串和其他事物提供额外功能。如果发现这些功能更适合其他crate,它们可能会移动到那里。

33个版本

使用旧的Rust 2015

0.4.0 2020年4月11日
0.3.1 2017年11月27日
0.2.26 2017年11月19日
0.2.25 2016年11月20日
0.2.3 2015年6月12日

#44 in 无标准库

Download history 9010/week @ 2024-04-08 6179/week @ 2024-04-15 8546/week @ 2024-04-22 6114/week @ 2024-04-29 6783/week @ 2024-05-06 6622/week @ 2024-05-13 6388/week @ 2024-05-20 5240/week @ 2024-05-27 6874/week @ 2024-06-03 6806/week @ 2024-06-10 5879/week @ 2024-06-17 5153/week @ 2024-06-24 3325/week @ 2024-07-01 3221/week @ 2024-07-08 6912/week @ 2024-07-15 4651/week @ 2024-07-22

18,313 每月下载量
136 个crate中使用 (14 个直接使用)

MIT/Apache

75KB
1.5K SLoC

odds

零散物品 — 收集杂项。与切片、字符串和其他事物相关的额外功能。

请在此处阅读API文档

构建状态

近期更改

  • 0.4.0
    • 移除MendSlices
    • 移除已弃用的项目
    • 更新rawpointer依赖
    • 更新dev依赖
  • 0.3.1
    • 回到修复函数的0.2.x版本,因为新版本依赖于Rust中已更改的类型系统细节 — 闭包不能在其参数中使用其自身类型。这是合理的。
  • 0.3.0
    • 更新修复修复闭包组合器,使其不使用动态调度!新公式的想法来自 @talchas
    • EncodeUtf8Error实现Error,作者:George Burton
    • 依赖craterawslice以其SliceIter.
    • 为更多功能提供SliceIterSliceCopyIter:访问起始/结束指针,实现Index.
    • 添加BlockedIter
    • 移除未使用或与现有新功能直接冲突的功能,例如在std
      • Vec::splice。使用std splice。
    • 弃用已添加到std的功能
      • String::insert_str
      • str::rep
      • ptr_eq, ref_eq:使用std::ptr::eq
    • 弃用已移至crate的功能
      • get_unchecked, slice_unchecked:使用unchecked-index而不是
    • Vec功能现在默认启用std-vec。字符串功能在std-string下相同。现在crate默认为no_std
    • 在仓库中添加了适当的许可文件,感谢 @raphlinus!
  • 0.2.26
    • 由 @raphlinus 提供
  • 0.2.25
    • 添加UnalignedIter
    • 添加SliceCopyIter
    • CharStr现在实现了更多特性。
  • 0.2.24
    • 添加CharStr
  • 0.2.23
    • 添加RevSlice,切片的反转视图
    • 添加encode_utf8用于编码字符
  • 0.2.22
    • 改进切片的.find().rfind()通过显式展开它们的搜索循环来使用相关方法。
  • 0.2.21
    • 添加slice::rotate_left以循环方式旋转切片中的元素。
  • 0.2.20
    • 添加SliceFindSplit.find_split, .rfind_split, .find_split_mut, .rfind_split_mut.
    • 添加VecFindRemove.find_remove(), .rfind_remove().
  • 0.2.19
    • 添加 traitSliceFind具有方法.find(&T), .rfind(&T)用于切片。
    • 添加函数vec(iterable) -> Vec
    • 添加预览模块
  • 0.2.18
    • 正确split_aligned_for<T>以使用特质的限制。
  • 0.2.17
    • 添加split_aligned_for<T>函数将字节切片拆分为头部和尾部切片以及一个类型为&[T]的主切片T是一个 pod 类型,例如u64.
    • 添加Stride, StrideMut从 itertools 移动到这里
    • 添加mend_slices迭代器扩展,从 itertools 移动到这里
  • 0.2.16
    • 添加修复函数,使得使用组合器变得更加容易。这种方式下,类型推断工作得更好。修复std::slice::shared_prefix
  • 0.2.15
    • 添加高效地计算两个字节切片的共享前缀添加 str 扩展方法
    • .char_chunks(n)char_windows(n)这些是迭代器,执行与切片的 chunks 和 windows 迭代器类似的 char 操作。get_slice
  • 0.2.14
    • 修复以检查start <= end添加扩展 trait
  • 0.2.13
    • StrSlice具有方法这是一个切片方法,返回一个可选切片。以检查添加默认功能 "std"。如果您选择退出此功能。
  • 0.2.12
    • no_stdIndexRange
  • 0.2.11
    • (默认为usize,因此它是非破坏性的)添加类型参数Drop 对 unreachable 的依赖
    • (在本地的更简单实现中提供)修复使用 cargo feature unstable 时的功能标志slice_unchecked_mut
  • 0.2.10
    • ref_sliceref_slice_mut
  • 0.2.9
    • 添加添加 VecExt::retain_mut
    • 添加inline(always) on debug_assert_unreachable, 为 Fix 添加生命周期限制以进行良好形式性(Rust RFC 1214)
  • 0.2.8
    • 添加 StrExt::is_acceptable_index
  • 0.2.7
    • 添加 StringExt::insert_strVecExt::splice
  • 0.2.6
    • 添加 odds::string::StrExt,扩展 &str
    • 为 Fix 添加默认值,以便
  • 0.2.5
    • Fix<T> == Fix<T, T>
  • 0.2.4
    • 添加 ptr_eq, ref_eq
  • 0.2.3
    • 添加 slice_unchecked移除 Void,请参阅
  • 0.2.2
    • void
  • 0.2.1
    • crate。
  • 0.2.0

依赖关系

~36KB

rawpointer

dev itertools 0.8

dev lazy_static