-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there a plan to support more of the views/things in range-v3 that weren't standardized? #79
Comments
The plan is that NanoRange will only contains what will be in C++20, hopefully in such a way that upgrading to standard ranges when they arrive will not be much harder than just changing the namespace from Once standard ranges are widely available in shipping compilers/stdlibs, I have vague plans to write a library of extra views/actions, similar to what Range-V3 offers but using the standard-provided machinery. That probably won't be for a year or two though. As to writing a companion library to NanoRange, I don't have sufficient time/motivation to do such a thing myself right now, but I'd be interested in seeing such a thing (and helping out where I could) if you want to give it a go! :-). |
Hi Tristan, all,
My intention is to do this work with the BSL license. I have a lot of C++ experience, but very little experience with open source development. Cheers, |
Hi @roibarkan, I haven't heard of the "library in a week" initiative, but it sounds great! A You're more than welcome to use code from NanoRange in accordance with the licence if it helps! But since Ranges support is now widely available in GCC and MSVC I would strongly recommend using the "real" C++20 concepts rather than emulation via One other comment based on your slides: both a Best of luck with the project, I'll be interested to see the results! Tristan |
Thanks for you quick and thoughtful reply, @tcbrindle. Exactly as you describe/suggest, my intention is to write things on top of C++20 ranges. I still wanted to reach out early and raise the possibility of taking inspiration from NanoRange. I also wanted to engage the NanoRange comnmunity in case there are other already existing initiatives that I can join, and to give the community some chance to communicate. As to the hard topic of naming, and to your point about implementation steps - thanks, I'm positive with both. In Rust they also went for different names for static-vs-dynamic merge, although their names are more descriptive - Thanks again for the quick response, |
Right now I'm really eyeing up zip/zip_with as a means to kill off classical for loops when you need an index. It's one of the many things that are in range-v3 but neither here nor the standard. There's still a niche where projects cannot use range-v3 but can use this library, and initially trying to port over some useful stuff from range-v3 has proven to be a bit of a rabbit hole due to all the metaprogramming library constructs, leading me to maybe just do it from scratch.
Or maybe even a companion library if we want to keep the scope to what's in the standard?
The text was updated successfully, but these errors were encountered: