Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::input_or_output_iterator

      From cppreference.com
      <cpp‎ |iterator
       
       
      Iterator library
      Iterator concepts
      input_or_output_iterator
      (C++20)

      Iterator primitives
      Algorithm concepts and utilities
      Indirect callable concepts
      Common algorithm requirements
      (C++20)
      (C++20)
      (C++20)
      Utilities
      (C++20)
      Iterator adaptors
      Range access
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++11)(C++14)
      (C++14)(C++14)  
      (C++17)(C++20)
      (C++17)
      (C++17)
       
      Defined in header<iterator>
      template<class I>

          concept input_or_output_iterator=
              requires(I i){
                 {*i}->/*can-reference*/;
             }&&

             std::weakly_incrementable<I>;
      (since C++20)

      Theinput_or_output_iterator concept forms the basis of the iterator concept taxonomy; every iterator type satisfies theinput_or_output_iterator requirements.

      The exposition-only concept/*can-reference*/ is satisfied if and only if the type isreferenceable.

      [edit]Notes

      input_or_output_iterator itself only specifies operations for dereferencing and incrementing an iterator. Most algorithms will require additional operations, for example:

      Unlike theLegacyIterator requirements, theinput_or_output_iterator concept does not require copyability.

      *i is required to be equality-preserving, although the increment operations required byweakly_incrementable are not.

      [edit]Example

      A minimum iterator.

      #include <cstddef>#include <iterator> struct SimpleIterator{using difference_type=std::ptrdiff_t; int operator*();     SimpleIterator& operator++();void operator++(int){++*this;}}; static_assert(std::input_or_output_iterator<SimpleIterator>);
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/input_or_output_iterator&oldid=179973"

      [8]ページ先頭

      ©2009-2025 Movatter.jp