std::indirectly_movable(3)

πŸ“¦
version 2024.07.05 Β· 3 versions
, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so bestie, welcome to std::indirectly_movable(3) from the C++ Standard Libary β€” yes, that spelling, we’re keeping it, no cap. NAME energy: std::indirectly_movable - std::indirectly_movable. This page is all about a relationship between an indirectly readable type and an indirectly writable type, and the vibe check is: can the writable side directly move the object that the readable side references? πŸ‘‘

✨ Synopsis ✨

          Defined in header <iterator>
          template< class In, class Out >

          concept indirectly_movable =
       (since C++20)
              std::indirectly_readable<In> &&

              std::indirectly_writable<Out, std::iter_rvalue_reference_t<In>>;

So the indirectly_movable concept is lowkey the matchmaker between an indirectly_readable type and an indirectly_writable type. The indirectly_writable type must be able to directly move the object that the indirectly_readable type references. That’s the whole assignment, and it ate. πŸ’…

🌸 See also 🌸

  • indirectly_movable_storable (C++20) β€” concept; specifies that values may be moved from an indirectly_readable type to an indirectly_writable type, and that the move may be performed via an intermediate object. πŸŽ€
  • indirectly_copyable (C++20) β€” concept; specifies that values may be copied from an indirectly_readable type to an indirectly_writable type. πŸ¦‹

mwah πŸ’‹ bestie, this page came from http://cppreference.com and is dated 2024.06.10 β€” now go forth and slay your iterators. 🫢

πŸ“¦ where this page comes from