Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ranges::subrange<I,S,K>::next

      From cppreference.com
      <cpp‎ |ranges‎ |subrange
       
       
      Ranges library
      Range adaptors
       
       
      constexpr subrange next(std::iter_difference_t<I> n=1)const&
          requiresstd::forward_iterator<I>;
      (1)(since C++20)
      constexpr subrange next(std::iter_difference_t<I> n=1)&&;
      (2)(since C++20)

      Returns asubrange whosebegin_ is incremented (or decremented ifn is negative). The actual increment (or decrement) operation is performed byadvance().

      1) Returns a copy of*this.
      Equivalent to:auto tmp=*this;
      tmp.advance(n);
      return tmp;
      .
      2) Returns asubrange moved from*this.
      Equivalent to:advance(n);
      return std::move(*this);
      .

      Contents

      [edit]Parameter

      n - number of maximal increments of the iterator

      [edit]Return value

      As described above.

      [edit]Notes

      The difference between this function andadvance() is that the latter performs the increment (or decrement) in place.

      [edit]Example

      Run this code
      #include <array>#include <iterator>#include <print>#include <ranges> int main(){std::array arr{1,2,3,4,5,6,7};    std::ranges::subrange sub{std::next(arr.begin(),2),std::prev(arr.end(),2)};std::println("1) sub: {}", sub);std::println("2) sub: {}", sub.next());std::println("3) sub: {}", sub.next(2));}

      Output:

      1) sub: [3, 4, 5]2) sub: [4, 5]3) sub: [5]

      [edit]See also

      obtains a copy of thesubrange with its iterator decremented by a given distance
      (public member function)[edit]
      advances the iterator by given distance
      (public member function)[edit]
      (C++11)
      increment an iterator
      (function template)[edit]
      increment an iterator by a given distance or to a bound
      (algorithm function object)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/subrange/next&oldid=179876"

      [8]ページ先頭

      ©2009-2025 Movatter.jp