The Mergeable concept specifies the requirements of algorithms that merge sorted sequences into an output sequence by copying elements.
template <class I1, class I2, class Out,
class R = less<>, class P1 = identity, class P2 = identity>
concept bool Mergeable =
InputIterator<I1> &&
InputIterator<I2> &&
WeaklyIncrementable<Out> &&
IndirectlyCopyable<I1, Out> &&
IndirectlyCopyable<I2, Out> &&
IndirectStrictWeakOrder<R, projected<I1, P1>, projected<I2, P2>>;