Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ranges::basic_istream_view::iterator

      From cppreference.com
      <cpp‎ |ranges‎ |basic istream view
       
       
      Ranges library
      Range adaptors
       
       
      struct/*iterator*/;
      (exposition only*)

      ranges::basic_istream_view<Val, CharT, Traits>::iterator is the type of the iterators returned bybegin() ofranges::basic_istream_view<Val, CharT, Traits>.

      iterator is aninput_iterator, but does not satisfyLegacyInputIterator, and thus does not work with pre-C++20algorithms.

      Contents

      [edit]Nested types

      Type Definition
      iterator_conceptstd::input_iterator_tag
      difference_typestd::ptrdiff_t
      value_typeVal

      [edit]Data members

      Member Definition
      ranges::basic_istream_view<Val, CharT, Traits>parent_ a pointer to the parent view
      (exposition-only member object*)

      [edit]Member functions

      std::ranges::basic_istream_view::iterator::iterator

      /*iterator*/(const/*iterator*/&)= delete;
      (1)(since C++20)
      /*iterator*/(/*iterator*/&&)=default;
      (2)(since C++20)
      constexprexplicit/*iterator*/( basic_istream_view& parent);
      (3)(since C++20)
      1) The copy constructor is deleted. The iterator is not copyable.
      2) The move constructor is defaulted.
      3) Initializesparent_ withstd::addressof(parent).

      std::ranges::basic_istream_view::iterator::operator=

      /*iterator*/& operator=(const/*iterator*/&)= delete;
      (1)(since C++20)
      /*iterator*/& operator=(/*iterator*/&&)=default;
      (2)(since C++20)
      1) The copy assignment operator is deleted. The iterator is not copyable.
      2) The move assignment operator is defaulted.

      std::ranges::basic_istream_view::iterator::operator++

      /*iterator*/& operator++();
      (1)(since C++20)
      void operator++(int);
      (2)(since C++20)
      1) Equivalent to*parent_ ->stream_ >> parent_ ->value_.
      2) Equivalent to++*this.

      std::ranges::basic_istream_view::iterator::operator*

      Val& operator*()const;
      (since C++20)

      Returnsparent_ ->value_.

      [edit]Non-member functions

      operator==(std::ranges::basic_istream_view::iterator, std::default_sentinel)

      friendbool operator==(const/*iterator*/& x,std::default_sentinel_t);
      (since C++20)

      Returns!*parent_ ->stream_.

      This function is not visible to ordinaryunqualified orqualified lookup, and can only be found byargument-dependent lookup whenstd::ranges::basic_istream_view::iterator is an associated class of the arguments.

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      P2325R3C++20default constructor was provided as C++20
      iterators must bedefault_initializable
      removed along with
      the requirement
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/basic_istream_view/iterator&oldid=176951"

      [8]ページ先頭

      ©2009-2025 Movatter.jp