Namespaces
Variants

std:: mergeable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
mergeable
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Определено в заголовочном файле <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 > &&
std:: indirectly_copyable < I1, Out > &&
std:: indirectly_copyable < I2, Out > &&
std:: indirect_strict_weak_order < Comp,
std :: projected < I1, Proj1 > ,

std :: projected < I2, Proj2 >> ;
(начиная с C++20)

Концепция mergeable определяет требования к алгоритмам, которые объединяют два входных диапазона в один выходной диапазон в соответствии со строгим слабым упорядочением, задаваемым Comp .

Семантические требования

mergeable моделируется только в том случае, если все концепции, которые он подразумевает, моделируются.

Смотрите также

объединяет два отсортированных диапазона
(функциональный объект алгоритма)
вычисляет объединение двух множеств
(функциональный объект алгоритма)
вычисляет пересечение двух множеств
(функциональный объект алгоритма)
вычисляет разность двух множеств
(функциональный объект алгоритма)
вычисляет симметрическую разность двух множеств
(функциональный объект алгоритма)