Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::indirectly_swappable

      From cppreference.com
      <cpp‎ |iterator
       
       
      Iterator library
      Iterator concepts
      Iterator primitives
      Algorithm concepts and utilities
      Indirect callable concepts
      Common algorithm requirements
      indirectly_swappable
      (C++20)
      (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 I1,class I2= I1>

      concept indirectly_swappable=
         std::indirectly_readable<I1>&&
         std::indirectly_readable<I2>&&
          requires(const I1 i1,const I2 i2)
         {
             ranges::iter_swap(i1, i1);
             ranges::iter_swap(i1, i2);
             ranges::iter_swap(i2, i1);
             ranges::iter_swap(i2, i2);

         };
      (since C++20)

      The conceptindirectly_swappable specifies a relationship between two types respectively modellingstd::indirectly_readable, where their referenced types can be swapped.

      [edit]Semantic requirements

      I1 andI2 modelindirectly_swappable only if all concepts it subsumes are modeled.

      [edit]Equality preservation

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

      [edit]See also

      specifies that a type is indirectly readable by applying operator*
      (concept)[edit]
      (C++20)
      swaps the values referenced by two dereferenceable objects
      (customization point object)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/indirectly_swappable&oldid=145874"

      [8]ページ先頭

      ©2009-2025 Movatter.jp