[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #15 from Josh Marshall --- That is bizarre. Then did I stumble upon the vestiges of elements of the standard which were partially removed prior to 2003? This may be open for awhile. I'll start on a proposal for 2020. I'll also hav

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #14 from Jonathan Wakely --- And signed integer types are defined in C++17 6.7.1 [basic.fundamental].

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #13 from Jonathan Wakely --- (In reply to Josh Marshall from comment #11) > Then please give me a concrete reference. C++17 27.2.1 [iterator.requirements.general] paragraph 1. The same requirement also appears in the C++98, C++03, C

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #12 from Josh Marshall --- I can now say why this bothers me from a design perspective. If the requirement you are giving is correct, then the distance_type template parameter must always be signed and always describe the distance be

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #11 from Josh Marshall --- Then please give me a concrete reference.

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #10 from Jonathan Wakely --- cppreference is not the standard. See comment 5, where I quoted the standard which requires difference_type to be a signed integer type. This is not a bug.

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-06 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #9 from Josh Marshall --- Confirmed in 8.1.1 Also, looking over the following documents: https://en.cppreference.com/w/cpp/types/ptrdiff_t https://en.cppreference.com/w/cpp/iterator/iterator http://en.cppreference.com/w/cpp/iterator/

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-05 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #8 from Josh Marshall --- If this code is to work, given that this is the only way to track in detail use of various stdlib internals, one of two things need to change. Either all assignments to _Distance need to be explicitly wrappe

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-04 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #7 from Josh Marshall --- I got the licensing cleared up over the weekend, and so I can actually reference the code in question for this. https://github.com/anadon/Sort-Comparisons-and-Performance-metrics The only way to track use o

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-03 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #6 from Josh Marshall --- There is a kind of legacy manual specification, and a reason for that was for tracking usage. What I'm working on is adapted from David Musser's 1997 code which was using proposed and developmental stdlib co

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #5 from Jonathan Wakely --- Every version of the standard says the same thing under iterator requirements: "For every iterator type X for which equality is defined, there is a corresponding signed integer type called the difference t

[Bug libstdc++/86015] Better handling of iterator distances

2018-06-01 Thread joshua.r.marshall.1991 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 --- Comment #4 from Josh Marshall --- These changes may make the stdlib implementation more robust, but there may be an argument to stick to the more strict standard or tweak the standard. Could you link to the standard doc you're pulling from?

[Bug libstdc++/86015] Better handling of iterator distances

2018-05-31 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86015 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|