@@ -13,6 +13,8 @@ namespace mcpplibs::primitives::meta::details {
1313
1414template <typename T> struct primitive_traits_impl ;
1515
16+ template <typename T, typename PoliciesTuple> struct make_primitive ;
17+
1618template <underlying_type T, policy::policy_type... Policies>
1719struct primitive_traits_impl <primitive<T, Policies...>> {
1820 using value_type = T;
@@ -27,21 +29,19 @@ struct primitive_traits_impl<primitive<T, Policies...>> {
2729 policy::resolve_policy_t <policy::category::concurrency, Policies...>;
2830};
2931
32+ template <underlying_type T, policy::policy_type... Policies>
33+ struct make_primitive <T, std::tuple<Policies...>> {
34+ using type = primitive<T, Policies...>;
35+ };
36+
3037} // namespace mcpplibs::primitives::meta::details
3138
3239// Public API exported from this module.
3340export namespace mcpplibs ::primitives::meta {
3441using policy_category = policy::category;
3542
36- template <typename T, typename PoliciesTuple> struct make_primitive ;
37-
38- template <underlying_type T, policy::policy_type... Policies>
39- struct make_primitive <T, std::tuple<Policies...>> {
40- using type = primitive<T, Policies...>;
41- };
42-
4343template <underlying_type T, typename PoliciesTuple>
44- using make_primitive_t = make_primitive<T, PoliciesTuple>::type;
44+ using make_primitive_t = details:: make_primitive<T, PoliciesTuple>::type;
4545
4646using default_policies =
4747 std::tuple<policy::resolve_policy_t <policy::category::value>,
0 commit comments