Iros
Loading...
Searching...
No Matches
mergeable.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/concepts/indirect_strict_weak_order.h
"
4
#include "
di/container/concepts/indirectly_copyable.h
"
5
#include "
di/container/concepts/input_iterator.h
"
6
#include "
di/container/concepts/weakly_incrementable.h
"
7
#include "
di/container/meta/projected.h
"
8
#include "
di/function/compare.h
"
9
#include "
di/function/identity.h
"
10
11
namespace
di::concepts
{
12
template
<
typename
It1,
typename
It2,
typename
Out,
typename
Comp = function::Compare,
13
typename
Proj1 = function::Identity,
typename
Proj2 = function::Identity>
14
concept
Mergeable
=
15
concepts::InputIterator<It1>
&&
concepts::InputIterator<It2>
&&
concepts::WeaklyIncrementable<Out>
&&
16
concepts::IndirectlyCopyable<It1, Out>
&&
concepts::IndirectlyCopyable<It2, Out>
&&
17
concepts::IndirectStrictWeakOrder<Comp, meta::Projected<It1, Proj1>
,
meta::Projected<It2, Proj2>
>;
18
}
di::concepts::IndirectStrictWeakOrder
Definition
indirect_strict_weak_order.h:12
di::concepts::IndirectlyCopyable
Definition
indirectly_copyable.h:9
di::concepts::InputIterator
Definition
input_iterator.h:9
di::concepts::Mergeable
Definition
mergeable.h:14
di::concepts::WeaklyIncrementable
Definition
weakly_incrementable.h:10
compare.h
identity.h
indirect_strict_weak_order.h
indirectly_copyable.h
input_iterator.h
di::concepts
Definition
any_storable.h:9
projected.h
di::meta::Projected
Definition
projected.h:16
weakly_incrementable.h
libs
di
include
di
container
concepts
mergeable.h
Generated by
1.13.0