| Crates.io | hashset_ext |
| lib.rs | hashset_ext |
| version | 0.1.0 |
| created_at | 2025-05-18 07:10:28.725004+00 |
| updated_at | 2025-05-18 07:10:28.725004+00 |
| description | Extension for HashSet with intuitive, chainable Python-like set operations. |
| homepage | |
| repository | https://github.com/yourusername/hashset_ext |
| max_upload_size | |
| id | 1678429 |
| size | 8,278 |
This crate introduces familiar and expressive set operations using symbolic operators like |, &, -, and ^, just like in Python’s set behavior. You can elegantly chain operations for unions, intersections, differences, and symmetric differences, combining Rust’s performance with Python-like readability.
Python:
set1 = {1, 2}
set2 = {2, 3}
set3 = {3, 4}
union_result = set1 | set2 | set3 # {1, 2, 3, 4}
intersection_result = set1 & set2 & set3 # set()
sym_diff_result = set1 ^ set2 ^ set3 # {1, 2, 4}
Rust:
use hashset_ext::HashSetExt;
let set1 = HashSetExt::from(vec![1, 2]);
let set2 = HashSetExt::from(vec![2, 3]);
let set3 = HashSetExt::from(vec![3, 4]);
let union_result = &set1 | &set2 | &set3; // HashSetExt({1, 2, 3, 4})
let intersection_result = &set1 & &set2 & &set3; // HashSetExt({})
let sym_diff_result = &set1 ^ &set2 ^ &set3; // HashSetExt({1, 2, 4})