NJOY21 icon indicating copy to clipboard operation
NJOY21 copied to clipboard

Update ranges Dependency

Open nathangibson14 opened this issue 5 years ago • 4 comments

I think we should think about updating our ranges library sooner than later. It's going to be a big effort, as we use ranges all over the codebase and the syntax has changed significantly. But updating soon is probably better than generating more code we'll need to update later.

I see two big reasons to update:

  1. We can't currently use the documentation of the ranges library, as it reflects modern syntax, not the snapshot we use. As a newcomer to the project (and really to C++), this is rather frustrating.
  2. Our test suite seems overly fragile, as I've found a number of errors that are compiler- or platform-dependent, and all the errors I've seen have cited calls to ranges as the errors. I don't know if updating will fix these problems or not, but it provides some motivation nevertheless.

And of course, getting closer to the C++20 standard is a plus, even if it's way too early to think seriously about C++20.

nathangibson14 avatar Jun 03 '20 22:06 nathangibson14

This is a good idea, except for one thing. We must finish RECONR this year. I'm happy to tackle updating the ranges library as soon as that gets checked off. That won't happen for a couple more months, but as soon as it is done, we should update ranges and start using the C++20 syntax.

jlconlin avatar Jun 03 '20 22:06 jlconlin

We should be careful doing this, some of the ranges capabilities are NOT in the C++20 standard yet.

whaeck avatar Jun 03 '20 22:06 whaeck

Do we know which of the ranges capabilities are not in the C++20 standard? I suspect (but don't know) that everything we use is in the standard.

jlconlin avatar Jun 03 '20 23:06 jlconlin

actions, like drop, take, etc.

whaeck avatar Jun 04 '20 23:06 whaeck