Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::indirectly_readable

      From cppreference.com
      <cpp‎ |iterator
       
       
      Iterator library
      Iterator concepts
      indirectly_readable
      (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 In>

          concept __IndirectlyReadableImpl=
              requires(const In in){
                 typenamestd::iter_value_t<In>;
                 typenamestd::iter_reference_t<In>;
                 typenamestd::iter_rvalue_reference_t<In>;
                 {*in}->std::same_as<std::iter_reference_t<In>>;
                 {ranges::iter_move(in)}->std::same_as<std::iter_rvalue_reference_t<In>>;
             }&&
             std::common_reference_with<
                 std::iter_reference_t<In>&&,std::iter_value_t<In>&
             >&&
             std::common_reference_with<
                 std::iter_reference_t<In>&&,std::iter_rvalue_reference_t<In>&&
             >&&
             std::common_reference_with<
                 std::iter_rvalue_reference_t<In>&&,conststd::iter_value_t<In>&

             >;
      (exposition only*)
      template<class In>

          concept indirectly_readable=

              __IndirectlyReadableImpl<std::remove_cvref_t<In>>;
      (since C++20)

      The conceptindirectly_readable is modeled by types that are readable by applyingoperator*, such as pointers, smart pointers, and input iterators.

      [edit]Semantic requirements

      Given a valuei of typeI,I modelsindirectly_readable only if all concepts it subsumes are modeled and the expression*i isequality-preserving.

      [edit]Equality preservation

      Expressions declared inrequires expressions of the standard library concepts are required to beequality-preserving (except where stated otherwise).

      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/indirectly_readable&oldid=159906"

      [8]ページ先頭

      ©2009-2025 Movatter.jp