Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ranges::join_view<V>::iterator<Const>::operator++,--

      From cppreference.com
      <cpp‎ |ranges‎ |join view‎ |iterator
       
       
      Ranges library
      Range adaptors
       
       
      constexpr/*iterator*/& operator++();
      (1)(since C++20)
      constexprvoid operator++(int);
      (2)(since C++20)
      constexpr/*iterator*/ operator++(int)

          requires/*ref-is-glvalue*/&&ranges::forward_range<Base>&&

                   ranges::forward_range<ranges::range_reference_t<Base>>;
      (3)(since C++20)
      constexpr iterator& operator--()

          requires/*ref-is-glvalue*/&&ranges::bidirectional_range<Base>&&
                   ranges::bidirectional_range<ranges::range_reference_t<Base>>&&

                   ranges::common_range<ranges::range_reference_t<Base>>;
      (4)(since C++20)
      constexpr/*iterator*/ operator--(int)

          requires/*ref-is-glvalue*/&&ranges::bidirectional_range<Base>&&
                   ranges::bidirectional_range<ranges::range_reference_t<Base>>&&

                   ranges::common_range<ranges::range_reference_t<Base>>;
      (5)(since C++20)

      Increments or decrements the underlying iterator.

      Letinner_ andouter_ be the underlying iterators, andparent_ be the pointer to parentranges::join_view, the constant/*ref-is-glvalue*/ bestd::is_reference_v<ranges::range_reference_t<Base>>.

      1) Let/*inner-range*/ be:
      • *outer_, if/*ref-is-glvalue*/==true;
      • *parent_->inner_ otherwise.

      Equivalent to:

      auto&& inner_rng=/*inner-range*/;if(++inner_==ranges::end(inner_rng)){++outer_;    satisfy();}return*this;
      2) Equivalent to:++*this.
      3) Equivalent to:
      auto tmp=*this;++*this;return tmp;
      4) Equivalent to:
      if(outer_==ranges::end(parent_->base_))    inner_=ranges::end(*--outer_);while(inner_==ranges::begin(*outer_))    inner_=ranges::end(*--outer_);--inner_;return*this;
      5) Equivalent to:
      auto tmp=*this;--*this;return tmp;

      [edit]Parameters

      (none)

      [edit]Return value

      1,4)*this
      2) (none)
      3,5) a copy of*this that was made before the change.
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/join_view/iterator/operator_arith&oldid=175909"

      [8]ページ先頭

      ©2009-2025 Movatter.jp