Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ranges::random_access_range

      From cppreference.com
      <cpp‎ |ranges
       
       
      Ranges library
      Range adaptors
       
      Defined in header<ranges>
      template<class T>

      concept random_access_range=

         ranges::bidirectional_range<T>&&std::random_access_iterator<ranges::iterator_t<T>>;
      (since C++20)

      Therandom_access_range concept is a refinement ofrange for whichranges::begin returns a model ofrandom_access_iterator.

      [edit]Example

      Run this code
      #include <array>#include <deque>#include <list>#include <ranges>#include <set>#include <valarray>#include <vector> template<typename T> concept RAR= std::ranges::random_access_range<T>; int main(){int a[4];    static_assert(            RAR<std::vector<int>> and            RAR<std::vector<bool>> and            RAR<std::deque<int>> and            RAR<std::valarray<int>> and            RAR<decltype(a)> and        not RAR<std::list<int>> and        not RAR<std::set<int>> and            RAR<std::array<std::list<int>,42>>);}

      [edit]See also

      specifies that a range knows its size in constant time
      (concept)[edit]
      specifies a range whose iterator type satisfiescontiguous_iterator
      (concept)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/random_access_range&oldid=172808"

      [8]ページ先頭

      ©2009-2025 Movatter.jp