Iros
Loading...
Searching...
No Matches
indirect_equivalence_relation.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/meta/operations.h
"
7
#include "
di/meta/relation.h
"
8
9
namespace
di::concepts
{
10
template
<
class
F,
class
It,
class
Jt = It>
11
concept
IndirectEquivalenceRelation
=
12
concepts::IndirectlyReadable<It>
&&
concepts::IndirectlyReadable<Jt>
&&
concepts::CopyConstructible<F>
&&
13
concepts::EquivalenceRelation<F&, meta::IteratorValue<It>
&,
meta::IteratorValue<Jt>
&> &&
14
concepts::EquivalenceRelation<F&, meta::IteratorValue<It>
&,
meta::IteratorReference<Jt>
> &&
15
concepts::EquivalenceRelation<F&, meta::IteratorReference<It>
,
meta::IteratorValue<Jt>
&> &&
16
concepts::EquivalenceRelation<F&, meta::IteratorReference<It>
,
meta::IteratorReference<Jt>
> &&
17
concepts::EquivalenceRelation<F&, meta::IteratorCommonReference<It>
,
meta::IteratorCommonReference<Jt>
>;
18
}
di::concepts::CopyConstructible
Definition
operations.h:34
di::concepts::EquivalenceRelation
Definition
relation.h:13
di::concepts::IndirectEquivalenceRelation
Definition
indirect_equivalence_relation.h:11
di::concepts::IndirectlyReadable
Definition
indirectly_readable.h:26
operations.h
indirectly_readable.h
iterator_common_reference.h
iterator_reference.h
di::concepts
Definition
any_storable.h:9
di::meta::IteratorCommonReference
meta::CommonReference< meta::IteratorReference< T >, meta::IteratorValue< T > & > IteratorCommonReference
Definition
iterator_common_reference.h:10
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_equivalence_relation.h
Generated by
1.13.0