arximboldi / immer

Postmodern immutable and persistent data structures for C++ — value semantics at scale
https://sinusoid.es/immer
Boost Software License 1.0
2.48k stars 179 forks source link

Transient `map::update()` #212

Closed arximboldi closed 2 years ago

arximboldi commented 2 years ago

This adds a transient version for map::update(). It also fixes a couple of bugs found along the way.

FYI @omer-s @harryhk

codecov-commenter commented 2 years ago

Codecov Report

Merging #212 (002f4e6) into master (70a3620) will decrease coverage by 0.01%. The diff coverage is 83.54%.

@@            Coverage Diff             @@
##           master     #212      +/-   ##
==========================================
- Coverage   91.30%   91.29%   -0.02%     
==========================================
  Files         109      109              
  Lines       10184    10335     +151     
==========================================
+ Hits         9299     9435     +136     
- Misses        885      900      +15     
Impacted Files Coverage Δ
immer/detail/arrays/with_capacity.hpp 85.92% <42.85%> (-1.30%) :arrow_down:
immer/detail/hamts/champ.hpp 88.69% <67.16%> (-2.66%) :arrow_down:
immer/map.hpp 97.75% <100.00%> (ø)
immer/map_transient.hpp 100.00% <100.00%> (ø)
test/map/generic.ipp 99.00% <100.00%> (+0.12%) :arrow_up:
test/map_transient/generic.ipp 100.00% <100.00%> (ø)
test/vector/generic.ipp 99.67% <100.00%> (+0.04%) :arrow_up:
immer/detail/rbts/operations.hpp 90.29% <0.00%> (+0.44%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 70a3620...002f4e6. Read the comment docs.