File indexing completed on 2026-11-07 10:12:11
0001
0002
0003
0004
0005
0006
0007 #pragma once
0008
0009 #include <utility>
0010
0011 #include <covfie/core/parameter_pack.hpp>
0012
0013 namespace covfie::utility {
0014
0015
0016
0017
0018
0019
0020
0021 template <typename B, typename C, typename... Cs>
0022 typename B::owning_data_t construct(parameter_pack<C, Cs...> && p)
0023 {
0024 if constexpr (sizeof...(Cs) == 0) {
0025 return typename B::owning_data_t(std::move(p.x));
0026 } else {
0027 return typename B::owning_data_t(
0028 std::move(p.x), construct<typename B::backend_t>(std::move(p.xs))
0029 );
0030 }
0031 }
0032 }