Now that ranges/views have 'matured' with C++23 with provided functionality and DR's for the C++20 versions, IMO it is 'obvious' that ranges/views are going to be a major component of C++.
As anything other then simply replacing a std::algorithm with a ranges version requires a more detailed understanding of std::ranges/views, then learning resources are going to become crucial for this important C++ area.
As such, does anyone know of 'good' learning resources for ranges/views (I don't mean cppreference.com or individual articles) but something along the lines of either an in-depth book or similar to learncpp.com but just for ranges/views? I was hoping there might be a leanpub.com book on ranges/views (their is one for concepts) but unfortunately I can't find one for ranges.
An Idiots Guide to advanced C++ ranges/views (oxymoron?) anyone?
C++20 has changed the language in some very fundamental ways almost as radical as C++11 did. I guess the C++ experts who write books are more interested in either "the whole" or in Concepts.
Probably not, this is an introduction, not an intermediate/advanced "idiots guide".
This is OK as a basic intro to ranges/views. I've come across several articles similar to this. I'd consider it as a basis for 'Chapter 1' of a ranges book. Now for the remaining nn chapters...
The book's not bad as a more in-depth intro. But it doesn't cover things like projections etc nor the additions/changes with C++23...
I had found the cppstories pages in my search, and discounted mentioning them because they weren't a single article/page.
So far I haven't seen any books that touch on strictly C++23 features in any shape or form. The C++20 standard had several books available even before any compiler supported more than a minor tidbit of a taste of the new features. One or two were published even before the standard was finalized IIRC.
I'd certainly consider buying a C++23 book if it were put together by authors I know and trust to be useful from experience. But not even hack "experts" have stepped upto the challenge AFAIK, even just to cash in. It's a shame.
There are hints that may change in the future, I hope we don't have to wait too long.
A github repository for a C++20 book's source code had some updates a few months back, and a note in one of the READMEs that mentioned in passing something about C++23. Any trace of that is no longer available it seems.
To be perfectly honest I am still trying to wrap my brain around what C++20 added to the programming toolbox. C++23 is still "over the horizon" for me in my tasks of self-learning what I can do. The formatting library and modules I use a lot when doing so would be useful.
Concepts and ranges are still a mystery for the most part to me. I grasp why the features can be useful, but haven't spent any time mucking around with them beyond an occasional cppreference code example, or some programming blog write-up.
Reverse for loops, for example. Nice and neat reversed range-based for loops using a std::ranges::views or std::views range adaptor.