diff --git a/persistent-data/space_map.h b/persistent-data/space_map.h index c3f66da..eacc558 100644 --- a/persistent-data/space_map.h +++ b/persistent-data/space_map.h @@ -48,6 +48,17 @@ namespace persistent_data { virtual void inc(block_address b) = 0; virtual void dec(block_address b) = 0; + // slow default implementation + virtual void inc(block_address b, uint32_t count) { + for (uint32_t i = 0; i < count; i++) + inc(b); + } + + virtual void dec(block_address b, uint32_t count) { + for (uint32_t i = 0; i < count; i++) + dec(b); + } + // FIXME: change these to return an optional, failure is // not that rare if we're restricting the area that's // searched.