#filter #storage #multiple #queried #struct #queriable #queriable-data-store

queriable_storage

queriable_storage是一个库,提供了可以通过多个过滤器查询的QueriableDataStore。

2个不稳定版本

0.3.0 2020年10月13日
0.2.1 2020年10月10日

#1 in #queried

MIT许可证

21KB
145

queriable_storage

Crates.io Docs

Rust中可查询存储的实现

这个包提供了QueriableDataStore结构体,可以通过多个过滤器进行查询。

示例

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();

依赖

~32KB