std::experi...::Mergeable(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

okay bestie, welcome to the std::experi...::Mergeable(3) page from the C++ Standard Libary manual β€” yes, Libary, exactly like that, I don't make the rules πŸ˜­πŸ’….

✨ NAME ✨

std::experimental::ranges::Mergeable β€” std::experimental::ranges::Mergeable

it's giving name so nice they wrote it twice πŸŽ€


🌈 SYNOPSIS 🌈

here's the whole signature, untouched, because we do not mess with source code in this house 🫢:

template< class I1, class I2, class Out, class R = ranges::less<>,

          class P1 = ranges::identity, class P2 = ranges::identity >
concept bool Mergeable =
    InputIterator<I1> &&
    InputIterator<I2> &&
(ranges TS)
    WeaklyIncrementable<Out> &&
    IndirectlyCopyable<I1, Out> &&
    IndirectlyCopyable<I2, Out> &&

    IndirectStrictWeakOrder<R, ranges::projected<I1, P1>,
ranges::projected<I2, P2>>;

and yes, the (ranges TS) line is literally part of the synopsis β€” it's just vibing there, keep it exactly where it is ✨.

okay so the Mergeable concept specifies the common requirements of algorithms that merge sorted sequences into an output sequence by copying the elements (for example, ranges::merge). that's the tea: Mergeable is the concept vibe check for merge-y algorithms, and ranges::merge is the example right there in the text 🌸.


xoxo, signed with love by http://cppreference.com, dated 2024.06.10 β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from