queriable_storage 0.3.0

queriable_storage is a create that provides the QueriableDataStore that can be queried by multiple filters.
Documentation
  • Coverage
  • 100%
    19 out of 19 items documented1 out of 19 items with examples
  • Size
  • Source code size: 57.14 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.99 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Kaladum/queriable_storage
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Kaladum

queriable_storage

Crates.io Docs

Queriable storage implementation in Rust

This crate provides the QueriableDataStore struct that can be queried by multiple filters.

Example

use queriable_storage::QueriableDataStore;
struct Person {
    first_name: &'static str,
    last_name: &'static str,
    age: u32,
}
let persons:Vec<Person> = vec![/* ...*/];
let storage: QueriableDataStore<Person> = persons.into();
let first_name_index = storage.get_index(|v| v.first_name);
let last_name_index = storage.get_index(|v| v.last_name);
let age_index = storage.get_index(|v| v.age);
let filtered: Vec<&Person> = storage
    .filter(
        (first_name_index.filter_eq("Isaiah") & last_name_index.filter_eq("Mccarthy"))
            | (age_index.filter_lt(30) | age_index.filter_gte(60)),
    )
    .collect();