Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linksplatform/doublets-rs
https://github.com/linksplatform/doublets-rs
associative doublets linksplatform rust
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/linksplatform/doublets-rs
- Owner: linksplatform
- License: unlicense
- Created: 2022-07-29T08:08:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-09T11:50:50.000Z (10 months ago)
- Last Synced: 2024-04-16T00:51:28.648Z (9 months ago)
- Topics: associative, doublets, linksplatform, rust
- Language: Rust
- Homepage:
- Size: 396 KB
- Stars: 5
- Watchers: 4
- Forks: 2
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Doublets
[![Build Status][actions-badge]][actions-url]
[actions-badge]: https://github.com/linksplatform/doublets-rs/workflows/CI/badge.svg
[actions-url]: https://github.com/linksplatform/doublets-rs/actions?query=workflow%3ACI+branch%3Amainlater
## [Overview](https://github.com/linksplatform)
later
## Example
A basic operations in doublets:
```rust
use doublets::{data, mem, unit, Doublets, DoubletsExt, Links};fn main() -> Result<(), doublets::Error> {
// use file as memory for doublets
let mem = mem::FileMapped::from_path("db.links")?;
let mut store = unit::Store::::new(mem)?;// create 1: 1 1 - it's point: link where source and target it self
let point = store.create_link(1, 1)?;// `any` constant denotes any link
let any = store.constants().any;// print all store from store where (index: any, source: any, target: any)
store.each_iter([any, any, any]).for_each(|link| {
println!("{link:?}");
});// delete point with handler (Link, Link)
store
.delete_with(point, |before, after| {
println!("delete: {before:?} => {after:?}");
// track issue: https://github.com/linksplatform/doublets-rs/issues/4
data::Flow::Continue
})
.map(|_| ())
}
```