std::mergeable(3)

NAME
std::mergeable - std::mergeable

Synopsis
   Defined in header <iterator>
   template< class I1, class I2, class Out, class Comp = ranges::less,
   class Proj1 = std::identity, class Proj2 = std::identity >
   concept mergeable =
   std::input_iterator<I1> &&
   std::input_iterator<I2> &&
   std::weakly_incrementable<Out> && (since C++20)
   std::indirectly_copyable<I1, Out> &&
   std::indirectly_copyable<I2, Out> &&
   std::indirect_strict_weak_order<Comp,
   std::projected<I1, Proj1>,
   std::projected<I2, Proj2>>;
   The mergeable concept specifies the requirements for algorithms that merge two input
   ranges into a single output range according to the strict weak ordering imposed by
   Comp.
  Semantic requirements
   mergeable is modeled only if all concepts it subsumes are modeled.

See also
   ranges::merge merges two sorted ranges
   (C++20) (niebloid)
   ranges::set_union computes the union of two sets
   (C++20) (niebloid)
   ranges::set_intersection computes the intersection of two sets
   (C++20) (niebloid)
   ranges::set_difference computes the difference between two sets
   (C++20) (niebloid)
   ranges::set_symmetric_difference computes the symmetric difference between two sets
   (C++20) (niebloid)