C++ Ranges :: ViewableRange, ref_view, reverse_view














































C++ Ranges :: ViewableRange, ref_view, reverse_view



n this series of articles on RANGES with C++, today we are going to see libraries of std::ranges::ViewableRange, std::ranges::ref_view, std::ranges::reverse_view

____________________________________________________________________________________

INTRODUCTION to RANGES HAS BEEN DONE IN MY FIRST ARTICLE OF RANGES LIBRARY

All the libraries defined below are included in the header <ranges> and <iterator>.


Here we are going to discuss about Ranges and its libraries.


std::ranges::ViewableRange


Ranges which can safely converted to a view are called Viewable Ranges.


std::ranges::ref_view


Ref_View is a View of the elements of different Range.

It wraps a reference to that different Range.


std::ranges::reverse_view


It is expression equivalent ot view::reverse(discussed in my past article) except that it is evaluated only once.


Sample Code


  #include <array>
  #include <ranges>
  #include <iostream>


  int main()
  {
      
std::array<int, 3> iv {3, 2, 1};
      std::ranges::reverse_view rv {iv};
      for (int i : rv)
          std::cout << i << ' ';
  }

Output:


 1 2 3








Comments