New hashtable power 2 rehash policy

Daniel Krügler daniel.kruegler@gmail.com
Sat May 14 17:06:00 GMT 2016


2016-05-14 18:13 GMT+02:00 François Dumont <frs.dumont@gmail.com>:

> New patch attached, tested under linux x86_64.
>
> François

1) The function __clp2 is declared using _GLIBCXX14_CONSTEXPR, which
means that it is an inline function if and *only* if
_GLIBCXX14_CONSTEXPR really expands to constexpr, otherwise it is
*not* inline, which is probably not intended and could easily cause
ODR problems. I suggest to mark it unconditionally as inline,
regardless of _GLIBCXX14_CONSTEXPR.

2) Furthermore I suggest to declare __clp2 as noexcept - this is
(intentionally) *not* implied by constexpr.

3) Is there any reason, why _Power2_rehash_policy::_M_next_bkt
shouldn't be noexcept?

4) Similar to (3) for _Power2_rehash_policy's member functions
_M_bkt_for_elements, _M_need_rehash, _M_state, _M_reset

- Daniel



More information about the Libstdc++ mailing list