diff options
Diffstat (limited to 'nihil.util/construct.ccm')
| -rw-r--r-- | nihil.util/construct.ccm | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/nihil.util/construct.ccm b/nihil.util/construct.ccm deleted file mode 100644 index 894a446..0000000 --- a/nihil.util/construct.ccm +++ /dev/null @@ -1,22 +0,0 @@ -// This source code is released into the public domain. -export module nihil.util:construct; - -import nihil.std; - -namespace nihil { - -// A functor that constructs objects of an arbitrary type. -// Useful for std::views::transform. -template <typename T> -struct construct_fn final -{ - [[nodiscard]] auto operator()(this construct_fn const &, auto &&...args) -> T - { - return T(std::forward<decltype(args)>(args)...); - } -}; - -export template <typename T> -inline constexpr auto construct = construct_fn<T>{}; - -} // namespace nihil |
