boostorg / unordered

Boost.org unordered module
http://boost.org/libs/unordered
Boost Software License 1.0
62 stars 55 forks source link

[FR] Trivial and noexcept iterators #236

Open psiha opened 6 months ago

psiha commented 6 months ago

Please refactor and decorate iterator types/class templates and their key functions (e.g. copy constructors) with appropriate attributes ( [[clang::trivial_abi]], noexcept, constexpr) so they are recognized at the language level (rather than just by the optimizer) as trivial or atleast noexcept (copyable etc.) - so that, for example, I can hide/'pimpl' them behind something like https://github.com/microsoft/proxy and have it use 'trivial' (memcpy) code for copy construction and assignment (instead of going through vtable pointers).