3个版本 (破坏性更新)

0.3.0 2024年5月30日
0.2.0 2024年4月18日
0.1.0 2023年7月20日

#289 in Rust模式

29 每月下载量
5 个crate中使用 (直接使用3个)

MIT/Apache

130KB
3.5K SLoC

Corlib

Crates.io License Downloads Docs Twitch Status

X | Twitch | Youtube | Mastodon | GitHub | GitHub Sponsors

Corlib是一个各种想法的库。

库内容

NonOption

类似于option但不强制。

RcByPtr和WeakByPtr

通过指针而不是值比较和散列Rc和Rc::Weak对象。

RcDefault和ArcDefault

返回引用计数类型的默认特质。

MovableText

方便移动所有者和静态字符串以及字符串切片。

AsStr

具有as_str方法的特质。

Droppers

用于在drop时调用闭包的结构体。

GapFillingCounter

可以回收"间隙"的计数器。

Getters Setters Callers

用于在常规结构和RefCells上实现获取器、设置器和调用方法的宏。

HasOne

有时你只想得到值1(或1.0)。

Lazy

用于延迟初始化对象的结构体。

不包含自己的初始化闭包。

As Any

具有返回self的&dyn Any实例的方法(as_any)的特质(附带一个方便的实现宏)。

Get Some

将选项转换为确定性。

Inc Dec宏

缺少++和--运算符吗?

此模块可以帮助您解决问题。

集合

集合和相关对象。

事件

事件和相关对象。受.NET事件启发。

Rfc

帮助您使用RefCells的宏和函数。

升级

帮助您处理升级引用计数对象的函数。

待办事项

  • 添加更多文档
  • 添加代码示例
  • 添加更多测试
  • 添加基于HashMap和HashSet的事件实现
  • 清理代码
  • 巩固1.0的API

编码风格

该项目使用一种编码风格,强调使用空格而不是尽可能降低行和列数。

所以这是

fn foo()
{

    bar();

}

不是这个

fn foo()
{
    bar();
}


许可证

根据以下任一许可发布

由您自行决定


贡献

请克隆存储库并创建一个说明您想添加哪些功能或修复哪些错误的问题,也许您可以说明如何实现这些添加或修复。尽量包括详细信息,但不需要详尽无遗,我们将从那里开始(取决于可用性)。


除非您明确表示,否则根据Apache-2.0许可证定义的您有意提交的任何贡献,都应如上所述双授权,没有任何附加条款或条件。

依赖项

~240–690KB
~16K SLoC