From 10239f01bb0b81f0f802a952932c498a9835d0ed Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Tue, 31 Dec 2024 11:13:39 -0600 Subject: [PATCH 1/6] tuple cleanup --- include/glaze/tuplet/tuple.hpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/include/glaze/tuplet/tuple.hpp b/include/glaze/tuplet/tuple.hpp index 0f54a4141c..9e8eab04c1 100644 --- a/include/glaze/tuplet/tuple.hpp +++ b/include/glaze/tuplet/tuple.hpp @@ -51,8 +51,6 @@ namespace glz template using base_list_t = typename std::decay_t::base_list; - template - using element_list_t = typename std::decay_t::element_list; template concept base_list_tuple = requires() { typename std::decay_t::base_list; }; @@ -140,9 +138,9 @@ namespace glz template using unwrap_ref_decay_t = typename std::unwrap_ref_decay::type; - // tuplet::detail::get_tuple_base implementation - // tuplet::detail::apply_impl - namespace tuplet::detail + // tuplet::get_tuple_base implementation + // tuplet::apply_impl + namespace tuplet { template struct get_tuple_base; @@ -186,13 +184,13 @@ namespace glz { return {{{static_cast&&>(tup.identity_t::value).identity_t::value}...}}; } - } // namespace tuplet::detail + } // tuple implementation namespace tuplet { template - using tuple_base_t = typename detail::get_tuple_base, T...>::type; + using tuple_base_t = typename get_tuple_base, T...>::type; } // namespace tuplet template @@ -203,7 +201,6 @@ namespace glz using super = tuplet::tuple_base_t; using super::operator[]; using base_list = typename super::base_list; - using element_list = tuplet::type_list; using super::decl_elem; template U> // Preserves default assignments @@ -360,7 +357,6 @@ namespace glz constexpr static size_t N = 0; using super = tuplet::tuple_base_t<>; using base_list = tuplet::type_list<>; - using element_list = tuplet::type_list<>; template U> // Preserves default assignments requires tuplet::stateless // Check that U is similarly stateless @@ -456,7 +452,7 @@ namespace glz template constexpr decltype(auto) apply(F&& func, Tup&& tup) { - return tuplet::detail::apply_impl(static_cast(func), static_cast(tup), + return tuplet::apply_impl(static_cast(func), static_cast(tup), typename std::decay_t::base_list()); } @@ -494,9 +490,9 @@ namespace glz using big_tuple = tuple...>; #endif using outer_bases = base_list_t; - constexpr auto outer = detail::get_outer_bases(outer_bases{}); - constexpr auto inner = detail::get_inner_bases(outer_bases{}); - return detail::cat_impl(big_tuple{{{std::forward(ts)}...}}, outer, inner); + constexpr auto outer = get_outer_bases(outer_bases{}); + constexpr auto inner = get_inner_bases(outer_bases{}); + return cat_impl(big_tuple{{{std::forward(ts)}...}}, outer, inner); } } From 7359227133ae9c2993b28526fe0fb2b79c0cecc0 Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Tue, 31 Dec 2024 11:20:58 -0600 Subject: [PATCH 2/6] field_t --- include/glaze/beve/write.hpp | 6 +++--- include/glaze/core/reflect.hpp | 8 +++++++- include/glaze/json/write.hpp | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/include/glaze/beve/write.hpp b/include/glaze/beve/write.hpp index 06d953ae83..9cba61b54a 100644 --- a/include/glaze/beve/write.hpp +++ b/include/glaze/beve/write.hpp @@ -677,7 +677,7 @@ namespace glz static constexpr size_t count_to_write = [] { size_t count{}; invoke_table([&]() { - using V = std::remove_cvref_t>; + using V = field_t; if constexpr (std::same_as