Iros
Loading...
Searching...
No Matches
indirectly_writable.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/meta/iterator_reference.h
"
4
#include "
di/util/forward.h
"
5
6
namespace
di::concepts
{
7
template
<
typename
Out,
typename
T>
8
concept
IndirectlyWritable
=
requires
(Out&& out, T&& value) {
9
*out = util::forward<T>(value);
10
*util::forward<Out>(out) = util::forward<T>(value);
11
const_cast<
meta::IteratorReference<Out>
const&&
>
(*out) = util::forward<T>(value);
12
const_cast<
meta::IteratorReference<Out>
const&&
>
(*util::forward<Out>(out)) = util::forward<T>(value);
13
};
14
}
di::concepts::IndirectlyWritable
Definition
indirectly_writable.h:8
forward.h
iterator_reference.h
di::concepts
Definition
any_storable.h:9
di::meta::IteratorReference
decltype(*util::declval< T const & >()) IteratorReference
Definition
iterator_reference.h:7
libs
di
include
di
container
concepts
indirectly_writable.h
Generated by
1.13.0