Scroll to navigation

std::mergeable(3) C++ Standard Libary 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)

2024.06.10 http://cppreference.com