Iros
Loading...
Searching...
No Matches
indirect_binary_predicate.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/concepts/indirectly_readable.h
"
4
#include "
di/container/meta/iterator_common_reference.h
"
5
#include "
di/container/meta/iterator_reference.h
"
6
#include "
di/container/meta/iterator_value.h
"
7
#include "
di/meta/operations.h
"
8
#include "
di/meta/relation.h
"
9
10
namespace
di::concepts
{
11
template
<
typename
F,
typename
It,
typename
Jt = It>
12
concept
IndirectBinaryPredicate
=
IndirectlyReadable<It>
&&
IndirectlyReadable<Jt>
&&
CopyConstructible<F>
&&
13
Predicate<F&, meta::IteratorValue<It>
&,
meta::IteratorValue<Jt>
&> &&
14
Predicate<F&, meta::IteratorValue<It>
&,
meta::IteratorReference<Jt>
> &&
15
Predicate<F&, meta::IteratorReference<It>
,
meta::IteratorValue<Jt>
&> &&
16
Predicate<F&, meta::IteratorReference<It>
,
meta::IteratorReference<Jt>
> &&
17
Predicate<F&, meta::IteratorCommonReference<It>
,
meta::IteratorReference<Jt>
>;
18
}
di::concepts::CopyConstructible
Definition
operations.h:34
di::concepts::IndirectBinaryPredicate
Definition
indirect_binary_predicate.h:12
di::concepts::IndirectlyReadable
Definition
indirectly_readable.h:26
di::concepts::Predicate
Definition
relation.h:7
operations.h
indirectly_readable.h
iterator_common_reference.h
iterator_reference.h
iterator_value.h
di::concepts
Definition
any_storable.h:9
di::meta::IteratorValue
meta::Type< decltype(container::iterator_value(types::in_place_type< meta::RemoveCVRef< T > >))> IteratorValue
Definition
iterator_value.h:8
di::meta::IteratorReference
decltype(*util::declval< T const & >()) IteratorReference
Definition
iterator_reference.h:7
relation.h
libs
di
include
di
container
concepts
indirect_binary_predicate.h
Generated by
1.13.0