Iros
Loading...
Searching...
No Matches
make_optional.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/meta/util.h
"
4
#include "
di/util/forward.h
"
5
#include "
di/vocab/optional/optional.h
"
6
7
namespace
di::vocab
{
8
template
<
typename
T>
9
constexpr
auto
make_optional
(T&& value) {
10
return
Optional<meta::UnwrapRefDecay<T>
> { util::forward<T>(value) };
11
}
12
13
template
<
typename
T,
typename
... Args>
14
constexpr
auto
make_optional
(Args&&... args) {
15
return
Optional<T>
(
types::in_place
, util::forward<Args>(args)...);
16
}
17
}
18
19
namespace
di
{
20
using
vocab::make_optional
;
21
}
di::vocab::Optional
Definition
optional_forward_declaration.h:5
forward.h
di::types::in_place
constexpr auto in_place
Definition
in_place.h:8
di::vocab
Definition
lazy.h:165
di::vocab::make_optional
constexpr auto make_optional(T &&value)
Definition
make_optional.h:9
di
Definition
zstring_parser.h:9
util.h
optional.h
libs
di
include
di
vocab
optional
make_optional.h
Generated by
1.13.0