di 0.1.0
Loading...
Searching...
No Matches
construct.h
Go to the documentation of this file.
1#pragma once
2
5#include "di/util/forward.h"
6
7namespace di::util {
8template<typename T>
9struct Construct {
10 template<typename... Args>
11 requires(concepts::ConstructibleFrom<T, Args...>)
12 constexpr static auto operator()(Args&&... args) -> T {
13 return T(di::forward<Args>(args)...);
14 }
15};
16
17template<typename T>
18constexpr inline auto construct = di::curry_back(Construct<T> {});
19}
20
21namespace di {
22using util::construct;
23}
Definition operations.h:11
Definition vocab.h:96
constexpr auto construct
Definition construct.h:18
Definition any_storable.h:9
constexpr auto curry_back
Definition curry_back.h:141
Definition construct.h:9