A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue3955 below:

Issue 3955: Add noexcept to several repeat_view[::iterator] member functions

namespace std::ranges {
  template<move_constructible T, semiregular Bound>
    requires (is_object_v<T> && same_as<T, remove_cv_t<T>> &&
              (integer-like-with-usable-difference-type<Bound> ||
               same_as<Bound, unreachable_sentinel_t>))
  class repeat_view<T, Bound>::iterator {
  private:
   using index-type =                          // exposition only
      conditional_t<same_as<Bound, unreachable_sentinel_t>, ptrdiff_t, Bound>;
   const T* value_ = nullptr;                  // exposition only
   index-type current_ = index-type();         // exposition only

   constexpr explicit iterator(const T* value, index-type b = index-type());   // exposition only

  public:
    […]
    constexpr iterator& operator++() noexcept;
    constexpr iterator operator++(int) noexcept;

    constexpr const T& operator[](difference_type n) const noexcept;

    friend constexpr bool operator==(const iterator& x, const iterator& y) noexcept;
    friend constexpr auto operator<=>(const iterator& x, const iterator& y) noexcept;

    friend constexpr difference_type operator-(const iterator& x, const iterator& y) noexcept;
  };
}

[…]

constexpr iterator& operator++() noexcept;

-5- Effects: Equivalent to:

++current_;
return *this;
constexpr iterator operator++(int) noexcept;

-6- Effects: Equivalent to:

auto tmp = *this;
++*this;
return tmp;

[…]

friend constexpr bool operator==(const iterator& x, const iterator& y) noexcept;

-15- Effects: Equivalent to: return x.current_ == y.current_;

friend constexpr auto operator<=>(const iterator&x, const iterator& y) noexcept;

-16- Effects: Equivalent to: return x.current_ <=> y.current_;

[…]

friend constexpr difference_type operator-(const iterator& x, const iterator& y) noexcept;

-19- Effects: Equivalent to:

return static_cast<difference_type>(x.current_) - static_cast<difference_type>(y.current_);

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4