mesh-sieve 4.0.2

Modular, high-performance Rust library for mesh and data management, designed for scientific computing and PDE codes.
Documentation
use mesh_sieve::data::atlas::Atlas;
use mesh_sieve::data::refine::sieved_array::SievedArray;
use mesh_sieve::topology::point::PointId;

#[test]
fn iter_in_order_matches_slices() -> Result<(), Box<dyn std::error::Error>> {
    let mut a = Atlas::default();
    let p1 = PointId::new(1)?;
    a.try_insert(p1, 2)?;
    let p2 = PointId::new(2)?;
    a.try_insert(p2, 3)?;
    let mut arr = SievedArray::<PointId, i32>::new(a);
    arr.try_set(p1, &[1, 2])?;
    arr.try_set(p2, &[3, 4, 5])?;

    let got: Vec<_> = arr.iter_in_order().collect();
    assert_eq!(got.len(), 2);
    assert_eq!(got[0], (p1, &[1, 2][..]));
    assert_eq!(got[1], (p2, &[3, 4, 5][..]));
    Ok(())
}