Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2024-12-05 13:38:14


Andrey Semashev wrote:
> What is the practical advantage of using span (of any provider) over the
> traditional pointer+size? I emphasize the "practical" part, as opposed to any
> personal preference to "modern-ness", code style or anything like that.

The practical advantage is that if a library is rewritten to use spans
throughout, and never pointer arithmetic, this (a) automatically adds
bounds checks everywhere and (b) makes the library warning-free under
the new -Wunsafe-buffer-usage, which is all the rage nowadays because
Chromium developers are rewriting Chromium as above.

https://clang.llvm.org/docs/SafeBuffers.html

Longer term, it's quite likely that a memory safety "Profile" (Profiles are
also all the rage nowadays because they are Bjarne and Herb's proposal
to "solve" safety) will be essentially equivalent to -Werror=unsafe-buffer-usage
as far as pointer arithmetic is concerned.

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3081r0.pdf


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk