diff --git a/src/util/small_map.h b/src/util/small_map.h index 9c8d9bab797..6c51fa08af5 100644 --- a/src/util/small_map.h +++ b/src/util/small_map.h @@ -190,35 +190,35 @@ class small_mapt static_assert(S_BITS <= N_BITS, "S_BITS should be no larger than N_BITS"); static_assert( - std::numeric_limits::digits >= BITS, + std::numeric_limits::digits >= BITS, "BITS must fit into an unsigned"); // Internal - unsigned get_field(std::size_t field) const + std::size_t get_field(std::size_t field) const { PRECONDITION(field < NUM); - unsigned shift = field * BITS; + std::size_t shift = field * BITS; return (ind & (MASK << shift)) >> shift; } - void set_field(std::size_t field, unsigned v) + void set_field(std::size_t field, std::size_t v) { PRECONDITION(field < NUM); PRECONDITION((std::size_t)(v >> 1) < NUM); - unsigned shift = field * BITS; + std::size_t shift = field * BITS; ind &= ~((index_fieldt)MASK << shift); - ind |= v << shift; + ind |= (index_fieldt)v << shift; } void shift_indices(std::size_t ii) { for(std::size_t idx = 0; idx < S_BITS / BITS; idx++) { - unsigned v = get_field(idx); + std::size_t v = get_field(idx); if(v & 1) { v >>= 1; @@ -234,7 +234,7 @@ class small_mapt public: // Standard const iterator - typedef std::pair value_type; + typedef std::pair valuet; /// Const iterator /// @@ -255,14 +255,14 @@ class small_mapt { } - const value_type operator*() const + const valuet operator*() const { - return value_type(idx, *(m.p + ii)); + return valuet(idx, *(m.p + ii)); } - const std::shared_ptr operator->() const + const std::shared_ptr operator->() const { - return std::make_shared(idx, *(m.p + ii)); + return std::make_shared(idx, *(m.p + ii)); } const_iterator operator++() @@ -299,7 +299,7 @@ class small_mapt { while(idx < NUM) { - unsigned v = m.get_field(idx); + std::size_t v = m.get_field(idx); if(v & 1) { ii = v >> 1; @@ -394,7 +394,7 @@ class small_mapt { PRECONDITION(idx < NUM); - unsigned v = get_field(idx); + std::size_t v = get_field(idx); if(v & 1) { std::size_t ii = v >> 1; @@ -415,7 +415,7 @@ class small_mapt { PRECONDITION(idx < NUM); - unsigned v = get_field(idx); + std::size_t v = get_field(idx); if(v & 1) { std::size_t ii = v >> 1; @@ -429,7 +429,7 @@ class small_mapt { PRECONDITION(idx < NUM); - unsigned v = get_field(idx); + std::size_t v = get_field(idx); if(v & 1) { @@ -466,7 +466,7 @@ class small_mapt { PRECONDITION(idx < NUM); - unsigned v = get_field(idx); + std::size_t v = get_field(idx); INVARIANT(v & 1, "element must be in map"); std::size_t ii = v >> 1; @@ -500,7 +500,7 @@ class small_mapt { PRECONDITION(idx < NUM); - unsigned v = get_field(idx); + std::size_t v = get_field(idx); INVARIANT(!(v & 1), "element must not be in map"); std::size_t n = size();