Iros
Loading...
Searching...
No Matches
in_in_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
In1,
typename
In2>
8
struct
InInResult
{
9
template
<
typename
I1,
typename
I2>
10
requires
(
concepts::ConvertibleTo<In1 const&, I1>
&&
concepts::ConvertibleTo<In2 const&, I2>
)
11
constexpr
operator
InInResult<I1, I2>
()
const
& {
12
return
{
in1
,
in2
};
13
}
14
15
template
<
typename
I1,
typename
I2>
16
requires
(
concepts::ConvertibleTo<In1, I1>
&&
concepts::ConvertibleTo<In2, I2>
)
17
constexpr
operator
InInResult<I1, I2>
() && {
18
return
{ util::move(
in1
), util::move(
in2
) };
19
}
20
21
[[no_unique_address]] In1
in1
;
22
[[no_unique_address]] In2
in2
;
23
};
24
}
di::concepts::ConvertibleTo
Definition
operations.h:99
operations.h
di::container
Definition
sequence.h:12
di::container::InInResult
Definition
in_in_result.h:8
di::container::InInResult::in1
In1 in1
Definition
in_in_result.h:21
di::container::InInResult::in2
In2 in2
Definition
in_in_result.h:22
move.h
libs
di
include
di
container
algorithm
in_in_result.h
Generated by
1.13.0