Crates.io | corlib |
lib.rs | corlib |
version | 0.3.0 |
source | src |
created_at | 2023-07-20 04:24:39.382998 |
updated_at | 2024-05-30 03:45:43.424641 |
description | A various ideas library |
homepage | https://coruscateor.com/projects/corlib |
repository | https://github.com/coruscateor/corlib |
max_upload_size | |
id | 920944 |
size | 143,364 |
X | Twitch | Youtube | Mastodon | GitHub | GitHub Sponsors
Corlib is a various ideas library.
Like an option but not optional.
Compare and hash Rc and Rc::Weak objects by pointer instead of by value.
Default traits for returning reference counted types.
For conveniently moving owned and static strings and string slices around.
A trait with an as_str method.
Structs for calling closures on drop.
A counter that can recycle "gaps".
Macros for implementing getters, setters and calling methods on regular structs and RefCells.
Sometimes you just want the value 1 (or 1.0).
A struct for lazily initialising objects.
Does not contain its own initialising closure.
A trait with a method (as_any) for returning a &dyn Any instance of &self (comes with a handy implementation macro).
Convert Options into certainty.
Miss the ++ and -- operators?
This module can help sort you out.
Collections and collection related objects.
Events and event related objects. Inspred by .NET events.
Macros and functions that help you work with RefCells.
Functions that help you deal with upgrading reference counted objects.
This project uses a coding style the emphasises the use of white space over keeping the line and column counts as low as possible.
So this:
fn foo()
{
bar();
}
Not this:
fn foo()
{
bar();
}
Licensed under either of:
at your discretion
Please clone the repository and create an issue explaining what feature or features you'd like to add or bug or bugs you'd like to fix and perhaps how you intend to implement these additions or fixes. Try to include details though it doesn't need to be exhaustive and we'll take it from there (dependant on availability).
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.