{"id":17219350,"url":"https://github.com/andreafioraldi/store-interval-tree","last_synced_at":"2025-07-17T16:39:20.624Z","repository":{"id":61349453,"uuid":"550837141","full_name":"andreafioraldi/store-interval-tree","owner":"andreafioraldi","description":"A balanced unbounded interval-tree in Rust with associated values in the nodes","archived":false,"fork":false,"pushed_at":"2022-11-22T10:21:26.000Z","size":44,"stargazers_count":12,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-16T01:04:26.899Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreafioraldi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-13T12:08:51.000Z","updated_at":"2025-01-24T08:10:39.000Z","dependencies_parsed_at":"2023-01-22T06:03:00.065Z","dependency_job_id":null,"html_url":"https://github.com/andreafioraldi/store-interval-tree","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreafioraldi/store-interval-tree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Fstore-interval-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Fstore-interval-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Fstore-interval-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Fstore-interval-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreafioraldi","download_url":"https://codeload.github.com/andreafioraldi/store-interval-tree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreafioraldi%2Fstore-interval-tree/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265631107,"owners_count":23801744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T03:49:40.845Z","updated_at":"2025-07-17T16:39:20.404Z","avatar_url":"https://github.com/andreafioraldi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# store-interval-tree\n\nA balanced unbounded interval-tree in Rust with associated values in the nodes.\n\nBased on [rudac](https://crates.io/crates/rudac) and [bio](https://crates.io/crates/bio).\n\n## Example\n\n```rust\nuse store_interval_tree::IntervalTree;\nuse store_interval_tree::Interval;\nuse std::ops::Bound::*;\n\nlet mut interval_tree = IntervalTree::\u003cusize, bool\u003e::new();\n\ninterval_tree.insert(Interval::new(Excluded(0), Included(1)), true);\ninterval_tree.insert(Interval::new(Included(0), Excluded(3)), true);\ninterval_tree.insert(Interval::new(Included(6), Included(10)), true);\ninterval_tree.insert(Interval::new(Excluded(8), Included(9)), true);\ninterval_tree.insert(Interval::new(Excluded(15), Excluded(23)), true);\ninterval_tree.insert(Interval::new(Included(16), Excluded(21)), true);\ninterval_tree.insert(Interval::new(Included(17), Excluded(19)), true);\ninterval_tree.insert(Interval::new(Excluded(19), Included(20)), true);\ninterval_tree.insert(Interval::new(Excluded(25), Included(30)), true);\ninterval_tree.insert(Interval::new(Included(26), Included(26)), true);\n\nlet interval = Interval::new(Included(8), Included(26));\nlet iter = interval_tree.query_mut(\u0026interval);\n\nfor mut entry in iter {\n    *entry.value() = false;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreafioraldi%2Fstore-interval-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreafioraldi%2Fstore-interval-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreafioraldi%2Fstore-interval-tree/lists"}