Comments (4)
Thanks for the message. To be honest, the whole readme is now somewhat out of date and could do with a refresh.
With regard to Range-V3 specifically, when NanoRange began there were more differences -- Range-V3 could not be used with MSVC, NanoRange adhered somewhat more closely to the standard proposals, and Range-V3's concepts emulation was C++11-compatible and so a little slower in terms of compile times than the C++14 approach NanoRange used. Since then, Eric has updated Range-V3 considerably so that it's now very close to the final ranges spec, it can now optionally use real language concepts if available (and uses a scheme quite similar to NanoRange's when they are not), and Microsoft have updated their compiler so it can now handle all the template metaprogramming required.
All in all, to be honest there is probably little to choose between them today if you're sticking to the subset of Range-V3 that has been proposed for standardisation -- hence the current vague statement in the README.
from nanorange.
As a general remark, it's also lighter than range-v3 (as in, less dependencies/features/views/backwards compatibility kludges, which helps readability of the code as a consumer of it) and if you need to support MSVC prior to VS 2019, you're basically left looking here. That's what brought me here at least. Well, that and the cppcon talk. ;)
from nanorange.
Well, I hope you find the time to update the README more generally, then...
from nanorange.
Yep, it's on the TODO list :). I'll leave this bug report open as a reminder too.
from nanorange.
Related Issues (20)
- Fix copy'n'paste error in front_insert_iterator HOT 2
- Use memmove optimisations when appropriate HOT 6
- Typos in insert_iterator? HOT 1
- viewable_range and iota_view not to spec HOT 1
- Support better CMake install for to use with modern CMake. HOT 12
- Nanorange failed with error C2607 on MSVC HOT 3
- Add istream_range HOT 1
- Benchmarks. Implement initial benchmark support and write one for rotate. HOT 6
- rotate() could be faster HOT 11
- NanoRange failed to build due to errors C2677 C3536 C2893 C2062 C2607 C2672 C2676 with MSVC on windows HOT 12
- Support for the Concepts TS HOT 3
- common_reference broken with MSVC 19.22 HOT 2
- Is there a plan to support more of the views/things in range-v3 that weren't standardized? HOT 4
- forward_range overload for ranges::size evaluates `E` twice HOT 2
- Add clang bug report reference
- split view does not work HOT 2
- Update to C++20 HOT 11
- nano::to_vector ? HOT 4
- Investigate Github Actions for CI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nanorange.