forked from OSchip/llvm-project
![]() Instead of overloading `__to_address`, let's specialize `pointer_traits`. Function overloads need to be in scope at the point where they're called, whereas template specializations do not. (User code can provide pointer_traits specializations to be used by already-included library code, so obviously `__wrap_iter` can do the same.) `pointer_traits<__wrap_iter<It>>` cannot provide `pointer_to`, because you generally cannot create a `__wrap_iter` without also knowing the identity of the container into which you're trying to create an iterator. I believe this is OK; contiguous iterators are required to provide `to_address` but *not* necessarily `pointer_to`. Differential Revision: https://reviews.llvm.org/D110198 |
||
---|---|---|
.. | ||
benchmarks | ||
cmake | ||
docs | ||
include | ||
lib | ||
src | ||
test | ||
utils | ||
.clang-format | ||
.gitignore | ||
CMakeLists.txt | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
TODO.TXT | ||
appveyor-reqs-install.cmd | ||
appveyor.yml |