Iros
Loading...
Searching...
No Matches
in_value_result.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/meta/operations.h
"
4
#include "
di/util/move.h
"
5
6
namespace
di::container
{
7
template
<
typename
In,
typename
Val>
8
struct
InValueResult
{
9
template
<
typename
I,
typename
V>
10
requires
(
concepts::ConvertibleTo<In const&, I>
&&
concepts::ConvertibleTo<Val const&, V>
)
11
constexpr
operator
InValueResult<I, V>
()
const
& {
12
return
{
in
,
value
};
13
}
14
15
template
<
typename
I,
typename
V>
16
requires
(
concepts::ConvertibleTo<In, I>
&&
concepts::ConvertibleTo<Val, V>
)
17
constexpr
operator
InValueResult<I, V>
() && {
18
return
{ util::move(
in
), util::move(
value
) };
19
}
20
21
[[no_unique_address]] In
in
;
22
[[no_unique_address]] Val
value
;
23
};
24
}
di::concepts::ConvertibleTo
Definition
operations.h:99
operations.h
di::container
Definition
sequence.h:12
di::container::InValueResult
Definition
in_value_result.h:8
di::container::InValueResult::value
Val value
Definition
in_value_result.h:22
di::container::InValueResult::in
In in
Definition
in_value_result.h:21
move.h
libs
di
include
di
container
algorithm
in_value_result.h
Generated by
1.13.0