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"
6
7namespace di::vocab {
8template<typename T>
9constexpr auto make_optional(T&& value) {
10 return Optional<meta::UnwrapRefDecay<T>> { util::forward<T>(value) };
11}
12
13template<typename T, typename... Args>
14constexpr auto make_optional(Args&&... args) {
15 return Optional<T>(types::in_place, util::forward<Args>(args)...);
16}
17}
18
19namespace di {
21}
Definition optional_forward_declaration.h:5
constexpr auto in_place
Definition in_place.h:8
Definition lazy.h:165
constexpr auto make_optional(T &&value)
Definition make_optional.h:9
Definition zstring_parser.h:9