[package]
edition = "2021"
name = "WorkTablesIndex"
version = "0.0.5"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A two-level BTree with fast iteration and indexing operations"
documentation = "https://docs.rs/WorkTablesIndex/"
readme = "README.md"
keywords = [
"btreemap",
"btreeset",
"set",
"map",
"order-statistic",
]
categories = ["data-structures"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/pathscale/WorkTablesIndex"
[package.metadata.docs.rs]
features = [
"cdc",
"concurrent",
"multimap",
]
[features]
cdc = ["concurrent"]
concurrent = [
"dep:crossbeam-utils",
"dep:crossbeam-skiplist",
"dep:parking_lot",
]
custom-binary-search = []
default = ["wt-slice-binary-search"]
multimap = [
"concurrent",
"dep:fastrand",
]
serde = ["dep:serde"]
std-binary-search = []
superslice-binary-search = ["dep:superslice"]
wt-slice-binary-search = ["dep:wt-slice"]
[lib]
name = "WorkTablesIndex"
path = "src/lib.rs"
[[bench]]
name = "concurrent"
path = "benches/concurrent.rs"
harness = false
required-features = ["multimap"]
[[bench]]
name = "stdlib"
path = "benches/stdlib.rs"
harness = false
[dependencies.crossbeam-skiplist]
version = "0.1.3"
optional = true
[dependencies.crossbeam-utils]
version = "0.8.20"
optional = true
[dependencies.fastrand]
version = "2.3.0"
optional = true
[dependencies.ftree]
version = "1.3.0"
features = ["serde"]
[dependencies.parking_lot]
version = "0.12.3"
features = [
"send_guard",
"arc_lock",
]
optional = true
[dependencies.serde]
version = "1.0.151"
features = ["derive"]
optional = true
[dependencies.superslice]
version = "=1.0.0"
optional = true
[dependencies.wt-slice]
version = "=0.1.0"
optional = true
[dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]
[dev-dependencies.rand]
version = "0.9.0"
[dev-dependencies.scc]
version = "2.2.5"
[dev-dependencies.uuid]
version = "1.17.0"
features = ["v7"]
[lints.clippy]
bind_instead_of_map = "allow"
bool_assert_comparison = "allow"
clone_on_copy = "allow"
derived_hash_with_manual_eq = "allow"
field_reassign_with_default = "allow"
get_first = "allow"
get_last_with_len = "allow"
iter_cloned_collect = "allow"
len_without_is_empty = "allow"
len_zero = "allow"
manual_ok_err = "allow"
missing_transmute_annotations = "allow"
multiple_bound_locations = "allow"
needless_borrow = "allow"
needless_range_loop = "allow"
needless_return = "allow"
never_loop = "allow"
non_canonical_partial_ord_impl = "allow"
nonminimal_bool = "allow"
op_ref = "allow"
redundant_locals = "allow"
redundant_pattern_matching = "allow"
repeat_vec_with_capacity = "allow"
type_complexity = "allow"
uninit_assumed_init = "allow"
unit_arg = "allow"
unnecessary_lazy_evaluations = "allow"
unnecessary_sort_by = "allow"
unnecessary_unwrap = "allow"
useless_conversion = "allow"
useless_vec = "allow"
while_let_loop = "allow"
[lints.rust]
deprecated = "allow"
mismatched_lifetime_syntaxes = "allow"
non_snake_case = "allow"
unknown_lints = "allow"