std::mergeable
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Iterator library
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)(C++23)(C++20)(C++20)
(deprecated in C++17)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++14)
(C++11)
(C++11)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++23)
(C++23)
(C++23)
(C++23)
(C++23)
(C++11)(C++14)
(C++14)(C++14)
Defined in header
<iterator>
template< class I1, class I2, class Out, class Comp = ranges::less,
(since C++20)
class Proj1 = std::identity, class Proj2 = std::identity >
concept mergeable =
std::input_iterator <I1> &&
std::input_iterator <I2> &&
std::weakly_incrementable <Out> &&
std::indirectly_copyable <I1, Out> &&
std::indirectly_copyable <I2, Out> &&
std::indirect_strict_weak_order <Comp,
std::projected <I1, Proj1>,
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
.
[edit] Semantic requirements
mergeable
is modeled only if all concepts it subsumes are modeled.