From 070d51e8d898ce36b3ba1d08e3188a017550cb23 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Mon, 10 Aug 2026 23:06:17 +0200 Subject: [PATCH 01/20] Isolated resources that use C++20 hacks --- CMakeLists.txt | 13 +- include/rfl.hpp | 1 + include/rfl/Settings.hpp | 96 +- include/rfl/internal/bind_to_tuple.hpp | 4398 +--------------- .../copy_flattened_tuple_to_named_tuple.hpp | 9 +- include/rfl/internal/copy_to_field_tuple.hpp | 6 +- include/rfl/internal/cpp20/bind_to_tuple.hpp | 4400 +++++++++++++++++ .../{ => cpp20}/field_index_by_name.hpp | 18 +- .../{ => cpp20}/field_index_from_ptm.hpp | 13 +- .../internal/{ => cpp20}/get_fake_object.hpp | 10 +- .../rfl/internal/cpp20/get_field_names.hpp | 170 + .../get_ith_field_from_fake_object.hpp | 12 +- include/rfl/internal/cpp20/get_type_name.hpp | 61 + .../rfl/internal/{ => cpp20}/num_fields.hpp | 10 +- include/rfl/internal/cpp20/settings.hpp | 70 + .../rfl/internal/cpp20/to_ptr_named_tuple.hpp | 102 + include/rfl/internal/field_tuple_t.hpp | 6 +- include/rfl/internal/get_field_names.hpp | 161 +- include/rfl/internal/get_type_name.hpp | 60 +- include/rfl/internal/move_to_field_tuple.hpp | 6 +- include/rfl/internal/ptr_field_tuple_t.hpp | 6 +- include/rfl/internal/ptr_named_tuple_t.hpp | 7 +- include/rfl/internal/ptr_tuple_t.hpp | 6 +- .../rfl/internal/to_flattened_ptr_tuple.hpp | 9 +- include/rfl/internal/to_ptr_field.hpp | 6 +- include/rfl/internal/to_ptr_named_tuple.hpp | 99 +- include/rfl/internal/to_ptr_tuple.hpp | 6 +- include/rfl/num_fields.hpp | 13 +- 28 files changed, 4937 insertions(+), 4837 deletions(-) create mode 100644 include/rfl/internal/cpp20/bind_to_tuple.hpp rename include/rfl/internal/{ => cpp20}/field_index_by_name.hpp (83%) rename include/rfl/internal/{ => cpp20}/field_index_from_ptm.hpp (89%) rename include/rfl/internal/{ => cpp20}/get_fake_object.hpp (81%) create mode 100644 include/rfl/internal/cpp20/get_field_names.hpp rename include/rfl/internal/{ => cpp20}/get_ith_field_from_fake_object.hpp (99%) create mode 100644 include/rfl/internal/cpp20/get_type_name.hpp rename include/rfl/internal/{ => cpp20}/num_fields.hpp (97%) create mode 100644 include/rfl/internal/cpp20/settings.hpp create mode 100644 include/rfl/internal/cpp20/to_ptr_named_tuple.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 80fb7d2e7..e6b9a4ad6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,9 +30,14 @@ option(REFLECTCPP_CHECK_HEADERS "Make sure that all headers are self-contained" option(REFLECTCPP_USE_BUNDLED_DEPENDENCIES "Use the bundled dependencies" ON) -option(REFLECTCPP_USE_STD_EXPECTED "Use std::expected instead of the built-in Result type (requires C++-23)" OFF) +option(REFLECTCPP_USE_CPP_REFLECTION "Use standard C++ reflection (requires C++-26)" OFF) +option(REFLECTCPP_USE_STD_EXPECTED "Use std::expected instead of the built-in Result type (requires C++-23)" ${REFLECTCPP_USE_CPP_REFLECTION}) -if(REFLECTCPP_USE_STD_EXPECTED) +if(REFLECTCPP_USE_CPP_REFLECTION) + if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 26) + endif() +elseif(REFLECTCPP_USE_STD_EXPECTED) if(NOT DEFINED CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 23) endif() @@ -229,6 +234,10 @@ if(REFLECTCPP_BUILD_SHARED) target_compile_definitions(reflectcpp PUBLIC RFL_BUILD_SHARED) endif() +if(REFLECTCPP_USE_CPP_REFLECTION) + target_compile_definitions(reflectcpp PUBLIC REFLECTCPP_USE_CPP_REFLECTION) +endif() + if(REFLECTCPP_USE_STD_EXPECTED) target_compile_definitions(reflectcpp PUBLIC REFLECTCPP_USE_STD_EXPECTED) endif() diff --git a/include/rfl.hpp b/include/rfl.hpp index 9e0d0f5d2..2aa036f54 100644 --- a/include/rfl.hpp +++ b/include/rfl.hpp @@ -78,6 +78,7 @@ #include "rfl/make_named_tuple.hpp" #include "rfl/name_t.hpp" #include "rfl/named_tuple_t.hpp" +#include "rfl/num_fields.hpp" #include "rfl/parsing/CustomParser.hpp" #include "rfl/patterns.hpp" #include "rfl/remove_fields.hpp" diff --git a/include/rfl/Settings.hpp b/include/rfl/Settings.hpp index a1cf2c089..791317ed2 100644 --- a/include/rfl/Settings.hpp +++ b/include/rfl/Settings.hpp @@ -5,67 +5,7 @@ #include #include -#include "Field.hpp" -#include "internal/StringLiteral.hpp" -#include "internal/field_index_by_name.hpp" -#include "internal/field_index_from_ptm.hpp" -#include "internal/get_field_names.hpp" -#include "internal/get_ith_field_from_fake_object.hpp" -#include "replace.hpp" - -namespace rfl::internal { - -template -struct member_ptr_traits : std::false_type {}; - -template -struct member_ptr_traits - : std::bool_constant && - std::is_const_v> {}; - -template -concept const_member_of = member_ptr_traits::value; - -/// Returns a copy of `_obj` with the field designated by `FieldPtr` replaced -/// by `_value`. Used as the body of the with() method generated by -/// RFL_SETTINGS_OPS. Field name is recovered through the fake-object path -/// that the rest of reflect-cpp uses, so MSVC parses it correctly. -template - requires const_member_of -T settings_with_replaced( - const T& _obj, - std::remove_const_t< - std::remove_reference_t().*FieldPtr)>> - _value) { - constexpr std::size_t I = field_index_v; - static_assert( - I != static_cast(-1), - "FieldPtr does not refer to a non-static data member of T. " - "Make sure you pass &T::field, where field is declared inside T."); - constexpr auto name = - get_field_name_str_lit()>(); - return rfl::replace(_obj, rfl::make_field(std::move(_value))); -} - -/// Returns a copy of `_obj` with the field with the given Name replaced by -/// `_value`. Used as the body of the with<"name">() overload generated by -/// RFL_SETTINGS_OPS. -template -T settings_with_replaced_by_name( - const T& _obj, - field_value_type_at_t> _value) { - constexpr std::size_t I = field_index_by_name_v; - static_assert(I != static_cast(-1), - "No field with the given name exists in T."); -#ifdef _MSC_VER - static_assert(ith_field_is_const(I)>(), - "Fields in Settings structs must be const."); -#endif - return rfl::replace(_obj, rfl::make_field(std::move(_value))); -} - -} // namespace rfl::internal +#include "internal/cpp20/settings.hpp" /// Defines the standard with<&T::field>(value) and with<"field">(value) /// accessors inside a settings struct. The struct must be a flat aggregate @@ -82,22 +22,24 @@ T settings_with_replaced_by_name( /// /// auto a = MySettings{}.with<&MySettings::some_option>(100); /// auto b = MySettings{}.with<"some_option">(100); -#define RFL_SETTINGS_OPS(Derived) \ - template \ - requires ::rfl::internal::const_member_of \ - Derived with(std::remove_const_t().*FieldPtr)>> \ - _value) const { \ - return ::rfl::internal::settings_with_replaced( \ - *this, std::move(_value)); \ - } \ - template <::rfl::internal::StringLiteral Name> \ - Derived with(::rfl::internal::field_value_type_at_t< \ - Derived, \ - ::rfl::internal::field_index_by_name_v> \ - _value) const { \ - return ::rfl::internal::settings_with_replaced_by_name( \ - *this, std::move(_value)); \ +#define RFL_SETTINGS_OPS(Derived) \ + template \ + requires ::rfl::internal::cpp20::const_member_of \ + Derived \ + with(std::remove_const_t< \ + std::remove_reference_t().*FieldPtr)>> \ + _value) const { \ + return ::rfl::internal::cpp20::settings_with_replaced( \ + *this, std::move(_value)); \ + } \ + template <::rfl::internal::StringLiteral Name> \ + Derived \ + with(::rfl::internal::cpp20::field_value_type_at_t< \ + Derived, ::rfl::internal::cpp20::field_index_by_name_v> \ + _value) const { \ + return ::rfl::internal::cpp20::settings_with_replaced_by_name( \ + *this, std::move(_value)); \ } #endif diff --git a/include/rfl/internal/bind_to_tuple.hpp b/include/rfl/internal/bind_to_tuple.hpp index 2eab5b357..745f9e56d 100644 --- a/include/rfl/internal/bind_to_tuple.hpp +++ b/include/rfl/internal/bind_to_tuple.hpp @@ -1,4398 +1,30 @@ #ifndef RFL_INTERNAL_BIND_TO_TUPLE_HPP_ #define RFL_INTERNAL_BIND_TO_TUPLE_HPP_ -#include -#include -#include - -#include "../Tuple.hpp" -#include "../always_false.hpp" -#include "num_fields.hpp" +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/bind_to_tuple.hpp" +#else +// TODO +#endif namespace rfl::internal { -#define RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( \ - n, ...) \ - auto& [__VA_ARGS__] = _t; \ - return [](auto&... _refs) { return rfl::make_tuple(&_refs...); }(__VA_ARGS__); - -// The following boilerplate code has been generated with -// scripts/bind_to_tuple_impl.py -template -auto bind_to_tuple_impl(auto& _t) { - if constexpr (_num_fields == 0) { - return rfl::make_tuple(); - } else { - if constexpr (_num_fields < 129) { - if constexpr (_num_fields < 65) { - if constexpr (_num_fields < 33) { - if constexpr (_num_fields < 17) { - if constexpr (_num_fields < 9) { - if constexpr (_num_fields < 5) { - if constexpr (_num_fields < 3) { - if constexpr (_num_fields < 2) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 1, f1); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 2, f1, f2); - } - } else { - if constexpr (_num_fields < 4) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 3, f1, f2, f3); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 4, f1, f2, f3, f4); - } - } - } else { - if constexpr (_num_fields < 7) { - if constexpr (_num_fields < 6) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 5, f1, f2, f3, f4, f5); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 6, f1, f2, f3, f4, f5, f6); - } - } else { - if constexpr (_num_fields < 8) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 7, f1, f2, f3, f4, f5, f6, f7); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 8, f1, f2, f3, f4, f5, f6, f7, f8); - } - } - } - } else { - if constexpr (_num_fields < 13) { - if constexpr (_num_fields < 11) { - if constexpr (_num_fields < 10) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 9, f1, f2, f3, f4, f5, f6, f7, f8, f9); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 10, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10); - } - } else { - if constexpr (_num_fields < 12) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 11, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 12, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12); - } - } - } else { - if constexpr (_num_fields < 15) { - if constexpr (_num_fields < 14) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 13, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 14, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14); - } - } else { - if constexpr (_num_fields < 16) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 15, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 16, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16); - } - } - } - } - } else { - if constexpr (_num_fields < 25) { - if constexpr (_num_fields < 21) { - if constexpr (_num_fields < 19) { - if constexpr (_num_fields < 18) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 17, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 18, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18); - } - } else { - if constexpr (_num_fields < 20) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 19, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 20, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20); - } - } - } else { - if constexpr (_num_fields < 23) { - if constexpr (_num_fields < 22) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 21, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 22, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22); - } - } else { - if constexpr (_num_fields < 24) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 23, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 24, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24); - } - } - } - } else { - if constexpr (_num_fields < 29) { - if constexpr (_num_fields < 27) { - if constexpr (_num_fields < 26) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 25, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 26, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26); - } - } else { - if constexpr (_num_fields < 28) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 27, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 28, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28); - } - } - } else { - if constexpr (_num_fields < 31) { - if constexpr (_num_fields < 30) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 29, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 30, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30); - } - } else { - if constexpr (_num_fields < 32) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 31, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 32, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32); - } - } - } - } - } - } else { - if constexpr (_num_fields < 49) { - if constexpr (_num_fields < 41) { - if constexpr (_num_fields < 37) { - if constexpr (_num_fields < 35) { - if constexpr (_num_fields < 34) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 33, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 34, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34); - } - } else { - if constexpr (_num_fields < 36) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 35, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 36, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36); - } - } - } else { - if constexpr (_num_fields < 39) { - if constexpr (_num_fields < 38) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 37, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 38, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38); - } - } else { - if constexpr (_num_fields < 40) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 39, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 40, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40); - } - } - } - } else { - if constexpr (_num_fields < 45) { - if constexpr (_num_fields < 43) { - if constexpr (_num_fields < 42) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 41, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 42, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42); - } - } else { - if constexpr (_num_fields < 44) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 43, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 44, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44); - } - } - } else { - if constexpr (_num_fields < 47) { - if constexpr (_num_fields < 46) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 45, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 46, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46); - } - } else { - if constexpr (_num_fields < 48) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 47, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 48, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48); - } - } - } - } - } else { - if constexpr (_num_fields < 57) { - if constexpr (_num_fields < 53) { - if constexpr (_num_fields < 51) { - if constexpr (_num_fields < 50) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 49, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 50, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50); - } - } else { - if constexpr (_num_fields < 52) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 51, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 52, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52); - } - } - } else { - if constexpr (_num_fields < 55) { - if constexpr (_num_fields < 54) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 53, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 54, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54); - } - } else { - if constexpr (_num_fields < 56) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 55, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 56, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56); - } - } - } - } else { - if constexpr (_num_fields < 61) { - if constexpr (_num_fields < 59) { - if constexpr (_num_fields < 58) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 57, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 58, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58); - } - } else { - if constexpr (_num_fields < 60) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 59, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 60, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60); - } - } - } else { - if constexpr (_num_fields < 63) { - if constexpr (_num_fields < 62) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 61, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 62, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62); - } - } else { - if constexpr (_num_fields < 64) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 63, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 64, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64); - } - } - } - } - } - } - } else { - if constexpr (_num_fields < 97) { - if constexpr (_num_fields < 81) { - if constexpr (_num_fields < 73) { - if constexpr (_num_fields < 69) { - if constexpr (_num_fields < 67) { - if constexpr (_num_fields < 66) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 65, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 66, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66); - } - } else { - if constexpr (_num_fields < 68) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 67, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 68, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68); - } - } - } else { - if constexpr (_num_fields < 71) { - if constexpr (_num_fields < 70) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 69, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 70, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70); - } - } else { - if constexpr (_num_fields < 72) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 71, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 72, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72); - } - } - } - } else { - if constexpr (_num_fields < 77) { - if constexpr (_num_fields < 75) { - if constexpr (_num_fields < 74) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 73, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 74, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74); - } - } else { - if constexpr (_num_fields < 76) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 75, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 76, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76); - } - } - } else { - if constexpr (_num_fields < 79) { - if constexpr (_num_fields < 78) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 77, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 78, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78); - } - } else { - if constexpr (_num_fields < 80) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 79, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 80, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80); - } - } - } - } - } else { - if constexpr (_num_fields < 89) { - if constexpr (_num_fields < 85) { - if constexpr (_num_fields < 83) { - if constexpr (_num_fields < 82) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 81, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 82, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82); - } - } else { - if constexpr (_num_fields < 84) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 83, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 84, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84); - } - } - } else { - if constexpr (_num_fields < 87) { - if constexpr (_num_fields < 86) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 85, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 86, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86); - } - } else { - if constexpr (_num_fields < 88) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 87, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 88, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88); - } - } - } - } else { - if constexpr (_num_fields < 93) { - if constexpr (_num_fields < 91) { - if constexpr (_num_fields < 90) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 89, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 90, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90); - } - } else { - if constexpr (_num_fields < 92) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 91, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 92, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92); - } - } - } else { - if constexpr (_num_fields < 95) { - if constexpr (_num_fields < 94) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 93, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 94, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94); - } - } else { - if constexpr (_num_fields < 96) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 95, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 96, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96); - } - } - } - } - } - } else { - if constexpr (_num_fields < 113) { - if constexpr (_num_fields < 105) { - if constexpr (_num_fields < 101) { - if constexpr (_num_fields < 99) { - if constexpr (_num_fields < 98) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 97, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 98, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98); - } - } else { - if constexpr (_num_fields < 100) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 99, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 100, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100); - } - } - } else { - if constexpr (_num_fields < 103) { - if constexpr (_num_fields < 102) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 101, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 102, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102); - } - } else { - if constexpr (_num_fields < 104) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 103, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 104, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104); - } - } - } - } else { - if constexpr (_num_fields < 109) { - if constexpr (_num_fields < 107) { - if constexpr (_num_fields < 106) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 105, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 106, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106); - } - } else { - if constexpr (_num_fields < 108) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 107, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 108, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108); - } - } - } else { - if constexpr (_num_fields < 111) { - if constexpr (_num_fields < 110) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 109, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 110, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110); - } - } else { - if constexpr (_num_fields < 112) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 111, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 112, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112); - } - } - } - } - } else { - if constexpr (_num_fields < 121) { - if constexpr (_num_fields < 117) { - if constexpr (_num_fields < 115) { - if constexpr (_num_fields < 114) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 113, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 114, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114); - } - } else { - if constexpr (_num_fields < 116) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 115, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 116, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116); - } - } - } else { - if constexpr (_num_fields < 119) { - if constexpr (_num_fields < 118) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 117, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 118, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118); - } - } else { - if constexpr (_num_fields < 120) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 119, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 120, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120); - } - } - } - } else { - if constexpr (_num_fields < 125) { - if constexpr (_num_fields < 123) { - if constexpr (_num_fields < 122) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 121, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 122, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122); - } - } else { - if constexpr (_num_fields < 124) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 123, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 124, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124); - } - } - } else { - if constexpr (_num_fields < 127) { - if constexpr (_num_fields < 126) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 125, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 126, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126); - } - } else { - if constexpr (_num_fields < 128) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 127, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 128, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128); - } - } - } - } - } - } - } - } else { - if constexpr (_num_fields < 193) { - if constexpr (_num_fields < 161) { - if constexpr (_num_fields < 145) { - if constexpr (_num_fields < 137) { - if constexpr (_num_fields < 133) { - if constexpr (_num_fields < 131) { - if constexpr (_num_fields < 130) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 129, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 130, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130); - } - } else { - if constexpr (_num_fields < 132) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 131, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 132, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132); - } - } - } else { - if constexpr (_num_fields < 135) { - if constexpr (_num_fields < 134) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 133, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 134, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134); - } - } else { - if constexpr (_num_fields < 136) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 135, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 136, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136); - } - } - } - } else { - if constexpr (_num_fields < 141) { - if constexpr (_num_fields < 139) { - if constexpr (_num_fields < 138) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 137, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 138, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138); - } - } else { - if constexpr (_num_fields < 140) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 139, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 140, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140); - } - } - } else { - if constexpr (_num_fields < 143) { - if constexpr (_num_fields < 142) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 141, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 142, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142); - } - } else { - if constexpr (_num_fields < 144) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 143, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 144, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144); - } - } - } - } - } else { - if constexpr (_num_fields < 153) { - if constexpr (_num_fields < 149) { - if constexpr (_num_fields < 147) { - if constexpr (_num_fields < 146) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 145, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 146, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146); - } - } else { - if constexpr (_num_fields < 148) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 147, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 148, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148); - } - } - } else { - if constexpr (_num_fields < 151) { - if constexpr (_num_fields < 150) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 149, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 150, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150); - } - } else { - if constexpr (_num_fields < 152) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 151, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 152, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152); - } - } - } - } else { - if constexpr (_num_fields < 157) { - if constexpr (_num_fields < 155) { - if constexpr (_num_fields < 154) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 153, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 154, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154); - } - } else { - if constexpr (_num_fields < 156) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 155, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 156, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156); - } - } - } else { - if constexpr (_num_fields < 159) { - if constexpr (_num_fields < 158) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 157, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 158, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158); - } - } else { - if constexpr (_num_fields < 160) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 159, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 160, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160); - } - } - } - } - } - } else { - if constexpr (_num_fields < 177) { - if constexpr (_num_fields < 169) { - if constexpr (_num_fields < 165) { - if constexpr (_num_fields < 163) { - if constexpr (_num_fields < 162) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 161, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 162, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162); - } - } else { - if constexpr (_num_fields < 164) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 163, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 164, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164); - } - } - } else { - if constexpr (_num_fields < 167) { - if constexpr (_num_fields < 166) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 165, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 166, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166); - } - } else { - if constexpr (_num_fields < 168) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 167, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 168, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168); - } - } - } - } else { - if constexpr (_num_fields < 173) { - if constexpr (_num_fields < 171) { - if constexpr (_num_fields < 170) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 169, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 170, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170); - } - } else { - if constexpr (_num_fields < 172) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 171, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 172, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172); - } - } - } else { - if constexpr (_num_fields < 175) { - if constexpr (_num_fields < 174) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 173, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 174, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174); - } - } else { - if constexpr (_num_fields < 176) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 175, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 176, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176); - } - } - } - } - } else { - if constexpr (_num_fields < 185) { - if constexpr (_num_fields < 181) { - if constexpr (_num_fields < 179) { - if constexpr (_num_fields < 178) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 177, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 178, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178); - } - } else { - if constexpr (_num_fields < 180) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 179, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 180, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180); - } - } - } else { - if constexpr (_num_fields < 183) { - if constexpr (_num_fields < 182) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 181, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 182, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182); - } - } else { - if constexpr (_num_fields < 184) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 183, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 184, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184); - } - } - } - } else { - if constexpr (_num_fields < 189) { - if constexpr (_num_fields < 187) { - if constexpr (_num_fields < 186) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 185, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 186, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186); - } - } else { - if constexpr (_num_fields < 188) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 187, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 188, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188); - } - } - } else { - if constexpr (_num_fields < 191) { - if constexpr (_num_fields < 190) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 189, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 190, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190); - } - } else { - if constexpr (_num_fields < 192) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 191, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 192, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192); - } - } - } - } - } - } - } else { - if constexpr (_num_fields < 225) { - if constexpr (_num_fields < 209) { - if constexpr (_num_fields < 201) { - if constexpr (_num_fields < 197) { - if constexpr (_num_fields < 195) { - if constexpr (_num_fields < 194) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 193, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 194, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194); - } - } else { - if constexpr (_num_fields < 196) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 195, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 196, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196); - } - } - } else { - if constexpr (_num_fields < 199) { - if constexpr (_num_fields < 198) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 197, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 198, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198); - } - } else { - if constexpr (_num_fields < 200) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 199, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 200, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200); - } - } - } - } else { - if constexpr (_num_fields < 205) { - if constexpr (_num_fields < 203) { - if constexpr (_num_fields < 202) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 201, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 202, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202); - } - } else { - if constexpr (_num_fields < 204) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 203, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 204, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204); - } - } - } else { - if constexpr (_num_fields < 207) { - if constexpr (_num_fields < 206) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 205, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 206, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206); - } - } else { - if constexpr (_num_fields < 208) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 207, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 208, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208); - } - } - } - } - } else { - if constexpr (_num_fields < 217) { - if constexpr (_num_fields < 213) { - if constexpr (_num_fields < 211) { - if constexpr (_num_fields < 210) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 209, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 210, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210); - } - } else { - if constexpr (_num_fields < 212) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 211, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 212, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212); - } - } - } else { - if constexpr (_num_fields < 215) { - if constexpr (_num_fields < 214) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 213, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 214, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214); - } - } else { - if constexpr (_num_fields < 216) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 215, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 216, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216); - } - } - } - } else { - if constexpr (_num_fields < 221) { - if constexpr (_num_fields < 219) { - if constexpr (_num_fields < 218) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 217, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 218, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218); - } - } else { - if constexpr (_num_fields < 220) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 219, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 220, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220); - } - } - } else { - if constexpr (_num_fields < 223) { - if constexpr (_num_fields < 222) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 221, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 222, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222); - } - } else { - if constexpr (_num_fields < 224) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 223, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 224, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224); - } - } - } - } - } - } else { - if constexpr (_num_fields < 241) { - if constexpr (_num_fields < 233) { - if constexpr (_num_fields < 229) { - if constexpr (_num_fields < 227) { - if constexpr (_num_fields < 226) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 225, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 226, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226); - } - } else { - if constexpr (_num_fields < 228) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 227, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 228, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228); - } - } - } else { - if constexpr (_num_fields < 231) { - if constexpr (_num_fields < 230) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 229, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 230, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230); - } - } else { - if constexpr (_num_fields < 232) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 231, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 232, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232); - } - } - } - } else { - if constexpr (_num_fields < 237) { - if constexpr (_num_fields < 235) { - if constexpr (_num_fields < 234) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 233, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 234, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234); - } - } else { - if constexpr (_num_fields < 236) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 235, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 236, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236); - } - } - } else { - if constexpr (_num_fields < 239) { - if constexpr (_num_fields < 238) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 237, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 238, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238); - } - } else { - if constexpr (_num_fields < 240) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 239, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 240, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240); - } - } - } - } - } else { - if constexpr (_num_fields < 249) { - if constexpr (_num_fields < 245) { - if constexpr (_num_fields < 243) { - if constexpr (_num_fields < 242) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 241, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 242, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242); - } - } else { - if constexpr (_num_fields < 244) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 243, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 244, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244); - } - } - } else { - if constexpr (_num_fields < 247) { - if constexpr (_num_fields < 246) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 245, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 246, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246); - } - } else { - if constexpr (_num_fields < 248) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 247, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 248, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248); - } - } - } - } else { - if constexpr (_num_fields < 253) { - if constexpr (_num_fields < 251) { - if constexpr (_num_fields < 250) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 249, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 250, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250); - } - } else { - if constexpr (_num_fields < 252) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 251, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 252, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251, f252); - } - } - } else { - if constexpr (_num_fields < 255) { - if constexpr (_num_fields < 254) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 253, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251, f252, f253); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 254, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251, f252, f253, - f254); - } - } else { - if constexpr (_num_fields < 256) { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 255, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251, f252, f253, - f254, f255); - } else { - RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( - 256, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, - f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, - f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, - f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, - f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, - f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, - f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, - f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, - f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, - f101, f102, f103, f104, f105, f106, f107, f108, f109, - f110, f111, f112, f113, f114, f115, f116, f117, f118, - f119, f120, f121, f122, f123, f124, f125, f126, f127, - f128, f129, f130, f131, f132, f133, f134, f135, f136, - f137, f138, f139, f140, f141, f142, f143, f144, f145, - f146, f147, f148, f149, f150, f151, f152, f153, f154, - f155, f156, f157, f158, f159, f160, f161, f162, f163, - f164, f165, f166, f167, f168, f169, f170, f171, f172, - f173, f174, f175, f176, f177, f178, f179, f180, f181, - f182, f183, f184, f185, f186, f187, f188, f189, f190, - f191, f192, f193, f194, f195, f196, f197, f198, f199, - f200, f201, f202, f203, f204, f205, f206, f207, f208, - f209, f210, f211, f212, f213, f214, f215, f216, f217, - f218, f219, f220, f221, f222, f223, f224, f225, f226, - f227, f228, f229, f230, f231, f232, f233, f234, f235, - f236, f237, f238, f239, f240, f241, f242, f243, f244, - f245, f246, f247, f248, f249, f250, f251, f252, f253, - f254, f255, f256); - } - } - } - } - } - } - } - } - } -} - -// End of boilerplate code - -#undef RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS - template auto bind_to_tuple(T& _t) { - return bind_to_tuple_impl>(_t); +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::bind_to_tuple(_t); +#else + // TODO +#endif } template auto bind_to_tuple(T& _t, const F& _f) { - auto view = bind_to_tuple(_t); - return [&](std::index_sequence<_is...>) { - return rfl::make_tuple(_f(rfl::get<_is>(view))...); - }(std::make_index_sequence>()); +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::bind_to_tuple(_t, _f); +#else + // TODO +#endif } } // namespace rfl::internal diff --git a/include/rfl/internal/copy_flattened_tuple_to_named_tuple.hpp b/include/rfl/internal/copy_flattened_tuple_to_named_tuple.hpp index 543f1e18e..5f3a13926 100644 --- a/include/rfl/internal/copy_flattened_tuple_to_named_tuple.hpp +++ b/include/rfl/internal/copy_flattened_tuple_to_named_tuple.hpp @@ -8,8 +8,7 @@ #include "../make_named_tuple.hpp" #include "lit_name.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template auto copy_one_element(const auto& _flattened_tuple) { @@ -26,11 +25,9 @@ auto copy_flattened_tuple_to_named_tuple(const auto& _flattened_tuple) { return [&](std::integer_sequence) { return make_named_tuple( copy_one_element(_flattened_tuple)...); - } - (std::make_integer_sequence()); + }(std::make_integer_sequence()); } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/copy_to_field_tuple.hpp b/include/rfl/internal/copy_to_field_tuple.hpp index 3e8ae3db9..0e9dab58d 100644 --- a/include/rfl/internal/copy_to_field_tuple.hpp +++ b/include/rfl/internal/copy_to_field_tuple.hpp @@ -3,8 +3,7 @@ #include "move_to_field_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template auto copy_to_field_tuple(const T& _t) { @@ -12,7 +11,6 @@ auto copy_to_field_tuple(const T& _t) { return move_to_field_tuple(std::move(t)); } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/cpp20/bind_to_tuple.hpp b/include/rfl/internal/cpp20/bind_to_tuple.hpp new file mode 100644 index 000000000..d3b7bb196 --- /dev/null +++ b/include/rfl/internal/cpp20/bind_to_tuple.hpp @@ -0,0 +1,4400 @@ +#ifndef RFL_INTERNAL_CPP20_BIND_TO_TUPLE_HPP_ +#define RFL_INTERNAL_CPP20_BIND_TO_TUPLE_HPP_ + +#include +#include +#include + +#include "../../Tuple.hpp" +#include "../../always_false.hpp" +#include "num_fields.hpp" + +namespace rfl::internal::cpp20 { + +#define RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( \ + n, ...) \ + auto& [__VA_ARGS__] = _t; \ + return [](auto&... _refs) { return rfl::make_tuple(&_refs...); }(__VA_ARGS__); + +// The following boilerplate code has been generated with +// scripts/bind_to_tuple_impl.py +template +auto bind_to_tuple_impl(auto& _t) { + if constexpr (_num_fields == 0) { + return rfl::make_tuple(); + } else { + if constexpr (_num_fields < 129) { + if constexpr (_num_fields < 65) { + if constexpr (_num_fields < 33) { + if constexpr (_num_fields < 17) { + if constexpr (_num_fields < 9) { + if constexpr (_num_fields < 5) { + if constexpr (_num_fields < 3) { + if constexpr (_num_fields < 2) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 1, f1); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 2, f1, f2); + } + } else { + if constexpr (_num_fields < 4) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 3, f1, f2, f3); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 4, f1, f2, f3, f4); + } + } + } else { + if constexpr (_num_fields < 7) { + if constexpr (_num_fields < 6) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 5, f1, f2, f3, f4, f5); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 6, f1, f2, f3, f4, f5, f6); + } + } else { + if constexpr (_num_fields < 8) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 7, f1, f2, f3, f4, f5, f6, f7); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 8, f1, f2, f3, f4, f5, f6, f7, f8); + } + } + } + } else { + if constexpr (_num_fields < 13) { + if constexpr (_num_fields < 11) { + if constexpr (_num_fields < 10) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 9, f1, f2, f3, f4, f5, f6, f7, f8, f9); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 10, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10); + } + } else { + if constexpr (_num_fields < 12) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 11, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 12, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12); + } + } + } else { + if constexpr (_num_fields < 15) { + if constexpr (_num_fields < 14) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 13, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 14, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14); + } + } else { + if constexpr (_num_fields < 16) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 15, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 16, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16); + } + } + } + } + } else { + if constexpr (_num_fields < 25) { + if constexpr (_num_fields < 21) { + if constexpr (_num_fields < 19) { + if constexpr (_num_fields < 18) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 17, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 18, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18); + } + } else { + if constexpr (_num_fields < 20) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 19, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 20, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20); + } + } + } else { + if constexpr (_num_fields < 23) { + if constexpr (_num_fields < 22) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 21, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 22, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22); + } + } else { + if constexpr (_num_fields < 24) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 23, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 24, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24); + } + } + } + } else { + if constexpr (_num_fields < 29) { + if constexpr (_num_fields < 27) { + if constexpr (_num_fields < 26) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 25, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 26, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26); + } + } else { + if constexpr (_num_fields < 28) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 27, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 28, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28); + } + } + } else { + if constexpr (_num_fields < 31) { + if constexpr (_num_fields < 30) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 29, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 30, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30); + } + } else { + if constexpr (_num_fields < 32) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 31, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 32, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32); + } + } + } + } + } + } else { + if constexpr (_num_fields < 49) { + if constexpr (_num_fields < 41) { + if constexpr (_num_fields < 37) { + if constexpr (_num_fields < 35) { + if constexpr (_num_fields < 34) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 33, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 34, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34); + } + } else { + if constexpr (_num_fields < 36) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 35, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 36, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36); + } + } + } else { + if constexpr (_num_fields < 39) { + if constexpr (_num_fields < 38) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 37, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 38, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38); + } + } else { + if constexpr (_num_fields < 40) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 39, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 40, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40); + } + } + } + } else { + if constexpr (_num_fields < 45) { + if constexpr (_num_fields < 43) { + if constexpr (_num_fields < 42) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 41, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 42, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42); + } + } else { + if constexpr (_num_fields < 44) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 43, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 44, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44); + } + } + } else { + if constexpr (_num_fields < 47) { + if constexpr (_num_fields < 46) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 45, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 46, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46); + } + } else { + if constexpr (_num_fields < 48) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 47, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 48, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48); + } + } + } + } + } else { + if constexpr (_num_fields < 57) { + if constexpr (_num_fields < 53) { + if constexpr (_num_fields < 51) { + if constexpr (_num_fields < 50) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 49, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 50, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50); + } + } else { + if constexpr (_num_fields < 52) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 51, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 52, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52); + } + } + } else { + if constexpr (_num_fields < 55) { + if constexpr (_num_fields < 54) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 53, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 54, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54); + } + } else { + if constexpr (_num_fields < 56) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 55, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 56, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56); + } + } + } + } else { + if constexpr (_num_fields < 61) { + if constexpr (_num_fields < 59) { + if constexpr (_num_fields < 58) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 57, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 58, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58); + } + } else { + if constexpr (_num_fields < 60) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 59, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 60, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60); + } + } + } else { + if constexpr (_num_fields < 63) { + if constexpr (_num_fields < 62) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 61, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 62, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62); + } + } else { + if constexpr (_num_fields < 64) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 63, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 64, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64); + } + } + } + } + } + } + } else { + if constexpr (_num_fields < 97) { + if constexpr (_num_fields < 81) { + if constexpr (_num_fields < 73) { + if constexpr (_num_fields < 69) { + if constexpr (_num_fields < 67) { + if constexpr (_num_fields < 66) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 65, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 66, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66); + } + } else { + if constexpr (_num_fields < 68) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 67, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 68, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68); + } + } + } else { + if constexpr (_num_fields < 71) { + if constexpr (_num_fields < 70) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 69, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 70, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70); + } + } else { + if constexpr (_num_fields < 72) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 71, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 72, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72); + } + } + } + } else { + if constexpr (_num_fields < 77) { + if constexpr (_num_fields < 75) { + if constexpr (_num_fields < 74) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 73, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 74, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74); + } + } else { + if constexpr (_num_fields < 76) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 75, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 76, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76); + } + } + } else { + if constexpr (_num_fields < 79) { + if constexpr (_num_fields < 78) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 77, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 78, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78); + } + } else { + if constexpr (_num_fields < 80) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 79, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 80, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80); + } + } + } + } + } else { + if constexpr (_num_fields < 89) { + if constexpr (_num_fields < 85) { + if constexpr (_num_fields < 83) { + if constexpr (_num_fields < 82) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 81, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 82, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82); + } + } else { + if constexpr (_num_fields < 84) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 83, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 84, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84); + } + } + } else { + if constexpr (_num_fields < 87) { + if constexpr (_num_fields < 86) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 85, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 86, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86); + } + } else { + if constexpr (_num_fields < 88) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 87, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 88, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88); + } + } + } + } else { + if constexpr (_num_fields < 93) { + if constexpr (_num_fields < 91) { + if constexpr (_num_fields < 90) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 89, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 90, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90); + } + } else { + if constexpr (_num_fields < 92) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 91, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 92, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92); + } + } + } else { + if constexpr (_num_fields < 95) { + if constexpr (_num_fields < 94) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 93, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 94, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94); + } + } else { + if constexpr (_num_fields < 96) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 95, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 96, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96); + } + } + } + } + } + } else { + if constexpr (_num_fields < 113) { + if constexpr (_num_fields < 105) { + if constexpr (_num_fields < 101) { + if constexpr (_num_fields < 99) { + if constexpr (_num_fields < 98) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 97, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 98, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98); + } + } else { + if constexpr (_num_fields < 100) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 99, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 100, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100); + } + } + } else { + if constexpr (_num_fields < 103) { + if constexpr (_num_fields < 102) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 101, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 102, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102); + } + } else { + if constexpr (_num_fields < 104) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 103, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 104, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104); + } + } + } + } else { + if constexpr (_num_fields < 109) { + if constexpr (_num_fields < 107) { + if constexpr (_num_fields < 106) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 105, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 106, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106); + } + } else { + if constexpr (_num_fields < 108) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 107, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 108, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108); + } + } + } else { + if constexpr (_num_fields < 111) { + if constexpr (_num_fields < 110) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 109, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 110, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110); + } + } else { + if constexpr (_num_fields < 112) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 111, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 112, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112); + } + } + } + } + } else { + if constexpr (_num_fields < 121) { + if constexpr (_num_fields < 117) { + if constexpr (_num_fields < 115) { + if constexpr (_num_fields < 114) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 113, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 114, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114); + } + } else { + if constexpr (_num_fields < 116) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 115, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 116, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116); + } + } + } else { + if constexpr (_num_fields < 119) { + if constexpr (_num_fields < 118) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 117, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 118, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118); + } + } else { + if constexpr (_num_fields < 120) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 119, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 120, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120); + } + } + } + } else { + if constexpr (_num_fields < 125) { + if constexpr (_num_fields < 123) { + if constexpr (_num_fields < 122) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 121, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 122, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122); + } + } else { + if constexpr (_num_fields < 124) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 123, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 124, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124); + } + } + } else { + if constexpr (_num_fields < 127) { + if constexpr (_num_fields < 126) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 125, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 126, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126); + } + } else { + if constexpr (_num_fields < 128) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 127, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 128, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128); + } + } + } + } + } + } + } + } else { + if constexpr (_num_fields < 193) { + if constexpr (_num_fields < 161) { + if constexpr (_num_fields < 145) { + if constexpr (_num_fields < 137) { + if constexpr (_num_fields < 133) { + if constexpr (_num_fields < 131) { + if constexpr (_num_fields < 130) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 129, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 130, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130); + } + } else { + if constexpr (_num_fields < 132) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 131, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 132, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132); + } + } + } else { + if constexpr (_num_fields < 135) { + if constexpr (_num_fields < 134) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 133, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 134, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134); + } + } else { + if constexpr (_num_fields < 136) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 135, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 136, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136); + } + } + } + } else { + if constexpr (_num_fields < 141) { + if constexpr (_num_fields < 139) { + if constexpr (_num_fields < 138) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 137, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 138, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138); + } + } else { + if constexpr (_num_fields < 140) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 139, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 140, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140); + } + } + } else { + if constexpr (_num_fields < 143) { + if constexpr (_num_fields < 142) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 141, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 142, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142); + } + } else { + if constexpr (_num_fields < 144) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 143, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 144, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144); + } + } + } + } + } else { + if constexpr (_num_fields < 153) { + if constexpr (_num_fields < 149) { + if constexpr (_num_fields < 147) { + if constexpr (_num_fields < 146) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 145, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 146, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146); + } + } else { + if constexpr (_num_fields < 148) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 147, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 148, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148); + } + } + } else { + if constexpr (_num_fields < 151) { + if constexpr (_num_fields < 150) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 149, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 150, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150); + } + } else { + if constexpr (_num_fields < 152) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 151, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 152, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152); + } + } + } + } else { + if constexpr (_num_fields < 157) { + if constexpr (_num_fields < 155) { + if constexpr (_num_fields < 154) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 153, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 154, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154); + } + } else { + if constexpr (_num_fields < 156) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 155, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 156, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156); + } + } + } else { + if constexpr (_num_fields < 159) { + if constexpr (_num_fields < 158) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 157, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 158, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158); + } + } else { + if constexpr (_num_fields < 160) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 159, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 160, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160); + } + } + } + } + } + } else { + if constexpr (_num_fields < 177) { + if constexpr (_num_fields < 169) { + if constexpr (_num_fields < 165) { + if constexpr (_num_fields < 163) { + if constexpr (_num_fields < 162) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 161, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 162, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162); + } + } else { + if constexpr (_num_fields < 164) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 163, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 164, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164); + } + } + } else { + if constexpr (_num_fields < 167) { + if constexpr (_num_fields < 166) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 165, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 166, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166); + } + } else { + if constexpr (_num_fields < 168) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 167, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 168, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168); + } + } + } + } else { + if constexpr (_num_fields < 173) { + if constexpr (_num_fields < 171) { + if constexpr (_num_fields < 170) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 169, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 170, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170); + } + } else { + if constexpr (_num_fields < 172) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 171, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 172, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172); + } + } + } else { + if constexpr (_num_fields < 175) { + if constexpr (_num_fields < 174) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 173, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 174, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174); + } + } else { + if constexpr (_num_fields < 176) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 175, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 176, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176); + } + } + } + } + } else { + if constexpr (_num_fields < 185) { + if constexpr (_num_fields < 181) { + if constexpr (_num_fields < 179) { + if constexpr (_num_fields < 178) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 177, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 178, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178); + } + } else { + if constexpr (_num_fields < 180) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 179, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 180, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180); + } + } + } else { + if constexpr (_num_fields < 183) { + if constexpr (_num_fields < 182) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 181, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 182, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182); + } + } else { + if constexpr (_num_fields < 184) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 183, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 184, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184); + } + } + } + } else { + if constexpr (_num_fields < 189) { + if constexpr (_num_fields < 187) { + if constexpr (_num_fields < 186) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 185, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 186, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186); + } + } else { + if constexpr (_num_fields < 188) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 187, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 188, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188); + } + } + } else { + if constexpr (_num_fields < 191) { + if constexpr (_num_fields < 190) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 189, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 190, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190); + } + } else { + if constexpr (_num_fields < 192) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 191, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 192, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192); + } + } + } + } + } + } + } else { + if constexpr (_num_fields < 225) { + if constexpr (_num_fields < 209) { + if constexpr (_num_fields < 201) { + if constexpr (_num_fields < 197) { + if constexpr (_num_fields < 195) { + if constexpr (_num_fields < 194) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 193, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 194, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194); + } + } else { + if constexpr (_num_fields < 196) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 195, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 196, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196); + } + } + } else { + if constexpr (_num_fields < 199) { + if constexpr (_num_fields < 198) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 197, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 198, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198); + } + } else { + if constexpr (_num_fields < 200) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 199, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 200, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200); + } + } + } + } else { + if constexpr (_num_fields < 205) { + if constexpr (_num_fields < 203) { + if constexpr (_num_fields < 202) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 201, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 202, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202); + } + } else { + if constexpr (_num_fields < 204) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 203, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 204, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204); + } + } + } else { + if constexpr (_num_fields < 207) { + if constexpr (_num_fields < 206) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 205, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 206, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206); + } + } else { + if constexpr (_num_fields < 208) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 207, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 208, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208); + } + } + } + } + } else { + if constexpr (_num_fields < 217) { + if constexpr (_num_fields < 213) { + if constexpr (_num_fields < 211) { + if constexpr (_num_fields < 210) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 209, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 210, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210); + } + } else { + if constexpr (_num_fields < 212) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 211, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 212, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212); + } + } + } else { + if constexpr (_num_fields < 215) { + if constexpr (_num_fields < 214) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 213, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 214, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214); + } + } else { + if constexpr (_num_fields < 216) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 215, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 216, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216); + } + } + } + } else { + if constexpr (_num_fields < 221) { + if constexpr (_num_fields < 219) { + if constexpr (_num_fields < 218) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 217, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 218, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218); + } + } else { + if constexpr (_num_fields < 220) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 219, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 220, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220); + } + } + } else { + if constexpr (_num_fields < 223) { + if constexpr (_num_fields < 222) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 221, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 222, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222); + } + } else { + if constexpr (_num_fields < 224) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 223, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 224, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224); + } + } + } + } + } + } else { + if constexpr (_num_fields < 241) { + if constexpr (_num_fields < 233) { + if constexpr (_num_fields < 229) { + if constexpr (_num_fields < 227) { + if constexpr (_num_fields < 226) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 225, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 226, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226); + } + } else { + if constexpr (_num_fields < 228) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 227, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 228, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228); + } + } + } else { + if constexpr (_num_fields < 231) { + if constexpr (_num_fields < 230) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 229, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 230, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230); + } + } else { + if constexpr (_num_fields < 232) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 231, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 232, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232); + } + } + } + } else { + if constexpr (_num_fields < 237) { + if constexpr (_num_fields < 235) { + if constexpr (_num_fields < 234) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 233, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 234, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234); + } + } else { + if constexpr (_num_fields < 236) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 235, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 236, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236); + } + } + } else { + if constexpr (_num_fields < 239) { + if constexpr (_num_fields < 238) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 237, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 238, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238); + } + } else { + if constexpr (_num_fields < 240) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 239, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 240, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240); + } + } + } + } + } else { + if constexpr (_num_fields < 249) { + if constexpr (_num_fields < 245) { + if constexpr (_num_fields < 243) { + if constexpr (_num_fields < 242) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 241, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 242, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242); + } + } else { + if constexpr (_num_fields < 244) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 243, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 244, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244); + } + } + } else { + if constexpr (_num_fields < 247) { + if constexpr (_num_fields < 246) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 245, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 246, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246); + } + } else { + if constexpr (_num_fields < 248) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 247, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 248, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248); + } + } + } + } else { + if constexpr (_num_fields < 253) { + if constexpr (_num_fields < 251) { + if constexpr (_num_fields < 250) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 249, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 250, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250); + } + } else { + if constexpr (_num_fields < 252) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 251, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 252, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251, f252); + } + } + } else { + if constexpr (_num_fields < 255) { + if constexpr (_num_fields < 254) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 253, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251, f252, f253); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 254, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251, f252, f253, + f254); + } + } else { + if constexpr (_num_fields < 256) { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 255, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251, f252, f253, + f254, f255); + } else { + RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS( + 256, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, + f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, + f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, + f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, + f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, + f57, f58, f59, f60, f61, f62, f63, f64, f65, f66, f67, + f68, f69, f70, f71, f72, f73, f74, f75, f76, f77, f78, + f79, f80, f81, f82, f83, f84, f85, f86, f87, f88, f89, + f90, f91, f92, f93, f94, f95, f96, f97, f98, f99, f100, + f101, f102, f103, f104, f105, f106, f107, f108, f109, + f110, f111, f112, f113, f114, f115, f116, f117, f118, + f119, f120, f121, f122, f123, f124, f125, f126, f127, + f128, f129, f130, f131, f132, f133, f134, f135, f136, + f137, f138, f139, f140, f141, f142, f143, f144, f145, + f146, f147, f148, f149, f150, f151, f152, f153, f154, + f155, f156, f157, f158, f159, f160, f161, f162, f163, + f164, f165, f166, f167, f168, f169, f170, f171, f172, + f173, f174, f175, f176, f177, f178, f179, f180, f181, + f182, f183, f184, f185, f186, f187, f188, f189, f190, + f191, f192, f193, f194, f195, f196, f197, f198, f199, + f200, f201, f202, f203, f204, f205, f206, f207, f208, + f209, f210, f211, f212, f213, f214, f215, f216, f217, + f218, f219, f220, f221, f222, f223, f224, f225, f226, + f227, f228, f229, f230, f231, f232, f233, f234, f235, + f236, f237, f238, f239, f240, f241, f242, f243, f244, + f245, f246, f247, f248, f249, f250, f251, f252, f253, + f254, f255, f256); + } + } + } + } + } + } + } + } + } +} + +// End of boilerplate code + +#undef RFL_INTERNAL_TUPLE_VIEW_IF_YOU_SEE_AN_ERROR_REFER_TO_DOCUMENTATION_ON_C_ARRAYS + +template +auto bind_to_tuple(T& _t) { + return bind_to_tuple_impl>(_t); +} + +template +auto bind_to_tuple(T& _t, const F& _f) { + auto view = bind_to_tuple(_t); + return [&](std::index_sequence<_is...>) { + return rfl::make_tuple(_f(rfl::get<_is>(view))...); + }(std::make_index_sequence>()); +} + +} // namespace rfl::internal::cpp20 + +#endif diff --git a/include/rfl/internal/field_index_by_name.hpp b/include/rfl/internal/cpp20/field_index_by_name.hpp similarity index 83% rename from include/rfl/internal/field_index_by_name.hpp rename to include/rfl/internal/cpp20/field_index_by_name.hpp index 52609b517..0878d5ce0 100644 --- a/include/rfl/internal/field_index_by_name.hpp +++ b/include/rfl/internal/cpp20/field_index_by_name.hpp @@ -1,32 +1,30 @@ -#ifndef RFL_INTERNAL_FIELD_INDEX_BY_NAME_HPP_ -#define RFL_INTERNAL_FIELD_INDEX_BY_NAME_HPP_ +#ifndef RFL_INTERNAL_CPP20_FIELD_INDEX_BY_NAME_HPP_ +#define RFL_INTERNAL_CPP20_FIELD_INDEX_BY_NAME_HPP_ #include #include #include -#include "StringLiteral.hpp" +#include "../StringLiteral.hpp" #include "field_index_from_ptm.hpp" #include "get_field_names.hpp" #include "get_ith_field_from_fake_object.hpp" #include "num_fields.hpp" -namespace rfl::internal { +namespace rfl::internal::cpp20 { /// Returns the name of the i-th field of T as a string_view, using the same /// fake-object name-lookup path that to_named_tuple uses. template consteval std::string_view field_name_at() { - return get_field_name_str_view()>(); + return get_field_name_str_view()>(); } template consteval std::size_t field_index_by_name_impl(std::index_sequence) { std::size_t result = static_cast(-1); - ((field_name_at() == Name.string_view() - ? (result = Is, true) - : false) || + ((field_name_at() == Name.string_view() ? (result = Is, true) + : false) || ...); return result; } @@ -64,6 +62,6 @@ struct field_value_type_at(-1)> { template using field_value_type_at_t = typename field_value_type_at::type; -} // namespace rfl::internal +} // namespace rfl::internal::cpp20 #endif diff --git a/include/rfl/internal/field_index_from_ptm.hpp b/include/rfl/internal/cpp20/field_index_from_ptm.hpp similarity index 89% rename from include/rfl/internal/field_index_from_ptm.hpp rename to include/rfl/internal/cpp20/field_index_from_ptm.hpp index 22a7366ae..49bacaa81 100644 --- a/include/rfl/internal/field_index_from_ptm.hpp +++ b/include/rfl/internal/cpp20/field_index_from_ptm.hpp @@ -1,5 +1,5 @@ -#ifndef RFL_INTERNAL_FIELD_INDEX_FROM_PTM_HPP_ -#define RFL_INTERNAL_FIELD_INDEX_FROM_PTM_HPP_ +#ifndef RFL_INTERNAL_CPP20_FIELD_INDEX_FROM_PTM_HPP_ +#define RFL_INTERNAL_CPP20_FIELD_INDEX_FROM_PTM_HPP_ #include #include @@ -13,7 +13,7 @@ #include "get_ith_field_from_fake_object.hpp" #include "num_fields.hpp" -namespace rfl::internal { +namespace rfl::internal::cpp20 { /// Finds the index of the data member designated by `FieldPtr` in T by /// comparing the address of (obj.*FieldPtr) against the addresses of T's @@ -67,8 +67,9 @@ inline constexpr std::size_t field_index_v = /// Returns the i-th field pointer of the fake object of T in the form /// `get_field_name_str_lit` expects on the current compiler. On clang the -/// pointer is wrapped in `Wrapper` because clang's parser of __PRETTY_FUNCTION__ -/// extracts the field name from the wrapper's type, not from the value. +/// pointer is wrapped in `Wrapper` because clang's parser of +/// __PRETTY_FUNCTION__ extracts the field name from the wrapper's type, not +/// from the value. template consteval auto fake_field_ptr_for_name_lookup() { #if defined(__clang__) @@ -78,6 +79,6 @@ consteval auto fake_field_ptr_for_name_lookup() { #endif } -} // namespace rfl::internal +} // namespace rfl::internal::cpp20 #endif diff --git a/include/rfl/internal/get_fake_object.hpp b/include/rfl/internal/cpp20/get_fake_object.hpp similarity index 81% rename from include/rfl/internal/get_fake_object.hpp rename to include/rfl/internal/cpp20/get_fake_object.hpp index 27f7fc5b4..2127fae7f 100644 --- a/include/rfl/internal/get_fake_object.hpp +++ b/include/rfl/internal/cpp20/get_fake_object.hpp @@ -1,8 +1,7 @@ -#ifndef RFL_INTERNAL_GETFAKEOBJECT_HPP_ -#define RFL_INTERNAL_GETFAKEOBJECT_HPP_ +#ifndef RFL_INTERNAL_CPP20_GETFAKEOBJECT_HPP_ +#define RFL_INTERNAL_CPP20_GETFAKEOBJECT_HPP_ -namespace rfl { -namespace internal { +namespace rfl::internal::cpp20 { #if __GNUC__ #ifndef __clang__ @@ -40,7 +39,6 @@ consteval const T& get_fake_object() noexcept { #pragma warning(pop) #endif -} // namespace internal -} // namespace rfl +} // namespace rfl::internal::cpp20 #endif diff --git a/include/rfl/internal/cpp20/get_field_names.hpp b/include/rfl/internal/cpp20/get_field_names.hpp new file mode 100644 index 000000000..b53956b85 --- /dev/null +++ b/include/rfl/internal/cpp20/get_field_names.hpp @@ -0,0 +1,170 @@ +#ifndef RFL_INTERNAL_CPP20_GETFIELDNAMES_HPP_ +#define RFL_INTERNAL_CPP20_GETFIELDNAMES_HPP_ + +#include +#include + +#if __has_include() +#include +#endif + +#include "../../Literal.hpp" +#include "../is_flatten_field.hpp" +#include "../is_rename.hpp" +#include "get_ith_field_from_fake_object.hpp" +#include "num_fields.hpp" + +#if __GNUC__ +#ifndef __clang__ +#pragma GCC system_header +#endif +#endif + +namespace rfl::internal::cpp20 { + +template +struct Wrapper { + using Type = T; + T v; +}; + +template +Wrapper(T) -> Wrapper; + +// This workaround is necessary for clang. +template +constexpr auto wrap(const T& arg) noexcept { + return Wrapper{arg}; +} + +template +consteval auto get_field_name_str_view() { +#if __cpp_lib_source_location >= 201907L + const auto func_name = + std::string_view{std::source_location::current().function_name()}; +#elif defined(_MSC_VER) + // Officially, we only support MSVC versions that are modern enough to contain + // , but inofficially, this might work. + const auto func_name = std::string_view{__FUNCSIG__}; +#else + const auto func_name = std::string_view{__PRETTY_FUNCTION__}; +#endif +#if defined(__clang__) + const auto split = func_name.substr(0, func_name.size() - 2); + return split.substr(split.find_last_of(":.") + 1); +#elif defined(__GNUC__) + const auto split = func_name.substr(0, func_name.size() - 2); + return split.substr(split.find_last_of(":") + 1); +#elif defined(_MSC_VER) + const auto split = func_name.substr(0, func_name.size() - 7); + return split.substr(split.rfind("->") + 2); +#else + static_assert(false, + "You are using an unsupported compiler. Please use GCC, Clang " + "or MSVC or switch to the rfl::Field-syntax."); +#endif +} + +template +consteval auto get_field_name_str_lit() { + constexpr auto name = get_field_name_str_view(); + const auto to_str_lit = [&](std::index_sequence) { + return StringLiteral{name[Ns]...}; + }; + return to_str_lit(std::make_index_sequence{}); +} + +template +auto get_field_names(); + +template +auto get_field_name() { +#if defined(__clang__) + using Type = std::remove_cvref_t::Type>>; +#else + using Type = std::remove_cvref_t>; +#endif + if constexpr (is_rename_v) { + using Name = typename Type::Name; + return Name(); + } else if constexpr (is_flatten_field_v) { + return get_field_names>(); + } else { + return rfl::Literal()>(); + } +} + +// We don't want the operator+ to apply to normal literals, +// so we introduce this wrapper. +template +struct LiteralWrapper { + Literal<_names...> literal_; +}; + +template +auto wrap_literal(const Literal<_names...>& _literal) { + return LiteralWrapper<_names...>{_literal}; +} + +template +auto operator+(const LiteralWrapper<_names1...>&, + const LiteralWrapper<_names2...>&) { + return LiteralWrapper<_names1..., _names2...>{ + rfl::Literal<_names1..., _names2...>::template from_value<0>()}; +} + +template +auto concat_literals(const Head& _head, const Tail&... _tail) { + return (wrap_literal(_head) + ... + wrap_literal(_tail)).literal_; +} + +// Special case - the struct does not contain rfl::Flatten. +template +auto concat_literals(const rfl::Literal<_head>&, + const rfl::Literal<_tail>&...) { + return rfl::Literal<_head, _tail...>::template from_value<0>(); +} + +inline auto concat_literals() { return rfl::Literal<>(); } + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundefined-var-template" +#pragma clang diagnostic ignored "-Wundefined-inline" +#endif + +template +#if __GNUC__ +#ifndef __clang__ +[[gnu::no_sanitize_undefined]] +#endif +#endif +auto get_field_names() { + using Type = std::remove_cvref_t; + if constexpr (std::is_pointer_v) { + return get_field_names>(); + } else { +#if defined(__clang__) + const auto get = [](std::index_sequence<_is...>) { + return concat_literals( + get_field_name())>()...); + }; +#else + const auto get = [](std::index_sequence<_is...>) { + return concat_literals( + get_field_name()>()...); + }; +#endif + return get(std::make_index_sequence>()); + } +} + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +} // namespace rfl::internal::cpp20 + +#endif diff --git a/include/rfl/internal/get_ith_field_from_fake_object.hpp b/include/rfl/internal/cpp20/get_ith_field_from_fake_object.hpp similarity index 99% rename from include/rfl/internal/get_ith_field_from_fake_object.hpp rename to include/rfl/internal/cpp20/get_ith_field_from_fake_object.hpp index 2820b6a6c..bebe461e5 100644 --- a/include/rfl/internal/get_ith_field_from_fake_object.hpp +++ b/include/rfl/internal/cpp20/get_ith_field_from_fake_object.hpp @@ -1,15 +1,15 @@ -#ifndef RFL_INTERNAL_GET_ITH_FIELD_FROM_FAKE_OBJECT_HPP_ -#define RFL_INTERNAL_GET_ITH_FIELD_FROM_FAKE_OBJECT_HPP_ +#ifndef RFL_INTERNAL_CPP20_GET_ITH_FIELD_FROM_FAKE_OBJECT_HPP_ +#define RFL_INTERNAL_CPP20_GET_ITH_FIELD_FROM_FAKE_OBJECT_HPP_ #include #include -#include "../always_false.hpp" +#include "../../always_false.hpp" +#include "../nth_element.hpp" #include "get_fake_object.hpp" -#include "nth_element.hpp" #include "num_fields.hpp" -namespace rfl::internal { +namespace rfl::internal::cpp20 { template struct field_extractor { @@ -2845,6 +2845,6 @@ consteval bool ith_field_is_const() { } #endif -} // namespace rfl::internal +} // namespace rfl::internal::cpp20 #endif diff --git a/include/rfl/internal/cpp20/get_type_name.hpp b/include/rfl/internal/cpp20/get_type_name.hpp new file mode 100644 index 000000000..b3b4f5cc1 --- /dev/null +++ b/include/rfl/internal/cpp20/get_type_name.hpp @@ -0,0 +1,61 @@ +#ifndef RFL_INTERNAL_CPP20_GETTYPENAME_HPP_ +#define RFL_INTERNAL_CPP20_GETTYPENAME_HPP_ + +#include + +#include "../StringLiteral.hpp" + +#if __has_include() +#include +#endif + +namespace rfl::internal::cpp20 { + +template +consteval auto get_type_name_str_view() { +#if __cpp_lib_source_location >= 201907L + const auto func_name = + std::string_view{std::source_location::current().function_name()}; +#elif defined(_MSC_VER) + // Officially, we only support MSVC versions that are modern enough to contain + // , but inofficially, this might work. + const auto func_name = std::string_view{__FUNCSIG__}; +#else + const auto func_name = std::string_view{__PRETTY_FUNCTION__}; +#endif +#if defined(__clang__) + const auto split = func_name.substr(0, func_name.size() - 1); + return split.substr(split.find("T = ") + 4); +#elif defined(__GNUC__) + const auto split = func_name.substr(0, func_name.size() - 1); + return split.substr(split.find("T = ") + 4); +#elif defined(_MSC_VER) + auto split = func_name.substr(0, func_name.size() - 7); + split = split.substr(split.find("get_type_name_str_view<") + 23); + auto pos = split.find(" "); + if (pos != std::string_view::npos) { + return split.substr(pos + 1); + } + return split; +#else + static_assert( + false, + "You are using an unsupported compiler. Please use GCC, Clang " + "or MSVC or explicitly tag your structs using 'Tag' or 'Name'."); +#endif +} + +template +consteval auto get_type_name() { + static_assert(get_type_name_str_view() == "int", + "Expected 'int', got something else."); + constexpr auto name = get_type_name_str_view(); + const auto to_str_lit = [&](std::index_sequence) { + return StringLiteral{name[Ns]...}; + }; + return to_str_lit(std::make_index_sequence{}); +} + +} // namespace rfl::internal::cpp20 + +#endif diff --git a/include/rfl/internal/num_fields.hpp b/include/rfl/internal/cpp20/num_fields.hpp similarity index 97% rename from include/rfl/internal/num_fields.hpp rename to include/rfl/internal/cpp20/num_fields.hpp index 39de8b4a8..c4f961ed8 100644 --- a/include/rfl/internal/num_fields.hpp +++ b/include/rfl/internal/cpp20/num_fields.hpp @@ -1,5 +1,5 @@ -#ifndef RFL_INTERNAL_NUM_FIELDS_HPP_ -#define RFL_INTERNAL_NUM_FIELDS_HPP_ +#ifndef RFL_INTERNAL_CPP20_NUM_FIELDS_HPP_ +#define RFL_INTERNAL_CPP20_NUM_FIELDS_HPP_ /* We infer the number of fields using by figuring out how many fields @@ -45,8 +45,7 @@ This is the purpose of get_nested_array_size(). #pragma clang diagnostic ignored "-Wundefined-inline" #endif -namespace rfl { -namespace internal { +namespace rfl::internal::cpp20 { template struct any_empty_base { @@ -206,8 +205,7 @@ struct CountFieldsHelper { template constexpr std::size_t num_fields = CountFieldsHelper::count_fields(); -} // namespace internal -} // namespace rfl +} // namespace rfl::internal::cpp20 #ifdef __clang__ #pragma clang diagnostic pop diff --git a/include/rfl/internal/cpp20/settings.hpp b/include/rfl/internal/cpp20/settings.hpp new file mode 100644 index 000000000..a5c79fedb --- /dev/null +++ b/include/rfl/internal/cpp20/settings.hpp @@ -0,0 +1,70 @@ + +#ifndef RFL_INTERNAL_CPP20_SETTINGS_HPP_ +#define RFL_INTERNAL_CPP20_SETTINGS_HPP_ + +#include +#include +#include + +#include "../../Field.hpp" +#include "../../replace.hpp" +#include "../StringLiteral.hpp" +#include "../get_field_names.hpp" +#include "field_index_by_name.hpp" +#include "field_index_from_ptm.hpp" +#include "get_ith_field_from_fake_object.hpp" + +namespace rfl::internal::cpp20 { + +template +struct member_ptr_traits : std::false_type {}; + +template +struct member_ptr_traits + : std::bool_constant && + std::is_const_v> {}; + +template +concept const_member_of = member_ptr_traits::value; + +/// Returns a copy of `_obj` with the field designated by `FieldPtr` replaced +/// by `_value`. Used as the body of the with() method generated by +/// RFL_SETTINGS_OPS. Field name is recovered through the fake-object path +/// that the rest of reflect-cpp uses, so MSVC parses it correctly. +template + requires const_member_of +T settings_with_replaced( + const T& _obj, + std::remove_const_t< + std::remove_reference_t().*FieldPtr)>> + _value) { + constexpr std::size_t I = field_index_v; + static_assert( + I != static_cast(-1), + "FieldPtr does not refer to a non-static data member of T. " + "Make sure you pass &T::field, where field is declared inside T."); + constexpr auto name = + get_field_name_str_lit()>(); + return rfl::replace(_obj, rfl::make_field(std::move(_value))); +} + +/// Returns a copy of `_obj` with the field with the given Name replaced by +/// `_value`. Used as the body of the with<"name">() overload generated by +/// RFL_SETTINGS_OPS. +template +T settings_with_replaced_by_name( + const T& _obj, + field_value_type_at_t> _value) { + constexpr std::size_t I = field_index_by_name_v; + static_assert(I != static_cast(-1), + "No field with the given name exists in T."); +#ifdef _MSC_VER + static_assert(ith_field_is_const(I)>(), + "Fields in Settings structs must be const."); +#endif + return rfl::replace(_obj, rfl::make_field(std::move(_value))); +} + +} // namespace rfl::internal::cpp20 +#endif diff --git a/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp b/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp new file mode 100644 index 000000000..f3716898e --- /dev/null +++ b/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp @@ -0,0 +1,102 @@ +#ifndef RFL_INTERNAL_CPP20_TO_PTR_NAMED_TUPLE_HPP_ +#define RFL_INTERNAL_CPP20_TO_PTR_NAMED_TUPLE_HPP_ + +#include "../../Tuple.hpp" +#include "../../always_false.hpp" +#include "../../field_names_t.hpp" +#include "../../make_named_tuple.hpp" +#include "../copy_flattened_tuple_to_named_tuple.hpp" +#include "../has_fields.hpp" +#include "../has_flatten_fields.hpp" +#include "../is_empty.hpp" +#include "../is_field.hpp" +#include "../is_named_tuple.hpp" +#include "../no_duplicate_field_names.hpp" +#include "../to_flattened_ptr_tuple.hpp" +#include "../to_ptr_field_tuple.hpp" +#include "../to_ptr_tuple.hpp" + +namespace rfl::internal::cpp20 { + +template +auto flatten_ptr_field_tuple(PtrFieldTuple& _t) { + const auto get_one = [&](std::integral_constant) { + using T = tuple_element_t<_i, std::remove_cvref_t>; + if constexpr (internal::is_flatten_field::value) { + auto subtuple = to_ptr_field_tuple(*rfl::get<_i>(_t).get()); + return flatten_ptr_field_tuple(subtuple); + } else { + return rfl::make_tuple(rfl::get<_i>(_t)); + } + }; + + constexpr auto size = rfl::tuple_size_v>; + + return [&](std::integer_sequence) { + return rfl::tuple_cat(get_one(std::integral_constant{})...); + }(std::make_integer_sequence()); +} + +template +auto field_tuple_to_named_tuple(PtrFieldTuple& _ptr_field_tuple) { + const auto ft_to_nt = [](Fields&&... _fields) { + return make_named_tuple(_fields...); + }; + + if constexpr (!has_flatten_fields>()) { + return rfl::apply(ft_to_nt, std::move(_ptr_field_tuple)); + } else { + const auto flattened_tuple = flatten_ptr_field_tuple(_ptr_field_tuple); + auto named_tuple = rfl::apply(ft_to_nt, flattened_tuple); + static_assert( + no_duplicate_field_names< + typename std::remove_cvref_t::Fields>(), + "Flattening created duplicate field names."); + return named_tuple; + } +} + +/// Generates a named tuple that contains pointers to the original values in +/// the struct. +template +auto to_ptr_named_tuple(T&& _t) { + if constexpr (has_fields>()) { + if constexpr (std::is_pointer_v>) { + return to_ptr_named_tuple(*_t); + + } else if constexpr (is_named_tuple_v>) { + return nt_to_ptr_named_tuple(_t); + + } else { + auto ptr_field_tuple = to_ptr_field_tuple(_t); + return field_tuple_to_named_tuple(ptr_field_tuple); + } + + } else if constexpr (is_empty()) { + return rfl::NamedTuple<>(); + + } else { + auto ptr_tuple = to_ptr_tuple(_t); + + using PtrTuple = std::remove_cvref_t; + + if constexpr (!has_flatten_fields()) { + return copy_flattened_tuple_to_named_tuple>(ptr_tuple); + + } else { + using FieldNames = rfl::field_names_t; + auto flattened_ptr_tuple = to_flattened_ptr_tuple(_t); + auto named_tuple = + copy_flattened_tuple_to_named_tuple(flattened_ptr_tuple); + static_assert( + no_duplicate_field_names< + typename std::remove_cvref_t::Fields>(), + "Flattening created duplicate field names."); + return named_tuple; + } + } +} + +} // namespace rfl::internal::cpp20 + +#endif diff --git a/include/rfl/internal/field_tuple_t.hpp b/include/rfl/internal/field_tuple_t.hpp index 186b12f04..bf0e473d4 100644 --- a/include/rfl/internal/field_tuple_t.hpp +++ b/include/rfl/internal/field_tuple_t.hpp @@ -5,14 +5,12 @@ #include "copy_to_field_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template using field_tuple_t = typename std::invoke_result), T>::type; -} -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/get_field_names.hpp b/include/rfl/internal/get_field_names.hpp index 683d5c756..5c35d2ed2 100644 --- a/include/rfl/internal/get_field_names.hpp +++ b/include/rfl/internal/get_field_names.hpp @@ -1,170 +1,23 @@ #ifndef RFL_INTERNAL_GETFIELDNAMES_HPP_ #define RFL_INTERNAL_GETFIELDNAMES_HPP_ -#include -#include - -#if __has_include() -#include -#endif - -#include "../Literal.hpp" -#include "get_ith_field_from_fake_object.hpp" -#include "is_flatten_field.hpp" -#include "is_rename.hpp" -#include "num_fields.hpp" - -#if __GNUC__ -#ifndef __clang__ -#pragma GCC system_header -#endif -#endif - -namespace rfl::internal { - -template -struct Wrapper { - using Type = T; - T v; -}; - -template -Wrapper(T) -> Wrapper; - -// This workaround is necessary for clang. -template -constexpr auto wrap(const T& arg) noexcept { - return Wrapper{arg}; -} - -template -consteval auto get_field_name_str_view() { -#if __cpp_lib_source_location >= 201907L - const auto func_name = - std::string_view{std::source_location::current().function_name()}; -#elif defined(_MSC_VER) - // Officially, we only support MSVC versions that are modern enough to contain - // , but inofficially, this might work. - const auto func_name = std::string_view{__FUNCSIG__}; +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/get_field_names.hpp" #else - const auto func_name = std::string_view{__PRETTY_FUNCTION__}; +// TODO #endif -#if defined(__clang__) - const auto split = func_name.substr(0, func_name.size() - 2); - return split.substr(split.find_last_of(":.") + 1); -#elif defined(__GNUC__) - const auto split = func_name.substr(0, func_name.size() - 2); - return split.substr(split.find_last_of(":") + 1); -#elif defined(_MSC_VER) - const auto split = func_name.substr(0, func_name.size() - 7); - return split.substr(split.rfind("->") + 2); -#else - static_assert(false, - "You are using an unsupported compiler. Please use GCC, Clang " - "or MSVC or switch to the rfl::Field-syntax."); -#endif -} -template -consteval auto get_field_name_str_lit() { - constexpr auto name = get_field_name_str_view(); - const auto to_str_lit = [&](std::index_sequence) { - return StringLiteral{name[Ns]...}; - }; - return to_str_lit(std::make_index_sequence{}); -} - -template -auto get_field_names(); - -template -auto get_field_name() { -#if defined(__clang__) - using Type = std::remove_cvref_t::Type>>; -#else - using Type = std::remove_cvref_t>; -#endif - if constexpr (is_rename_v) { - using Name = typename Type::Name; - return Name(); - } else if constexpr (is_flatten_field_v) { - return get_field_names>(); - } else { - return rfl::Literal()>(); - } -} - -// We don't want the operator+ to apply to normal literals, -// so we introduce this wrapper. -template -struct LiteralWrapper { - Literal<_names...> literal_; -}; - -template -auto wrap_literal(const Literal<_names...>& _literal) { - return LiteralWrapper<_names...>{_literal}; -} - -template -auto operator+(const LiteralWrapper<_names1...>&, - const LiteralWrapper<_names2...>&) { - return LiteralWrapper<_names1..., _names2...>{ - rfl::Literal<_names1..., _names2...>::template from_value<0>()}; -} - -template -auto concat_literals(const Head& _head, const Tail&... _tail) { - return (wrap_literal(_head) + ... + wrap_literal(_tail)).literal_; -} - -// Special case - the struct does not contain rfl::Flatten. -template -auto concat_literals(const rfl::Literal<_head>&, - const rfl::Literal<_tail>&...) { - return rfl::Literal<_head, _tail...>::template from_value<0>(); -} - -inline auto concat_literals() { return rfl::Literal<>(); } - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wundefined-var-template" -#pragma clang diagnostic ignored "-Wundefined-inline" -#endif +namespace rfl::internal { template -#if __GNUC__ -#ifndef __clang__ -[[gnu::no_sanitize_undefined]] -#endif -#endif auto get_field_names() { - using Type = std::remove_cvref_t; - if constexpr (std::is_pointer_v) { - return get_field_names>(); - } else { -#if defined(__clang__) - const auto get = [](std::index_sequence<_is...>) { - return concat_literals( - get_field_name())>()...); - }; +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::get_field_names(); #else - const auto get = [](std::index_sequence<_is...>) { - return concat_literals( - get_field_name()>()...); - }; +// TODO #endif - return get(std::make_index_sequence>()); - } } -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - } // namespace rfl::internal #endif diff --git a/include/rfl/internal/get_type_name.hpp b/include/rfl/internal/get_type_name.hpp index 38ab1c4c4..20c3f3b0a 100644 --- a/include/rfl/internal/get_type_name.hpp +++ b/include/rfl/internal/get_type_name.hpp @@ -1,63 +1,23 @@ #ifndef RFL_INTERNAL_GETTYPENAME_HPP_ #define RFL_INTERNAL_GETTYPENAME_HPP_ -#include - -#include "StringLiteral.hpp" - -#if __has_include() -#include +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/get_type_name.hpp" +#else +// TODO #endif -namespace rfl { -namespace internal { +namespace rfl::internal { template -consteval auto get_type_name_str_view() { -#if __cpp_lib_source_location >= 201907L - const auto func_name = - std::string_view{std::source_location::current().function_name()}; -#elif defined(_MSC_VER) - // Officially, we only support MSVC versions that are modern enough to contain - // , but inofficially, this might work. - const auto func_name = std::string_view{__FUNCSIG__}; -#else - const auto func_name = std::string_view{__PRETTY_FUNCTION__}; -#endif -#if defined(__clang__) - const auto split = func_name.substr(0, func_name.size() - 1); - return split.substr(split.find("T = ") + 4); -#elif defined(__GNUC__) - const auto split = func_name.substr(0, func_name.size() - 1); - return split.substr(split.find("T = ") + 4); -#elif defined(_MSC_VER) - auto split = func_name.substr(0, func_name.size() - 7); - split = split.substr(split.find("get_type_name_str_view<") + 23); - auto pos = split.find(" "); - if (pos != std::string_view::npos) { - return split.substr(pos + 1); - } - return split; +consteval auto get_type_name() { +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::get_type_name(); #else - static_assert( - false, - "You are using an unsupported compiler. Please use GCC, Clang " - "or MSVC or explicitly tag your structs using 'Tag' or 'Name'."); +// TODO #endif } -template -consteval auto get_type_name() { - static_assert(get_type_name_str_view() == "int", - "Expected 'int', got something else."); - constexpr auto name = get_type_name_str_view(); - const auto to_str_lit = [&](std::index_sequence) { - return StringLiteral{name[Ns]...}; - }; - return to_str_lit(std::make_index_sequence{}); -} - -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/move_to_field_tuple.hpp b/include/rfl/internal/move_to_field_tuple.hpp index be647e6b8..aad04ce80 100644 --- a/include/rfl/internal/move_to_field_tuple.hpp +++ b/include/rfl/internal/move_to_field_tuple.hpp @@ -12,8 +12,7 @@ #include "is_named_tuple.hpp" #include "wrap_in_fields.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template auto move_to_field_tuple(OriginalStruct&& _t) { @@ -39,7 +38,6 @@ auto move_to_field_tuple(OriginalStruct&& _t) { } } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/ptr_field_tuple_t.hpp b/include/rfl/internal/ptr_field_tuple_t.hpp index 9b20a9b9a..dd6a55f58 100644 --- a/include/rfl/internal/ptr_field_tuple_t.hpp +++ b/include/rfl/internal/ptr_field_tuple_t.hpp @@ -3,13 +3,11 @@ #include "to_ptr_field_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template using ptr_field_tuple_t = decltype(to_ptr_field_tuple(std::declval())); -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/ptr_named_tuple_t.hpp b/include/rfl/internal/ptr_named_tuple_t.hpp index f8c88ef07..e1b958084 100644 --- a/include/rfl/internal/ptr_named_tuple_t.hpp +++ b/include/rfl/internal/ptr_named_tuple_t.hpp @@ -3,17 +3,14 @@ #include -//#include "is_named_tuple.hpp"//Not here #include "to_ptr_named_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template using ptr_named_tuple_t = std::invoke_result_t), T>; -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/ptr_tuple_t.hpp b/include/rfl/internal/ptr_tuple_t.hpp index 1a11965ec..599c03801 100644 --- a/include/rfl/internal/ptr_tuple_t.hpp +++ b/include/rfl/internal/ptr_tuple_t.hpp @@ -3,13 +3,11 @@ #include "to_ptr_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template using ptr_tuple_t = decltype(to_ptr_tuple(std::declval())); -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/to_flattened_ptr_tuple.hpp b/include/rfl/internal/to_flattened_ptr_tuple.hpp index 2287d94a0..b57df7321 100644 --- a/include/rfl/internal/to_flattened_ptr_tuple.hpp +++ b/include/rfl/internal/to_flattened_ptr_tuple.hpp @@ -7,8 +7,7 @@ #include "is_flatten_field.hpp" #include "to_ptr_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template auto flatten_ptr_tuple(PtrTuple&& _t) { @@ -28,8 +27,7 @@ auto flatten_ptr_tuple(PtrTuple&& _t) { return [&](std::integer_sequence) { return rfl::tuple_cat(get_one(std::integral_constant{})...); - } - (std::make_integer_sequence()); + }(std::make_integer_sequence()); } } @@ -38,7 +36,6 @@ auto to_flattened_ptr_tuple(T&& _t) { return flatten_ptr_tuple(to_ptr_tuple(_t)); } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/to_ptr_field.hpp b/include/rfl/internal/to_ptr_field.hpp index 0db97cc3a..27a52f650 100644 --- a/include/rfl/internal/to_ptr_field.hpp +++ b/include/rfl/internal/to_ptr_field.hpp @@ -8,8 +8,7 @@ #include "../always_false.hpp" #include "StringLiteral.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template inline auto to_ptr_field(Field<_name, Type>& _field) { @@ -35,7 +34,6 @@ inline auto to_ptr_field(const Flatten& _field) { return Flatten(&_field.value_); } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/to_ptr_named_tuple.hpp b/include/rfl/internal/to_ptr_named_tuple.hpp index b2d9f575b..7d6f41262 100644 --- a/include/rfl/internal/to_ptr_named_tuple.hpp +++ b/include/rfl/internal/to_ptr_named_tuple.hpp @@ -1,100 +1,21 @@ #ifndef RFL_INTERNAL_TO_PTR_NAMED_TUPLE_HPP_ #define RFL_INTERNAL_TO_PTR_NAMED_TUPLE_HPP_ -#include "../Tuple.hpp" -#include "../always_false.hpp" -#include "../field_names_t.hpp" -#include "../make_named_tuple.hpp" -#include "copy_flattened_tuple_to_named_tuple.hpp" -#include "has_fields.hpp" -#include "has_flatten_fields.hpp" -#include "is_empty.hpp" -#include "is_field.hpp" -#include "is_named_tuple.hpp" -#include "no_duplicate_field_names.hpp" -#include "to_flattened_ptr_tuple.hpp" -#include "to_ptr_field_tuple.hpp" -#include "to_ptr_tuple.hpp" +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/to_ptr_named_tuple.hpp" +#else +// TODO +#endif namespace rfl::internal { -template -auto flatten_ptr_field_tuple(PtrFieldTuple& _t) { - const auto get_one = [&](std::integral_constant) { - using T = tuple_element_t<_i, std::remove_cvref_t>; - if constexpr (internal::is_flatten_field::value) { - auto subtuple = internal::to_ptr_field_tuple(*rfl::get<_i>(_t).get()); - return flatten_ptr_field_tuple(subtuple); - } else { - return rfl::make_tuple(rfl::get<_i>(_t)); - } - }; - - constexpr auto size = rfl::tuple_size_v>; - - return [&](std::integer_sequence) { - return rfl::tuple_cat(get_one(std::integral_constant{})...); - }(std::make_integer_sequence()); -} - -template -auto field_tuple_to_named_tuple(PtrFieldTuple& _ptr_field_tuple) { - const auto ft_to_nt = [](Fields&&... _fields) { - return make_named_tuple(_fields...); - }; - - if constexpr (!has_flatten_fields>()) { - return rfl::apply(ft_to_nt, std::move(_ptr_field_tuple)); - } else { - const auto flattened_tuple = flatten_ptr_field_tuple(_ptr_field_tuple); - auto named_tuple = rfl::apply(ft_to_nt, flattened_tuple); - static_assert( - no_duplicate_field_names< - typename std::remove_cvref_t::Fields>(), - "Flattening created duplicate field names."); - return named_tuple; - } -} - -/// Generates a named tuple that contains pointers to the original values in -/// the struct. template auto to_ptr_named_tuple(T&& _t) { - if constexpr (has_fields>()) { - if constexpr (std::is_pointer_v>) { - return to_ptr_named_tuple(*_t); - - } else if constexpr (is_named_tuple_v>) { - return nt_to_ptr_named_tuple(_t); - - } else { - auto ptr_field_tuple = to_ptr_field_tuple(_t); - return field_tuple_to_named_tuple(ptr_field_tuple); - } - - } else if constexpr (is_empty()) { - return rfl::NamedTuple<>(); - - } else { - auto ptr_tuple = to_ptr_tuple(_t); - - using PtrTuple = std::remove_cvref_t; - - if constexpr (!has_flatten_fields()) { - return copy_flattened_tuple_to_named_tuple>(ptr_tuple); - - } else { - using FieldNames = rfl::field_names_t; - auto flattened_ptr_tuple = to_flattened_ptr_tuple(_t); - auto named_tuple = - copy_flattened_tuple_to_named_tuple(flattened_ptr_tuple); - static_assert( - no_duplicate_field_names< - typename std::remove_cvref_t::Fields>(), - "Flattening created duplicate field names."); - return named_tuple; - } - } +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return internal::cpp20::to_ptr_named_tuple(std::forward(_t)); +#else + // TODO +#endif } } // namespace rfl::internal diff --git a/include/rfl/internal/to_ptr_tuple.hpp b/include/rfl/internal/to_ptr_tuple.hpp index 076a5e534..7cc73faff 100644 --- a/include/rfl/internal/to_ptr_tuple.hpp +++ b/include/rfl/internal/to_ptr_tuple.hpp @@ -5,8 +5,7 @@ #include "bind_to_tuple.hpp" -namespace rfl { -namespace internal { +namespace rfl::internal { template auto to_ptr_tuple(T& _t) { @@ -17,7 +16,6 @@ auto to_ptr_tuple(T& _t) { } } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/num_fields.hpp b/include/rfl/num_fields.hpp index c4f167761..ebb03568d 100644 --- a/include/rfl/num_fields.hpp +++ b/include/rfl/num_fields.hpp @@ -1,15 +1,22 @@ #ifndef RFL_NUM_FIELDS_HPP_ #define RFL_NUM_FIELDS_HPP_ -#include "internal/num_fields.hpp" +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "internal/cpp20/num_fields.hpp" +#else +// TODO +#endif namespace rfl { /// Returns the number of fields in struct T at compile time. -/// This uses structured bindings to count the fields. /// @tparam T The struct type to count fields for +#ifndef REFLECTCPP_USE_CPP_REFLECTION template -constexpr std::size_t num_fields = internal::num_fields; +constexpr std::size_t num_fields = internal::cpp20::num_fields; +#else +// TODO +#endif } // namespace rfl From 94f09130ed5d6bc1fdb9264162cd55f51cda4420 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Wed, 12 Aug 2026 00:52:05 +0200 Subject: [PATCH 02/20] Implemented bind_to_tuple and num_fields --- include/rfl/internal/cpp26/bind_to_tuple.hpp | 21 ++++++++++++++++++++ include/rfl/internal/cpp26/num_fields.hpp | 15 ++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 include/rfl/internal/cpp26/bind_to_tuple.hpp create mode 100644 include/rfl/internal/cpp26/num_fields.hpp diff --git a/include/rfl/internal/cpp26/bind_to_tuple.hpp b/include/rfl/internal/cpp26/bind_to_tuple.hpp new file mode 100644 index 000000000..ce7b6fe32 --- /dev/null +++ b/include/rfl/internal/cpp26/bind_to_tuple.hpp @@ -0,0 +1,21 @@ +#ifndef RFL_INTERNAL_CPP26_BIND_TO_TUPLE_HPP_ +#define RFL_INTERNAL_CPP26_BIND_TO_TUPLE_HPP_ + +#include +#include +#include +#include + +#include "../../Tuple.hpp" + +namespace rfl::internal::cpp26 { + +template +auto bind_to_tuple(T& _t) { + auto& [... xs] = _t; + return rfl::make_tuple(&xs...); +} + +} // namespace rfl::internal::cpp26 + +#endif diff --git a/include/rfl/internal/cpp26/num_fields.hpp b/include/rfl/internal/cpp26/num_fields.hpp new file mode 100644 index 000000000..deeb061d2 --- /dev/null +++ b/include/rfl/internal/cpp26/num_fields.hpp @@ -0,0 +1,15 @@ +#ifndef RFL_INTERNAL_CPP26_NUM_FIELDS_HPP_ +#define RFL_INTERNAL_CPP26_NUM_FIELDS_HPP_ + +#include "../../Tuple.hpp" +#include "bind_to_tuple.hpp" + +namespace rfl::internal::cpp26 { + +template +constexpr std::size_t num_fields = + tuple_size_v()))>; + +} // namespace rfl::internal::cpp26 + +#endif From bd1ca57b3779d0ac63fedd0e8ab1cd9e82b1b056 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Wed, 12 Aug 2026 01:07:59 +0200 Subject: [PATCH 03/20] Adapted surrounding headers --- include/rfl/internal/bind_to_tuple.hpp | 13 ++- include/rfl/internal/cpp20/bind_to_tuple.hpp | 8 -- .../rfl/internal/cpp20/to_ptr_named_tuple.hpp | 102 ------------------ include/rfl/internal/get_field_names.hpp | 16 +-- include/rfl/internal/get_type_name.hpp | 18 ++-- include/rfl/internal/to_ptr_named_tuple.hpp | 99 +++++++++++++++-- include/rfl/num_fields.hpp | 5 +- 7 files changed, 115 insertions(+), 146 deletions(-) delete mode 100644 include/rfl/internal/cpp20/to_ptr_named_tuple.hpp diff --git a/include/rfl/internal/bind_to_tuple.hpp b/include/rfl/internal/bind_to_tuple.hpp index 745f9e56d..2bcfbd8be 100644 --- a/include/rfl/internal/bind_to_tuple.hpp +++ b/include/rfl/internal/bind_to_tuple.hpp @@ -4,7 +4,7 @@ #ifndef REFLECTCPP_USE_CPP_REFLECTION #include "cpp20/bind_to_tuple.hpp" #else -// TODO +#include "cpp26/bind_to_tuple.hpp" #endif namespace rfl::internal { @@ -14,17 +14,16 @@ auto bind_to_tuple(T& _t) { #ifndef REFLECTCPP_USE_CPP_REFLECTION return cpp20::bind_to_tuple(_t); #else - // TODO + return cpp26::bind_to_tuple(_t); #endif } template auto bind_to_tuple(T& _t, const F& _f) { -#ifndef REFLECTCPP_USE_CPP_REFLECTION - return cpp20::bind_to_tuple(_t, _f); -#else - // TODO -#endif + auto view = bind_to_tuple(_t); + return [&](std::index_sequence<_is...>) { + return rfl::make_tuple(_f(rfl::get<_is>(view))...); + }(std::make_index_sequence>()); } } // namespace rfl::internal diff --git a/include/rfl/internal/cpp20/bind_to_tuple.hpp b/include/rfl/internal/cpp20/bind_to_tuple.hpp index d3b7bb196..54e795e90 100644 --- a/include/rfl/internal/cpp20/bind_to_tuple.hpp +++ b/include/rfl/internal/cpp20/bind_to_tuple.hpp @@ -4387,14 +4387,6 @@ auto bind_to_tuple(T& _t) { return bind_to_tuple_impl>(_t); } -template -auto bind_to_tuple(T& _t, const F& _f) { - auto view = bind_to_tuple(_t); - return [&](std::index_sequence<_is...>) { - return rfl::make_tuple(_f(rfl::get<_is>(view))...); - }(std::make_index_sequence>()); -} - } // namespace rfl::internal::cpp20 #endif diff --git a/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp b/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp deleted file mode 100644 index f3716898e..000000000 --- a/include/rfl/internal/cpp20/to_ptr_named_tuple.hpp +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef RFL_INTERNAL_CPP20_TO_PTR_NAMED_TUPLE_HPP_ -#define RFL_INTERNAL_CPP20_TO_PTR_NAMED_TUPLE_HPP_ - -#include "../../Tuple.hpp" -#include "../../always_false.hpp" -#include "../../field_names_t.hpp" -#include "../../make_named_tuple.hpp" -#include "../copy_flattened_tuple_to_named_tuple.hpp" -#include "../has_fields.hpp" -#include "../has_flatten_fields.hpp" -#include "../is_empty.hpp" -#include "../is_field.hpp" -#include "../is_named_tuple.hpp" -#include "../no_duplicate_field_names.hpp" -#include "../to_flattened_ptr_tuple.hpp" -#include "../to_ptr_field_tuple.hpp" -#include "../to_ptr_tuple.hpp" - -namespace rfl::internal::cpp20 { - -template -auto flatten_ptr_field_tuple(PtrFieldTuple& _t) { - const auto get_one = [&](std::integral_constant) { - using T = tuple_element_t<_i, std::remove_cvref_t>; - if constexpr (internal::is_flatten_field::value) { - auto subtuple = to_ptr_field_tuple(*rfl::get<_i>(_t).get()); - return flatten_ptr_field_tuple(subtuple); - } else { - return rfl::make_tuple(rfl::get<_i>(_t)); - } - }; - - constexpr auto size = rfl::tuple_size_v>; - - return [&](std::integer_sequence) { - return rfl::tuple_cat(get_one(std::integral_constant{})...); - }(std::make_integer_sequence()); -} - -template -auto field_tuple_to_named_tuple(PtrFieldTuple& _ptr_field_tuple) { - const auto ft_to_nt = [](Fields&&... _fields) { - return make_named_tuple(_fields...); - }; - - if constexpr (!has_flatten_fields>()) { - return rfl::apply(ft_to_nt, std::move(_ptr_field_tuple)); - } else { - const auto flattened_tuple = flatten_ptr_field_tuple(_ptr_field_tuple); - auto named_tuple = rfl::apply(ft_to_nt, flattened_tuple); - static_assert( - no_duplicate_field_names< - typename std::remove_cvref_t::Fields>(), - "Flattening created duplicate field names."); - return named_tuple; - } -} - -/// Generates a named tuple that contains pointers to the original values in -/// the struct. -template -auto to_ptr_named_tuple(T&& _t) { - if constexpr (has_fields>()) { - if constexpr (std::is_pointer_v>) { - return to_ptr_named_tuple(*_t); - - } else if constexpr (is_named_tuple_v>) { - return nt_to_ptr_named_tuple(_t); - - } else { - auto ptr_field_tuple = to_ptr_field_tuple(_t); - return field_tuple_to_named_tuple(ptr_field_tuple); - } - - } else if constexpr (is_empty()) { - return rfl::NamedTuple<>(); - - } else { - auto ptr_tuple = to_ptr_tuple(_t); - - using PtrTuple = std::remove_cvref_t; - - if constexpr (!has_flatten_fields()) { - return copy_flattened_tuple_to_named_tuple>(ptr_tuple); - - } else { - using FieldNames = rfl::field_names_t; - auto flattened_ptr_tuple = to_flattened_ptr_tuple(_t); - auto named_tuple = - copy_flattened_tuple_to_named_tuple(flattened_ptr_tuple); - static_assert( - no_duplicate_field_names< - typename std::remove_cvref_t::Fields>(), - "Flattening created duplicate field names."); - return named_tuple; - } - } -} - -} // namespace rfl::internal::cpp20 - -#endif diff --git a/include/rfl/internal/get_field_names.hpp b/include/rfl/internal/get_field_names.hpp index 5c35d2ed2..d2fc3ef2f 100644 --- a/include/rfl/internal/get_field_names.hpp +++ b/include/rfl/internal/get_field_names.hpp @@ -1,21 +1,21 @@ #ifndef RFL_INTERNAL_GETFIELDNAMES_HPP_ #define RFL_INTERNAL_GETFIELDNAMES_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +// #ifndef REFLECTCPP_USE_CPP_REFLECTION #include "cpp20/get_field_names.hpp" -#else -// TODO -#endif +// #else +// TODO +// #endif namespace rfl::internal { template auto get_field_names() { -#ifndef REFLECTCPP_USE_CPP_REFLECTION + // #ifndef REFLECTCPP_USE_CPP_REFLECTION return cpp20::get_field_names(); -#else -// TODO -#endif + // #else + // TODO + // #endif } } // namespace rfl::internal diff --git a/include/rfl/internal/get_type_name.hpp b/include/rfl/internal/get_type_name.hpp index 20c3f3b0a..a873ea84d 100644 --- a/include/rfl/internal/get_type_name.hpp +++ b/include/rfl/internal/get_type_name.hpp @@ -1,21 +1,21 @@ #ifndef RFL_INTERNAL_GETTYPENAME_HPP_ #define RFL_INTERNAL_GETTYPENAME_HPP_ - -#ifndef REFLECTCPP_USE_CPP_REFLECTION -#include "cpp20/get_type_name.hpp" -#else // TODO -#endif +// #ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/get_type_name.hpp" +// #else +// TODO +// #endif namespace rfl::internal { template consteval auto get_type_name() { -#ifndef REFLECTCPP_USE_CPP_REFLECTION + // #ifndef REFLECTCPP_USE_CPP_REFLECTION return cpp20::get_type_name(); -#else -// TODO -#endif + // #else + // TODO + // #endif } } // namespace rfl::internal diff --git a/include/rfl/internal/to_ptr_named_tuple.hpp b/include/rfl/internal/to_ptr_named_tuple.hpp index 7d6f41262..f284620bb 100644 --- a/include/rfl/internal/to_ptr_named_tuple.hpp +++ b/include/rfl/internal/to_ptr_named_tuple.hpp @@ -1,21 +1,100 @@ #ifndef RFL_INTERNAL_TO_PTR_NAMED_TUPLE_HPP_ #define RFL_INTERNAL_TO_PTR_NAMED_TUPLE_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION -#include "cpp20/to_ptr_named_tuple.hpp" -#else -// TODO -#endif +#include "../Tuple.hpp" +#include "../always_false.hpp" +#include "../field_names_t.hpp" +#include "../make_named_tuple.hpp" +#include "copy_flattened_tuple_to_named_tuple.hpp" +#include "has_fields.hpp" +#include "has_flatten_fields.hpp" +#include "is_empty.hpp" +#include "is_field.hpp" +#include "is_named_tuple.hpp" +#include "no_duplicate_field_names.hpp" +#include "to_flattened_ptr_tuple.hpp" +#include "to_ptr_field_tuple.hpp" +#include "to_ptr_tuple.hpp" namespace rfl::internal { +template +auto flatten_ptr_field_tuple(PtrFieldTuple& _t) { + const auto get_one = [&](std::integral_constant) { + using T = tuple_element_t<_i, std::remove_cvref_t>; + if constexpr (internal::is_flatten_field::value) { + auto subtuple = to_ptr_field_tuple(*rfl::get<_i>(_t).get()); + return flatten_ptr_field_tuple(subtuple); + } else { + return rfl::make_tuple(rfl::get<_i>(_t)); + } + }; + + constexpr auto size = rfl::tuple_size_v>; + + return [&](std::integer_sequence) { + return rfl::tuple_cat(get_one(std::integral_constant{})...); + }(std::make_integer_sequence()); +} + +template +auto field_tuple_to_named_tuple(PtrFieldTuple& _ptr_field_tuple) { + const auto ft_to_nt = [](Fields&&... _fields) { + return make_named_tuple(_fields...); + }; + + if constexpr (!has_flatten_fields>()) { + return rfl::apply(ft_to_nt, std::move(_ptr_field_tuple)); + } else { + const auto flattened_tuple = flatten_ptr_field_tuple(_ptr_field_tuple); + auto named_tuple = rfl::apply(ft_to_nt, flattened_tuple); + static_assert( + no_duplicate_field_names< + typename std::remove_cvref_t::Fields>(), + "Flattening created duplicate field names."); + return named_tuple; + } +} + +/// Generates a named tuple that contains pointers to the original values in +/// the struct. template auto to_ptr_named_tuple(T&& _t) { -#ifndef REFLECTCPP_USE_CPP_REFLECTION - return internal::cpp20::to_ptr_named_tuple(std::forward(_t)); -#else - // TODO -#endif + if constexpr (has_fields>()) { + if constexpr (std::is_pointer_v>) { + return to_ptr_named_tuple(*_t); + + } else if constexpr (is_named_tuple_v>) { + return nt_to_ptr_named_tuple(_t); + + } else { + auto ptr_field_tuple = to_ptr_field_tuple(_t); + return field_tuple_to_named_tuple(ptr_field_tuple); + } + + } else if constexpr (is_empty()) { + return rfl::NamedTuple<>(); + + } else { + auto ptr_tuple = to_ptr_tuple(_t); + + using PtrTuple = std::remove_cvref_t; + + if constexpr (!has_flatten_fields()) { + return copy_flattened_tuple_to_named_tuple>(ptr_tuple); + + } else { + using FieldNames = rfl::field_names_t; + auto flattened_ptr_tuple = to_flattened_ptr_tuple(_t); + auto named_tuple = + copy_flattened_tuple_to_named_tuple(flattened_ptr_tuple); + static_assert( + no_duplicate_field_names< + typename std::remove_cvref_t::Fields>(), + "Flattening created duplicate field names."); + return named_tuple; + } + } } } // namespace rfl::internal diff --git a/include/rfl/num_fields.hpp b/include/rfl/num_fields.hpp index ebb03568d..47a1ec98b 100644 --- a/include/rfl/num_fields.hpp +++ b/include/rfl/num_fields.hpp @@ -4,7 +4,7 @@ #ifndef REFLECTCPP_USE_CPP_REFLECTION #include "internal/cpp20/num_fields.hpp" #else -// TODO +#include "internal/cpp26/num_fields.hpp" #endif namespace rfl { @@ -15,7 +15,8 @@ namespace rfl { template constexpr std::size_t num_fields = internal::cpp20::num_fields; #else -// TODO +template +constexpr std::size_t num_fields = internal::cpp26::num_fields; #endif } // namespace rfl From ec50d13b6330012e08f169e65452bab294c3f95a Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Wed, 12 Aug 2026 22:55:34 +0200 Subject: [PATCH 04/20] Added concat_literals --- include/rfl/internal/StringLiteral.hpp | 6 +- include/rfl/internal/concat_literals.hpp | 45 +++++++++++ .../rfl/internal/cpp20/get_field_names.hpp | 34 +------- .../rfl/internal/cpp26/get_field_names.hpp | 78 +++++++++++++++++++ include/rfl/internal/cpp26/num_fields.hpp | 7 +- include/rfl/internal/get_field_names.hpp | 16 ++-- 6 files changed, 142 insertions(+), 44 deletions(-) create mode 100644 include/rfl/internal/concat_literals.hpp create mode 100644 include/rfl/internal/cpp26/get_field_names.hpp diff --git a/include/rfl/internal/StringLiteral.hpp b/include/rfl/internal/StringLiteral.hpp index 3c59036ac..fd8d1d797 100644 --- a/include/rfl/internal/StringLiteral.hpp +++ b/include/rfl/internal/StringLiteral.hpp @@ -27,8 +27,12 @@ struct StringLiteral { std::copy_n(_str, N, std::data(arr_)); } + constexpr StringLiteral(const std::string_view _str) { + std::copy_n(_str.data(), _str.size(), std::data(arr_)); + } + template - requires (std::is_same_v || std::is_same_v) + requires(std::is_same_v || std::is_same_v) explicit constexpr StringLiteral(T _data) { std::copy_n(_data, N, std::data(arr_)); } diff --git a/include/rfl/internal/concat_literals.hpp b/include/rfl/internal/concat_literals.hpp new file mode 100644 index 000000000..71f2c66aa --- /dev/null +++ b/include/rfl/internal/concat_literals.hpp @@ -0,0 +1,45 @@ +#ifndef RFL_INTERNAL_CONCATLITERALS_HPP_ +#define RFL_INTERNAL_CONCATLITERALS_HPP_ + +#include "../Literal.hpp" +#include "StringLiteral.hpp" + +namespace rfl::internal { + +// We don't want the operator+ to apply to normal literals, +// so we introduce this wrapper. +template +struct LiteralWrapper { + Literal<_names...> literal_; +}; + +template +auto wrap_literal(const Literal<_names...>& _literal) { + return LiteralWrapper<_names...>{_literal}; +} + +template +auto operator+(const LiteralWrapper<_names1...>&, + const LiteralWrapper<_names2...>&) { + return LiteralWrapper<_names1..., _names2...>{ + rfl::Literal<_names1..., _names2...>::template from_value<0>()}; +} + +template +auto concat_literals(const Head& _head, const Tail&... _tail) { + return (wrap_literal(_head) + ... + wrap_literal(_tail)).literal_; +} + +// Special case - every literal contains exactly one value. +template +auto concat_literals(const rfl::Literal<_head>&, + const rfl::Literal<_tail>&...) { + return rfl::Literal<_head, _tail...>::template from_value<0>(); +} + +// Special case - no literals. +inline auto concat_literals() { return rfl::Literal<>(); } + +} // namespace rfl::internal + +#endif diff --git a/include/rfl/internal/cpp20/get_field_names.hpp b/include/rfl/internal/cpp20/get_field_names.hpp index b53956b85..7ee0e382f 100644 --- a/include/rfl/internal/cpp20/get_field_names.hpp +++ b/include/rfl/internal/cpp20/get_field_names.hpp @@ -9,6 +9,7 @@ #endif #include "../../Literal.hpp" +#include "../concat_literals.hpp" #include "../is_flatten_field.hpp" #include "../is_rename.hpp" #include "get_ith_field_from_fake_object.hpp" @@ -95,39 +96,6 @@ auto get_field_name() { } } -// We don't want the operator+ to apply to normal literals, -// so we introduce this wrapper. -template -struct LiteralWrapper { - Literal<_names...> literal_; -}; - -template -auto wrap_literal(const Literal<_names...>& _literal) { - return LiteralWrapper<_names...>{_literal}; -} - -template -auto operator+(const LiteralWrapper<_names1...>&, - const LiteralWrapper<_names2...>&) { - return LiteralWrapper<_names1..., _names2...>{ - rfl::Literal<_names1..., _names2...>::template from_value<0>()}; -} - -template -auto concat_literals(const Head& _head, const Tail&... _tail) { - return (wrap_literal(_head) + ... + wrap_literal(_tail)).literal_; -} - -// Special case - the struct does not contain rfl::Flatten. -template -auto concat_literals(const rfl::Literal<_head>&, - const rfl::Literal<_tail>&...) { - return rfl::Literal<_head, _tail...>::template from_value<0>(); -} - -inline auto concat_literals() { return rfl::Literal<>(); } - #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wundefined-var-template" diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp new file mode 100644 index 000000000..0648c1319 --- /dev/null +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -0,0 +1,78 @@ +#ifndef RFL_INTERNAL_CPP26_GETFIELDNAMES_HPP_ +#define RFL_INTERNAL_CPP26_GETFIELDNAMES_HPP_ + +#include +#include +#include +#include + +#include "../../Literal.hpp" +#include "../../Tuple.hpp" +#include "../StringLiteral.hpp" +#include "../concat_literals.hpp" +#include "../is_flatten_field.hpp" +#include "../is_rename.hpp" +#include "bind_to_tuple.hpp" + +namespace rfl::internal::cpp26 { + +template +auto get_field_names(); + +template +auto get_field_names_impl() { + using Type = std::remove_cvref_t; + if constexpr (is_rename_v) { + using Name = typename Type::Name; + return Name(); + } else if constexpr (is_flatten_field_v) { + return get_field_names>(); + } else { + return FieldName(); + } +} + +template +auto get_field_names() { + using Type = std::remove_cvref_t; + if constexpr (std::is_pointer_v) { + return get_field_names>(); + } else { + constexpr auto members = + std::define_static_array(std::meta::nonstatic_data_members_of( + ^^Type, std::meta::access_context::current())); + + using TupleT = + std::invoke_result_t()))>; + + static_assert(members.size() == tuple_size_v, + "Number of members and tuple size mismatch"); + + constexpr bool no_flatten_fields = []( + std::index_sequence<_is...>) { + return (true && ... && !is_flatten_field_v>); + }(std::make_index_sequence{}); + + if constexpr (no_flatten_fields) { + return [&](std::index_sequence<_is...>) { + return Literal< + StringLiteral( + std::meta::identifier_of(members[_is]))...>(); + }(std::make_index_sequence()); + + } else { + return [&](std::index_sequence<_is...>) { + return concat_literals( + get_field_names_impl< + tuple_element_t<_is, TupleT>, + Literal( + std::meta::identifier_of(members[_is]))>>()...); + }(std::make_index_sequence()); + } + } +} + +} // namespace rfl::internal::cpp26 + +#endif diff --git a/include/rfl/internal/cpp26/num_fields.hpp b/include/rfl/internal/cpp26/num_fields.hpp index deeb061d2..cad135df3 100644 --- a/include/rfl/internal/cpp26/num_fields.hpp +++ b/include/rfl/internal/cpp26/num_fields.hpp @@ -1,14 +1,17 @@ #ifndef RFL_INTERNAL_CPP26_NUM_FIELDS_HPP_ #define RFL_INTERNAL_CPP26_NUM_FIELDS_HPP_ +#include +#include + #include "../../Tuple.hpp" #include "bind_to_tuple.hpp" namespace rfl::internal::cpp26 { template -constexpr std::size_t num_fields = - tuple_size_v()))>; +constexpr std::size_t num_fields = tuple_size_v< + std::invoke_result_t()))>>; } // namespace rfl::internal::cpp26 diff --git a/include/rfl/internal/get_field_names.hpp b/include/rfl/internal/get_field_names.hpp index d2fc3ef2f..e1ecef342 100644 --- a/include/rfl/internal/get_field_names.hpp +++ b/include/rfl/internal/get_field_names.hpp @@ -1,21 +1,21 @@ #ifndef RFL_INTERNAL_GETFIELDNAMES_HPP_ #define RFL_INTERNAL_GETFIELDNAMES_HPP_ -// #ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP_REFLECTION #include "cpp20/get_field_names.hpp" -// #else -// TODO -// #endif +#else +#include "cpp26/get_field_names.hpp" +#endif namespace rfl::internal { template auto get_field_names() { - // #ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP_REFLECTION return cpp20::get_field_names(); - // #else - // TODO - // #endif +#else + return cpp26::get_field_names(); +#endif } } // namespace rfl::internal From 3ac42d596e4dd1a2fcbe0e0c76c9f00ff2a04254 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 15 Aug 2026 14:03:36 +0200 Subject: [PATCH 05/20] Fixed two bugs --- include/rfl/internal/cpp26/get_field_names.hpp | 5 ++--- include/rfl/internal/cpp26/num_fields.hpp | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index 0648c1319..03db9bf2c 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -21,7 +21,7 @@ auto get_field_names(); template auto get_field_names_impl() { - using Type = std::remove_cvref_t; + using Type = std::remove_cvref_t>; if constexpr (is_rename_v) { using Name = typename Type::Name; return Name(); @@ -42,8 +42,7 @@ auto get_field_names() { std::define_static_array(std::meta::nonstatic_data_members_of( ^^Type, std::meta::access_context::current())); - using TupleT = - std::invoke_result_t()))>; + using TupleT = decltype(bind_to_tuple(std::declval())); static_assert(members.size() == tuple_size_v, "Number of members and tuple size mismatch"); diff --git a/include/rfl/internal/cpp26/num_fields.hpp b/include/rfl/internal/cpp26/num_fields.hpp index cad135df3..8761bc47d 100644 --- a/include/rfl/internal/cpp26/num_fields.hpp +++ b/include/rfl/internal/cpp26/num_fields.hpp @@ -10,8 +10,8 @@ namespace rfl::internal::cpp26 { template -constexpr std::size_t num_fields = tuple_size_v< - std::invoke_result_t()))>>; +constexpr std::size_t num_fields = + tuple_size_v()))>; } // namespace rfl::internal::cpp26 From 43981f685900bb644efcbfd39371e81f8b8eee3a Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 15 Aug 2026 14:34:06 +0200 Subject: [PATCH 06/20] Made everything consteval --- include/rfl/Literal.hpp | 8 ++++---- include/rfl/internal/concat_literals.hpp | 18 +++++++++--------- include/rfl/internal/cpp26/get_field_names.hpp | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/rfl/Literal.hpp b/include/rfl/Literal.hpp index 76ae756e1..4208d7713 100644 --- a/include/rfl/Literal.hpp +++ b/include/rfl/Literal.hpp @@ -47,12 +47,12 @@ class Literal { /// Copy constructor - constructs a Literal from another literal with the same /// fields. /// @param _other The literal to copy from - Literal(const Literal& _other) = default; + constexpr Literal(const Literal& _other) = default; /// Move constructor - constructs a Literal from another literal with the same /// fields. /// @param _other The literal to move from - Literal(Literal&& _other) noexcept = default; + constexpr Literal(Literal&& _other) noexcept = default; /// Constructs a Literal from a string value. /// @param _str The string representing one of the literal's allowed values @@ -61,7 +61,7 @@ class Literal { Literal(const std::string& _str) : value_(find_value(_str).value()) {} /// Default constructor - initializes to the first value (index 0). - Literal() : value_(0) {} + constexpr Literal() : value_(0) {} /// Destructor. ~Literal() = default; @@ -87,7 +87,7 @@ class Literal { /// @tparam _value The index of the value (must be less than num_fields_) /// @return A Literal representing the value at the specified index template - static Literal from_value() { + static constexpr Literal from_value() { static_assert(_value < num_fields_, "Value cannot exceed number of fields."); return Literal(_value); diff --git a/include/rfl/internal/concat_literals.hpp b/include/rfl/internal/concat_literals.hpp index 71f2c66aa..8f1cbbe2a 100644 --- a/include/rfl/internal/concat_literals.hpp +++ b/include/rfl/internal/concat_literals.hpp @@ -14,31 +14,31 @@ struct LiteralWrapper { }; template -auto wrap_literal(const Literal<_names...>& _literal) { +consteval auto wrap_literal(const Literal<_names...>& _literal) { return LiteralWrapper<_names...>{_literal}; } template -auto operator+(const LiteralWrapper<_names1...>&, - const LiteralWrapper<_names2...>&) { +consteval auto operator+(const LiteralWrapper<_names1...>&, + const LiteralWrapper<_names2...>&) { return LiteralWrapper<_names1..., _names2...>{ - rfl::Literal<_names1..., _names2...>::template from_value<0>()}; + rfl::Literal<_names1..., _names2...>()}; } template -auto concat_literals(const Head& _head, const Tail&... _tail) { +consteval auto concat_literals(const Head& _head, const Tail&... _tail) { return (wrap_literal(_head) + ... + wrap_literal(_tail)).literal_; } // Special case - every literal contains exactly one value. template -auto concat_literals(const rfl::Literal<_head>&, - const rfl::Literal<_tail>&...) { - return rfl::Literal<_head, _tail...>::template from_value<0>(); +consteval auto concat_literals(const rfl::Literal<_head>&, + const rfl::Literal<_tail>&...) { + return rfl::Literal<_head, _tail...>(); } // Special case - no literals. -inline auto concat_literals() { return rfl::Literal<>(); } +consteval inline auto concat_literals() { return rfl::Literal<>(); } } // namespace rfl::internal diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index 03db9bf2c..ed8716c26 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -17,10 +17,10 @@ namespace rfl::internal::cpp26 { template -auto get_field_names(); +consteval auto get_field_names(); template -auto get_field_names_impl() { +consteval auto get_field_names_impl() { using Type = std::remove_cvref_t>; if constexpr (is_rename_v) { using Name = typename Type::Name; @@ -33,7 +33,7 @@ auto get_field_names_impl() { } template -auto get_field_names() { +consteval auto get_field_names() { using Type = std::remove_cvref_t; if constexpr (std::is_pointer_v) { return get_field_names>(); From 02037cf73cca229c255bf16a4274c019cce3154a Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 15 Aug 2026 15:09:59 +0200 Subject: [PATCH 07/20] Make sure rename is applied --- .../rfl/internal/cpp26/get_field_names.hpp | 39 ++++++++----------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index ed8716c26..5868444ed 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -1,6 +1,7 @@ #ifndef RFL_INTERNAL_CPP26_GETFIELDNAMES_HPP_ #define RFL_INTERNAL_CPP26_GETFIELDNAMES_HPP_ +#include #include #include #include @@ -32,6 +33,12 @@ consteval auto get_field_names_impl() { } } +template +consteval bool is_same() { + static_assert(_i == _j, "Mismatched types"); + return _i == _j; +} + template consteval auto get_field_names() { using Type = std::remove_cvref_t; @@ -44,31 +51,17 @@ consteval auto get_field_names() { using TupleT = decltype(bind_to_tuple(std::declval())); - static_assert(members.size() == tuple_size_v, + static_assert(is_same>(), "Number of members and tuple size mismatch"); - constexpr bool no_flatten_fields = []( - std::index_sequence<_is...>) { - return (true && ... && !is_flatten_field_v>); - }(std::make_index_sequence{}); - - if constexpr (no_flatten_fields) { - return [&](std::index_sequence<_is...>) { - return Literal< - StringLiteral( - std::meta::identifier_of(members[_is]))...>(); - }(std::make_index_sequence()); - - } else { - return [&](std::index_sequence<_is...>) { - return concat_literals( - get_field_names_impl< - tuple_element_t<_is, TupleT>, - Literal( - std::meta::identifier_of(members[_is]))>>()...); - }(std::make_index_sequence()); - } + return [&](std::index_sequence<_is...>) { + return concat_literals( + get_field_names_impl< + tuple_element_t<_is, TupleT>, + Literal( + std::meta::identifier_of(members[_is]))>>()...); + }(std::make_index_sequence()); } } From 36fba5c1bab2563ee87360c278ff0d85a92ed0ec Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 15 Aug 2026 16:35:38 +0200 Subject: [PATCH 08/20] Started working on inheritance --- .../rfl/internal/cpp26/get_field_names.hpp | 20 ++++++++-- .../test_inheritance3.cpp | 39 +++++++++++++++++++ 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 tests/json_c_arrays_and_inheritance/test_inheritance3.cpp diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index 5868444ed..211a6c037 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -35,19 +35,31 @@ consteval auto get_field_names_impl() { template consteval bool is_same() { - static_assert(_i == _j, "Mismatched types"); + static_assert(_i == _j, "Mismatched lengths"); return _i == _j; } +template +consteval std::vector get_members() { + constexpr auto ctx = std::meta::access_context::current(); + + std::vector members; + + constexpr auto nonstatic_members = std::define_static_array( + std::meta::nonstatic_data_members_of(^^Type, ctx)); + + template for (auto member : nonstatic_members) { members.push_back(member); } + + return members; +} + template consteval auto get_field_names() { using Type = std::remove_cvref_t; if constexpr (std::is_pointer_v) { return get_field_names>(); } else { - constexpr auto members = - std::define_static_array(std::meta::nonstatic_data_members_of( - ^^Type, std::meta::access_context::current())); + constexpr auto members = std::define_static_array(get_members()); using TupleT = decltype(bind_to_tuple(std::declval())); diff --git a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp new file mode 100644 index 000000000..005d10a83 --- /dev/null +++ b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp @@ -0,0 +1,39 @@ +#ifdef REFLECTCPP_USE_CPP_REFLECTION + +// Only supported with C++26 reflection + +#include + +#include +#include + +#include "rfl/num_fields.hpp" + +namespace test_inheritance3 { + +struct Base { + int x; +}; + +struct Derived : public Base { + int y; +}; + +TEST(json, test_inheritance3) { + Derived derived; + const auto derived_view = rfl::to_view(derived); + + constexpr auto name_x = + rfl::tuple_element_t<0, typename rfl::named_tuple_t::Fields>::name(); + constexpr auto name_y = + rfl::tuple_element_t<1, typename rfl::named_tuple_t::Fields>::name(); + + static_assert(name_x == "x"); + static_assert(name_y == "y"); + + EXPECT_TRUE(true); +} + +} // namespace test_inheritance3 + +#endif From 8bffdff72475db12bd8c8ace432db6d96e92aa0a Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 13:51:39 +0200 Subject: [PATCH 09/20] Made inheritance work --- include/rfl/internal/cpp26/bind_to_tuple.hpp | 8 +++- .../rfl/internal/cpp26/get_field_names.hpp | 15 +----- include/rfl/internal/cpp26/get_members.hpp | 46 +++++++++++++++++++ .../test_inheritance3.cpp | 16 ++----- 4 files changed, 56 insertions(+), 29 deletions(-) create mode 100644 include/rfl/internal/cpp26/get_members.hpp diff --git a/include/rfl/internal/cpp26/bind_to_tuple.hpp b/include/rfl/internal/cpp26/bind_to_tuple.hpp index ce7b6fe32..d62a31282 100644 --- a/include/rfl/internal/cpp26/bind_to_tuple.hpp +++ b/include/rfl/internal/cpp26/bind_to_tuple.hpp @@ -5,15 +5,19 @@ #include #include #include +#include #include "../../Tuple.hpp" +#include "get_members.hpp" namespace rfl::internal::cpp26 { template auto bind_to_tuple(T& _t) { - auto& [... xs] = _t; - return rfl::make_tuple(&xs...); + using Type = std::remove_cvref_t; + constexpr auto members = std::define_static_array(get_members()); + constexpr auto [... indices] = std::make_index_sequence(); + return rfl::make_tuple(&_t.[:members[indices]:]...); } } // namespace rfl::internal::cpp26 diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index 211a6c037..b73f711b4 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -14,6 +14,7 @@ #include "../is_flatten_field.hpp" #include "../is_rename.hpp" #include "bind_to_tuple.hpp" +#include "get_members.hpp" namespace rfl::internal::cpp26 { @@ -39,20 +40,6 @@ consteval bool is_same() { return _i == _j; } -template -consteval std::vector get_members() { - constexpr auto ctx = std::meta::access_context::current(); - - std::vector members; - - constexpr auto nonstatic_members = std::define_static_array( - std::meta::nonstatic_data_members_of(^^Type, ctx)); - - template for (auto member : nonstatic_members) { members.push_back(member); } - - return members; -} - template consteval auto get_field_names() { using Type = std::remove_cvref_t; diff --git a/include/rfl/internal/cpp26/get_members.hpp b/include/rfl/internal/cpp26/get_members.hpp new file mode 100644 index 000000000..38f8fd15c --- /dev/null +++ b/include/rfl/internal/cpp26/get_members.hpp @@ -0,0 +1,46 @@ +#ifndef RFL_INTERNAL_CPP26_GETMEMBERS_HPP_ +#define RFL_INTERNAL_CPP26_GETMEMBERS_HPP_ + +#include +#include + +namespace rfl::internal::cpp26 { + +template +consteval std::vector get_members() { + constexpr auto ctx = std::meta::access_context::current(); + + std::vector members; + + constexpr auto bases = + std::define_static_array(std::meta::bases_of(^^Type, ctx)); + + const auto add_base_members = + [&](std::integral_constant) { + using BaseType = [:std::meta::type_of(bases[_i]):]; + constexpr auto base_members = + std::define_static_array(get_members()); + template for (const size_t j : + std::make_index_sequence()) { + members.push_back(base_members[j]); + }; + }; + + [&](std::index_sequence<_is...>) { + (add_base_members(std::integral_constant()), ...); + }(std::make_index_sequence()); + + constexpr auto nonstatic_members = std::define_static_array( + std::meta::nonstatic_data_members_of(^^Type, ctx)); + + template for (const size_t i : + std::make_index_sequence()) { + members.push_back(nonstatic_members[i]); + }; + + return members; +} + +} // namespace rfl::internal::cpp26 + +#endif diff --git a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp index 005d10a83..3bedf5763 100644 --- a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp +++ b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp @@ -7,7 +7,7 @@ #include #include -#include "rfl/num_fields.hpp" +#include "write_and_read.hpp" namespace test_inheritance3 { @@ -20,18 +20,8 @@ struct Derived : public Base { }; TEST(json, test_inheritance3) { - Derived derived; - const auto derived_view = rfl::to_view(derived); - - constexpr auto name_x = - rfl::tuple_element_t<0, typename rfl::named_tuple_t::Fields>::name(); - constexpr auto name_y = - rfl::tuple_element_t<1, typename rfl::named_tuple_t::Fields>::name(); - - static_assert(name_x == "x"); - static_assert(name_y == "y"); - - EXPECT_TRUE(true); + const auto derived = Derived{1, 2}; + write_and_read(derived, R"({"x":1,"y":2})"); } } // namespace test_inheritance3 From 9c619dd704444e36b43b4c542e1d045ff3291d7f Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 14:14:37 +0200 Subject: [PATCH 10/20] Minor code beautification --- .../rfl/internal/cpp26/get_field_names.hpp | 16 ++++++------ include/rfl/internal/cpp26/get_members.hpp | 26 ++++++++++--------- .../test_inheritance3.cpp | 1 + 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/include/rfl/internal/cpp26/get_field_names.hpp b/include/rfl/internal/cpp26/get_field_names.hpp index b73f711b4..8cdc6c73f 100644 --- a/include/rfl/internal/cpp26/get_field_names.hpp +++ b/include/rfl/internal/cpp26/get_field_names.hpp @@ -53,14 +53,14 @@ consteval auto get_field_names() { static_assert(is_same>(), "Number of members and tuple size mismatch"); - return [&](std::index_sequence<_is...>) { - return concat_literals( - get_field_names_impl< - tuple_element_t<_is, TupleT>, - Literal( - std::meta::identifier_of(members[_is]))>>()...); - }(std::make_index_sequence()); + constexpr auto [... is] = std::make_index_sequence(); + + return concat_literals( + get_field_names_impl< + tuple_element_t, + Literal< + StringLiteral( + std::meta::identifier_of(members[is]))>>()...); } } diff --git a/include/rfl/internal/cpp26/get_members.hpp b/include/rfl/internal/cpp26/get_members.hpp index 38f8fd15c..e14d78058 100644 --- a/include/rfl/internal/cpp26/get_members.hpp +++ b/include/rfl/internal/cpp26/get_members.hpp @@ -15,20 +15,22 @@ consteval std::vector get_members() { constexpr auto bases = std::define_static_array(std::meta::bases_of(^^Type, ctx)); - const auto add_base_members = - [&](std::integral_constant) { - using BaseType = [:std::meta::type_of(bases[_i]):]; - constexpr auto base_members = - std::define_static_array(get_members()); - template for (const size_t j : - std::make_index_sequence()) { - members.push_back(base_members[j]); + if constexpr (bases.size() > 0) { + const auto add_base_members = + [&](std::integral_constant) { + using BaseType = [:std::meta::type_of(bases[_i]):]; + constexpr auto base_members = + std::define_static_array(get_members()); + template for (const size_t j : + std::make_index_sequence()) { + members.push_back(base_members[j]); + }; }; - }; - [&](std::index_sequence<_is...>) { - (add_base_members(std::integral_constant()), ...); - }(std::make_index_sequence()); + constexpr auto [... is] = std::make_index_sequence(); + + (add_base_members(std::integral_constant()), ...); + } constexpr auto nonstatic_members = std::define_static_array( std::meta::nonstatic_data_members_of(^^Type, ctx)); diff --git a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp index 3bedf5763..79ecc188d 100644 --- a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp +++ b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp @@ -20,6 +20,7 @@ struct Derived : public Base { }; TEST(json, test_inheritance3) { + // Inheritance does not mix with designated initializers. const auto derived = Derived{1, 2}; write_and_read(derived, R"({"x":1,"y":2})"); } From 5e6489af5612148d118ae04b1bb7e3e6e8cdd63b Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 14:21:35 +0200 Subject: [PATCH 11/20] Fixed typo in test --- include/rfl/internal/cpp26/get_members.hpp | 2 +- tests/generic/test_result.cpp | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/rfl/internal/cpp26/get_members.hpp b/include/rfl/internal/cpp26/get_members.hpp index e14d78058..1e7ee5fbd 100644 --- a/include/rfl/internal/cpp26/get_members.hpp +++ b/include/rfl/internal/cpp26/get_members.hpp @@ -38,7 +38,7 @@ consteval std::vector get_members() { template for (const size_t i : std::make_index_sequence()) { members.push_back(nonstatic_members[i]); - }; + } return members; } diff --git a/tests/generic/test_result.cpp b/tests/generic/test_result.cpp index f05a9d3e4..bc68a9452 100644 --- a/tests/generic/test_result.cpp +++ b/tests/generic/test_result.cpp @@ -1,23 +1,21 @@ #include +#include #include #include -#include - namespace test_result_cross_assign { TEST(regression, result_cross_type_assign_error_clears_success) { auto ok = rfl::Result(42); ASSERT_TRUE(ok); - const auto err = rfl::Result(rfl::Error("fail")); + const auto err = rfl::Result(rfl::error("fail")); ASSERT_FALSE(err); ok = err; - EXPECT_FALSE(ok) - << "After assigning an error Result to Result, " - "the target should be falsy"; + EXPECT_FALSE(ok) << "After assigning an error Result to Result, " + "the target should be falsy"; } } // namespace test_result_cross_assign @@ -26,8 +24,8 @@ namespace test_result_value_or_return_type { TEST(regression, result_value_or_returns_value_not_rvalue_ref) { using ResultType = rfl::Result; - using ReturnType = decltype( - std::declval().value_or(std::string("default"))); + using ReturnType = + decltype(std::declval().value_or(std::string("default"))); constexpr bool returns_value = std::is_same_v; EXPECT_TRUE(returns_value) << "Result::value_or(T&&) should return T by value, not T&&. " @@ -40,13 +38,13 @@ namespace test_result_error_rvalue_return_type { TEST(regression, result_error_rvalue_qualified_returns_rvalue_ref) { using ResultType = rfl::Result; - using ReturnType = - decltype(std::declval().error()); + using ReturnType = decltype(std::declval().error()); constexpr bool returns_rvalue_ref = std::is_same_v; constexpr bool returns_lvalue_ref = std::is_same_v; EXPECT_TRUE(returns_rvalue_ref) << "Result::error() && should return Error&&, not Error&. " - "Currently returns lvalue ref: " << returns_lvalue_ref; + "Currently returns lvalue ref: " + << returns_lvalue_ref; } } // namespace test_result_error_rvalue_return_type From 02d8535e0519fea91dc17e4e92acbc9ef8e1ae79 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 16:56:46 +0200 Subject: [PATCH 12/20] Began developing enums --- include/rfl/enums.hpp | 5 +- include/rfl/internal/StringLiteral.hpp | 6 +- include/rfl/internal/enums/Names.hpp | 4 - .../internal/enums/cpp20/get_enum_names.hpp | 129 ++++++++++++++++++ .../enums/{ => cpp20}/range_defined.hpp | 2 +- .../internal/enums/cpp26/get_enum_names.hpp | 29 ++++ include/rfl/internal/enums/get_enum_names.hpp | 128 ++--------------- include/rfl/internal/enums/is_flag_enum.hpp | 16 +++ tests/json/test_enum8.cpp | 2 + 9 files changed, 193 insertions(+), 128 deletions(-) create mode 100644 include/rfl/internal/enums/cpp20/get_enum_names.hpp rename include/rfl/internal/enums/{ => cpp20}/range_defined.hpp (90%) create mode 100644 include/rfl/internal/enums/cpp26/get_enum_names.hpp create mode 100644 include/rfl/internal/enums/is_flag_enum.hpp diff --git a/include/rfl/enums.hpp b/include/rfl/enums.hpp index b913b6bd6..c94114daf 100644 --- a/include/rfl/enums.hpp +++ b/include/rfl/enums.hpp @@ -6,6 +6,7 @@ #include "Result.hpp" #include "internal/enums/get_enum_names.hpp" +#include "internal/enums/is_flag_enum.hpp" #include "internal/strings/strings.hpp" #include "thirdparty/enchantum/bitflags.hpp" #include "thirdparty/enchantum/enchantum.hpp" @@ -61,7 +62,7 @@ std::string enum_to_string(const EnumType _enum) { : std::string(s); }; - if constexpr (enchantum::is_bitflag) { + if constexpr (internal::enums::is_flag_enum) { // Iterates through the enum bit by bit and matches it against the flags. using T = std::underlying_type_t; auto val = static_cast(_enum); @@ -110,7 +111,7 @@ Result string_to_enum(const std::string& _str) { } }; - if constexpr (enchantum::is_bitflag) { + if constexpr (internal::enums::is_flag_enum) { using T = std::underlying_type_t; const auto split = internal::strings::split(_str, "|"); auto res = static_cast(0); diff --git a/include/rfl/internal/StringLiteral.hpp b/include/rfl/internal/StringLiteral.hpp index fd8d1d797..56a64e108 100644 --- a/include/rfl/internal/StringLiteral.hpp +++ b/include/rfl/internal/StringLiteral.hpp @@ -7,8 +7,7 @@ #include #include -namespace rfl { -namespace internal { +namespace rfl::internal { /// Normal strings cannot be used as template /// parameters, but this can. This is needed @@ -65,7 +64,6 @@ constexpr inline bool operator!=(const StringLiteral& _first, return !(_first == _second); } -} // namespace internal -} // namespace rfl +} // namespace rfl::internal #endif diff --git a/include/rfl/internal/enums/Names.hpp b/include/rfl/internal/enums/Names.hpp index a35944ad7..f20b1fbf0 100644 --- a/include/rfl/internal/enums/Names.hpp +++ b/include/rfl/internal/enums/Names.hpp @@ -7,10 +7,7 @@ #include #include "../../Literal.hpp" -//#include "../../config.hpp" -//#include "../../define_literal.hpp" #include "../../make_named_tuple.hpp" -//#include "../../thirdparty/enchantum/enchantum.hpp" #include "../StringLiteral.hpp" namespace rfl::internal::enums { @@ -66,4 +63,3 @@ names_to_underlying_enumerator_array( } // namespace rfl::internal::enums #endif - diff --git a/include/rfl/internal/enums/cpp20/get_enum_names.hpp b/include/rfl/internal/enums/cpp20/get_enum_names.hpp new file mode 100644 index 000000000..a6ea96bed --- /dev/null +++ b/include/rfl/internal/enums/cpp20/get_enum_names.hpp @@ -0,0 +1,129 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP20_GET_ENUM_NAMES_HPP_ +#define RFL_INTERNAL_ENUMS_CPP20_GET_ENUM_NAMES_HPP_ + +// Enum values must be greater than or equal to RFL_ENUM_RANGE_MIN. +// By default, RFL_ENUM_RANGE_MIN is set to -256. +// To change the default minimum range for all enum types, redefine the macro +// RFL_ENUM_RANGE_MIN. +#if !defined(RFL_ENUM_RANGE_MIN) +#define RFL_ENUM_RANGE_MIN -256 +#endif + +// Enum values must be less than or equal to RFL_ENUM_RANGE_MAX. +// By default, RFL_ENUM_RANGE_MAX is set to 256. +// To change the default maximum range for all enum types, redefine the macro +// RFL_ENUM_RANGE_MAX. +#if !defined(RFL_ENUM_RANGE_MAX) +#define RFL_ENUM_RANGE_MAX 256 +#endif + +#ifdef ENCHANTUM_MIN_RANGE +#undef ENCHANTUM_MIN_RANGE +#endif +#define ENCHANTUM_MIN_RANGE RFL_ENUM_RANGE_MIN + +#ifdef ENCHANTUM_MAX_RANGE +#undef ENCHANTUM_MAX_RANGE +#endif +#define ENCHANTUM_MAX_RANGE RFL_ENUM_RANGE_MAX + +#include +#include + +#include "../../../Literal.hpp" +#include "../../../thirdparty/enchantum/enchantum.hpp" // NOLINT(unused-includes) +#include "../Names.hpp" +#include "../is_flag_enum.hpp" +#include "range_defined.hpp" + +// https://en.cppreference.com/w/cpp/language/static_cast: + +// 8) A value of integer or enumeration type can be converted to any complete +// enumeration type. + +// If the underlying type is not fixed, the behavior is undefined if the value +// of expression is out of range (the range is all values possible for the +// smallest bit-field large enough to hold all enumerators of the target +// enumeration). If the underlying type is fixed, the result is the same as +// converting the original value first to the underlying type of the enumeration +// and then to the enumeration type. + +// https://en.cppreference.com/w/cpp/language/enum + +// enum struct|class name { enumerator = constexpr , enumerator = constexpr , +// ... } (1) +// ... +// 1) declares a scoped enumeration type whose underlying type is int (the +// keywords class and struct are exactly equivalent) +// +// --> These rules taken together imply that if you EITHER fix the type OR you +// use a scoped integer, static_cast(some_integer_value) will always be +// defined. + +template + requires requires(E e) { + { e | e } -> std::same_as; + } +constexpr inline bool enchantum::is_bitflag = true; + +// Specialize the enchantum EnumTraits further, so rfl::config::enum_range +// works. +namespace enchantum { + +template + requires rfl::internal::enums::range_defined +struct enum_traits { + static constexpr std::size_t prefix_length = 0; + + static constexpr auto min = rfl::config::enum_range::min; + static constexpr auto max = rfl::config::enum_range::max; +}; + +template + requires rfl::internal::enums::range_defined +struct enum_traits { + static constexpr std::size_t prefix_length = 0; + + static constexpr auto min = rfl::config::enum_range::min; + static constexpr auto max = rfl::config::enum_range::max; +}; + +template + requires SignedEnum && + (!EnumFixedUnderlying) && rfl::internal::enums::range_defined +struct enum_traits { + static constexpr auto min = rfl::config::enum_range::min; + static constexpr auto max = rfl::config::enum_range::max; +}; + +template + requires UnsignedEnum && + (!EnumFixedUnderlying) && rfl::internal::enums::range_defined +struct enum_traits { + static constexpr auto min = rfl::config::enum_range::min; + static constexpr auto max = rfl::config::enum_range::max; +}; + +} // namespace enchantum + +namespace rfl::internal::enums::cpp20 { + +template +consteval auto get_enum_names() { + return [](std::index_sequence) { + constexpr auto& entries = enchantum::entries; + constexpr auto to_str_lit = + [](const char* name, std::index_sequence) { + return StringLiteral{name[Js]...}; + }; + return Names{})...>, + entries.size(), is_flag_enum, + entries[Is].first...>{}; + }(std::make_index_sequence>{}); +} +} // namespace rfl::internal::enums::cpp20 + +#endif diff --git a/include/rfl/internal/enums/range_defined.hpp b/include/rfl/internal/enums/cpp20/range_defined.hpp similarity index 90% rename from include/rfl/internal/enums/range_defined.hpp rename to include/rfl/internal/enums/cpp20/range_defined.hpp index 5f87f50bc..4bee87aea 100644 --- a/include/rfl/internal/enums/range_defined.hpp +++ b/include/rfl/internal/enums/cpp20/range_defined.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_ENUMS_RANGE_DEFINED_HPP_ #define RFL_INTERNAL_ENUMS_RANGE_DEFINED_HPP_ -#include "../../config.hpp" +#include "../../../config.hpp" namespace rfl::internal::enums { diff --git a/include/rfl/internal/enums/cpp26/get_enum_names.hpp b/include/rfl/internal/enums/cpp26/get_enum_names.hpp new file mode 100644 index 000000000..4ccdc6874 --- /dev/null +++ b/include/rfl/internal/enums/cpp26/get_enum_names.hpp @@ -0,0 +1,29 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP26_GET_ENUM_NAMES_HPP_ +#define RFL_INTERNAL_ENUMS_CPP26_GET_ENUM_NAMES_HPP_ + +#include +#include +#include + +#include "../../../Literal.hpp" +#include "../Names.hpp" +#include "../is_flag_enum.hpp" + +namespace rfl::internal::enums::cpp26 { + +template +consteval auto get_enum_names() { + constexpr auto enumerators = + std::define_static_array(std::meta::enumerators_of(^^EnumType)); + + constexpr auto [... is] = std::make_index_sequence(); + + return Names< + EnumType, + Literal(std::meta::identifier_of(enumerators[is]))...>, + enumerators.size(), is_flag_enum, ([:enumerators[is]:])...>{}; +} +} // namespace rfl::internal::enums::cpp26 + +#endif diff --git a/include/rfl/internal/enums/get_enum_names.hpp b/include/rfl/internal/enums/get_enum_names.hpp index b81a71533..5b3b785ed 100644 --- a/include/rfl/internal/enums/get_enum_names.hpp +++ b/include/rfl/internal/enums/get_enum_names.hpp @@ -1,129 +1,23 @@ #ifndef RFL_INTERNAL_ENUMS_GET_ENUM_NAMES_HPP_ #define RFL_INTERNAL_ENUMS_GET_ENUM_NAMES_HPP_ -// Enum values must be greater than or equal to RFL_ENUM_RANGE_MIN. -// By default, RFL_ENUM_RANGE_MIN is set to -256. -// To change the default minimum range for all enum types, redefine the macro -// RFL_ENUM_RANGE_MIN. -#if !defined(RFL_ENUM_RANGE_MIN) -#define RFL_ENUM_RANGE_MIN -256 +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/get_enum_names.hpp" +#else +#include "cpp26/get_enum_names.hpp" #endif -// Enum values must be less than or equal to RFL_ENUM_RANGE_MAX. -// By default, RFL_ENUM_RANGE_MAX is set to 256. -// To change the default maximum range for all enum types, redefine the macro -// RFL_ENUM_RANGE_MAX. -#if !defined(RFL_ENUM_RANGE_MAX) -#define RFL_ENUM_RANGE_MAX 256 -#endif - -#ifdef ENCHANTUM_MIN_RANGE -#undef ENCHANTUM_MIN_RANGE -#endif -#define ENCHANTUM_MIN_RANGE RFL_ENUM_RANGE_MIN - -#ifdef ENCHANTUM_MAX_RANGE -#undef ENCHANTUM_MAX_RANGE -#endif -#define ENCHANTUM_MAX_RANGE RFL_ENUM_RANGE_MAX - -#include -#include - -#include "../../thirdparty/enchantum/enchantum.hpp"// NOLINT(unused-includes) - -#include "../../Literal.hpp" -#include "Names.hpp" -#include "range_defined.hpp" - -// https://en.cppreference.com/w/cpp/language/static_cast: - -// 8) A value of integer or enumeration type can be converted to any complete -// enumeration type. - -// If the underlying type is not fixed, the behavior is undefined if the value -// of expression is out of range (the range is all values possible for the -// smallest bit-field large enough to hold all enumerators of the target -// enumeration). If the underlying type is fixed, the result is the same as -// converting the original value first to the underlying type of the enumeration -// and then to the enumeration type. - -// https://en.cppreference.com/w/cpp/language/enum - -// enum struct|class name { enumerator = constexpr , enumerator = constexpr , -// ... } (1) -// ... -// 1) declares a scoped enumeration type whose underlying type is int (the -// keywords class and struct are exactly equivalent) -// -// --> These rules taken together imply that if you EITHER fix the type OR you -// use a scoped integer, static_cast(some_integer_value) will always be -// defined. - -template - requires requires(E e) { - { e | e } -> std::same_as; - } -constexpr inline bool enchantum::is_bitflag = true; - -// Specialize the enchantum EnumTraits further, so rfl::config::enum_range -// works. -namespace enchantum { - -template - requires rfl::internal::enums::range_defined -struct enum_traits { - static constexpr std::size_t prefix_length = 0; - - static constexpr auto min = rfl::config::enum_range::min; - static constexpr auto max = rfl::config::enum_range::max; -}; - -template - requires rfl::internal::enums::range_defined -struct enum_traits { - static constexpr std::size_t prefix_length = 0; - - static constexpr auto min = rfl::config::enum_range::min; - static constexpr auto max = rfl::config::enum_range::max; -}; - -template - requires SignedEnum && - (!EnumFixedUnderlying) && rfl::internal::enums::range_defined -struct enum_traits { - static constexpr auto min = rfl::config::enum_range::min; - static constexpr auto max = rfl::config::enum_range::max; -}; - -template - requires UnsignedEnum && - (!EnumFixedUnderlying) && rfl::internal::enums::range_defined -struct enum_traits { - static constexpr auto min = rfl::config::enum_range::min; - static constexpr auto max = rfl::config::enum_range::max; -}; - -} // namespace enchantum - namespace rfl::internal::enums { -template +template consteval auto get_enum_names() { - return [](std::index_sequence) { - constexpr auto& entries = enchantum::entries; - constexpr auto to_str_lit = - [](const char* name, std::index_sequence) { - return StringLiteral{name[Js]...}; - }; - return Names{})...>, - entries.size(), enchantum::is_bitflag, - entries[Is].first...>{}; - }(std::make_index_sequence>{}); +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::get_enum_names(); +#else + return cpp26::get_enum_names(); +#endif } + } // namespace rfl::internal::enums #endif diff --git a/include/rfl/internal/enums/is_flag_enum.hpp b/include/rfl/internal/enums/is_flag_enum.hpp new file mode 100644 index 000000000..1d09bb682 --- /dev/null +++ b/include/rfl/internal/enums/is_flag_enum.hpp @@ -0,0 +1,16 @@ +#ifndef RFL_INTERNAL_ENUMS_IS_FLAG_ENUM_HPP_ +#define RFL_INTERNAL_ENUMS_IS_FLAG_ENUM_HPP_ + +#include + +namespace rfl::internal::enums { + +// Checks if an enum is a flag enum. +template +inline constexpr bool is_flag_enum = requires(EnumType e) { + { e | e } -> std::same_as; +}; + +} // namespace rfl::internal::enums + +#endif diff --git a/tests/json/test_enum8.cpp b/tests/json/test_enum8.cpp index b64a4eb6f..8461a5538 100644 --- a/tests/json/test_enum8.cpp +++ b/tests/json/test_enum8.cpp @@ -27,6 +27,8 @@ struct SomeClass { }; TEST(json, test_enum8) { + static_assert(rfl::internal::enums::is_flag_enum); + SomeClass t{ .e = TestEnum::None, .f = TestEnum::Hello, .g = TestEnum::HelloWorld}; From dd996f57fa4d9844ac968862e5da8a23cfbccecb Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 18:32:06 +0200 Subject: [PATCH 13/20] Added support for enums --- include/rfl/enums.hpp | 41 ++++++++----------- .../rfl/internal/enums/cpp20/from_string.hpp | 18 ++++++++ .../internal/enums/cpp20/get_enum_range.hpp | 19 +++++++++ .../rfl/internal/enums/cpp20/to_string.hpp | 21 ++++++++++ .../rfl/internal/enums/cpp26/from_string.hpp | 24 +++++++++++ .../internal/enums/cpp26/get_enum_range.hpp | 20 +++++++++ .../rfl/internal/enums/cpp26/to_string.hpp | 24 +++++++++++ include/rfl/internal/enums/from_string.hpp | 23 +++++++++++ include/rfl/internal/enums/get_enum_range.hpp | 23 +++++++++++ include/rfl/internal/enums/to_string.hpp | 23 +++++++++++ 10 files changed, 213 insertions(+), 23 deletions(-) create mode 100644 include/rfl/internal/enums/cpp20/from_string.hpp create mode 100644 include/rfl/internal/enums/cpp20/get_enum_range.hpp create mode 100644 include/rfl/internal/enums/cpp20/to_string.hpp create mode 100644 include/rfl/internal/enums/cpp26/from_string.hpp create mode 100644 include/rfl/internal/enums/cpp26/get_enum_range.hpp create mode 100644 include/rfl/internal/enums/cpp26/to_string.hpp create mode 100644 include/rfl/internal/enums/from_string.hpp create mode 100644 include/rfl/internal/enums/get_enum_range.hpp create mode 100644 include/rfl/internal/enums/to_string.hpp diff --git a/include/rfl/enums.hpp b/include/rfl/enums.hpp index c94114daf..33975f9b7 100644 --- a/include/rfl/enums.hpp +++ b/include/rfl/enums.hpp @@ -5,17 +5,18 @@ #include #include "Result.hpp" +#include "internal/enums/from_string.hpp" #include "internal/enums/get_enum_names.hpp" +#include "internal/enums/get_enum_range.hpp" #include "internal/enums/is_flag_enum.hpp" +#include "internal/enums/to_string.hpp" #include "internal/strings/strings.hpp" -#include "thirdparty/enchantum/bitflags.hpp" -#include "thirdparty/enchantum/enchantum.hpp" namespace rfl { // Returns a named tuple mapping names of enumerators of the given enum type to // their values. -template +template auto get_enumerators() { return internal::enums::names_to_enumerator_named_tuple( internal::enums::get_enum_names()); @@ -23,7 +24,7 @@ auto get_enumerators() { // Returns a named tuple mapping names of enumerators of the given enum type to // their underlying values. -template +template auto get_underlying_enumerators() { return internal::enums::names_to_underlying_enumerator_named_tuple( internal::enums::get_enum_names()); @@ -31,7 +32,7 @@ auto get_underlying_enumerators() { // Returns an std::array containing pairs of enumerator names (as // std::string_view) and values. -template +template constexpr auto get_enumerator_array() { return internal::enums::names_to_enumerator_array( internal::enums::get_enum_names()); @@ -39,29 +40,21 @@ constexpr auto get_enumerator_array() { // Returns an std::array containing pairs of enumerator names (as // std::string_view) and underlying values. -template +template constexpr auto get_underlying_enumerator_array() { return internal::enums::names_to_underlying_enumerator_array( internal::enums::get_enum_names()); } // Returns the range of the given enum type as a pair of the minimum and maximum -template +template constexpr auto get_enum_range() { - return std::make_pair(enchantum::enum_traits::min, - enchantum::enum_traits::max); + return internal::enums::get_enum_range(); } // Converts an enum value to tis string representation. -template +template std::string enum_to_string(const EnumType _enum) { - const auto to_string_or_number = [](const EnumType e) { - const auto s = enchantum::to_string(e); - return s.empty() ? std::to_string( - static_cast>(e)) - : std::string(s); - }; - if constexpr (internal::enums::is_flag_enum) { // Iterates through the enum bit by bit and matches it against the flags. using T = std::underlying_type_t; @@ -71,8 +64,8 @@ std::string enum_to_string(const EnumType _enum) { while (val != 0) { const auto bit = val & static_cast(1); if (bit == 1) { - auto str = - to_string_or_number(static_cast(static_cast(1) << i)); + auto str = internal::enums::to_string( + static_cast(static_cast(1) << i)); flags.emplace_back(std::move(str)); } ++i; @@ -83,17 +76,19 @@ std::string enum_to_string(const EnumType _enum) { } return internal::strings::join("|", flags); } else { - return to_string_or_number(_enum); + return internal::enums::to_string(_enum); } } // Converts a string to a value of the given enum type. -template +template Result string_to_enum(const std::string& _str) { const auto cast_numbers_or_names = [](const std::string& name) -> Result { - const auto r = enchantum::cast(name); - if (r) return *r; + const auto r = internal::enums::from_string(name); + if (r) { + return *r; + } try { return static_cast(std::stoi(name)); } catch (std::exception& exp) { diff --git a/include/rfl/internal/enums/cpp20/from_string.hpp b/include/rfl/internal/enums/cpp20/from_string.hpp new file mode 100644 index 000000000..cb310a759 --- /dev/null +++ b/include/rfl/internal/enums/cpp20/from_string.hpp @@ -0,0 +1,18 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP20_FROM_STRING_HPP_ +#define RFL_INTERNAL_ENUMS_CPP20_FROM_STRING_HPP_ + +#include +#include + +#include "../../../thirdparty/enchantum/enchantum.hpp" // NOLINT(unused-includes) + +namespace rfl::internal::enums::cpp20 { + +template +auto from_string(const std::string& _str) { + return enchantum::cast(_str); +} + +} // namespace rfl::internal::enums::cpp20 + +#endif diff --git a/include/rfl/internal/enums/cpp20/get_enum_range.hpp b/include/rfl/internal/enums/cpp20/get_enum_range.hpp new file mode 100644 index 000000000..4f1e862e4 --- /dev/null +++ b/include/rfl/internal/enums/cpp20/get_enum_range.hpp @@ -0,0 +1,19 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP20_GET_ENUM_RANGE_HPP_ +#define RFL_INTERNAL_ENUMS_CPP20_GET_ENUM_RANGE_HPP_ + +#include + +#include "../../../thirdparty/enchantum/enchantum.hpp" // NOLINT(unused-includes) + +namespace rfl::internal::enums::cpp20 { + +// Returns the range of the given enum type as a pair of the minimum and maximum +template +constexpr auto get_enum_range() { + return std::make_pair(enchantum::enum_traits::min, + enchantum::enum_traits::max); +} + +} // namespace rfl::internal::enums::cpp20 + +#endif diff --git a/include/rfl/internal/enums/cpp20/to_string.hpp b/include/rfl/internal/enums/cpp20/to_string.hpp new file mode 100644 index 000000000..d0f1e2bf7 --- /dev/null +++ b/include/rfl/internal/enums/cpp20/to_string.hpp @@ -0,0 +1,21 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP20_TO_STRING_HPP_ +#define RFL_INTERNAL_ENUMS_CPP20_TO_STRING_HPP_ + +#include +#include + +#include "../../../thirdparty/enchantum/enchantum.hpp" // NOLINT(unused-includes) + +namespace rfl::internal::enums::cpp20 { + +template +auto to_string(const EnumType e) { + const auto s = enchantum::to_string(e); + return s.empty() + ? std::to_string(static_cast>(e)) + : std::string(s); +} + +} // namespace rfl::internal::enums::cpp20 + +#endif diff --git a/include/rfl/internal/enums/cpp26/from_string.hpp b/include/rfl/internal/enums/cpp26/from_string.hpp new file mode 100644 index 000000000..1e77e3938 --- /dev/null +++ b/include/rfl/internal/enums/cpp26/from_string.hpp @@ -0,0 +1,24 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP26_FROM_STRING_HPP_ +#define RFL_INTERNAL_ENUMS_CPP26_FROM_STRING_HPP_ + +#include +#include +#include +#include + +namespace rfl::internal::enums::cpp26 { + +template +std::optional from_string(const std::string& _str) { + template for (constexpr auto e : std::define_static_array( + std::meta::enumerators_of(^^EnumType))) { + if (_str == std::meta::identifier_of(e)) { + return [:e:]; + } + } + return std::nullopt; +} + +} // namespace rfl::internal::enums::cpp26 + +#endif diff --git a/include/rfl/internal/enums/cpp26/get_enum_range.hpp b/include/rfl/internal/enums/cpp26/get_enum_range.hpp new file mode 100644 index 000000000..b4ebf70e8 --- /dev/null +++ b/include/rfl/internal/enums/cpp26/get_enum_range.hpp @@ -0,0 +1,20 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP26_GET_ENUM_RANGE_HPP_ +#define RFL_INTERNAL_ENUMS_CPP26_GET_ENUM_RANGE_HPP_ + +#include +#include +#include + +namespace rfl::internal::enums::cpp26 { + +// Returns the range of the given enum type as a pair of the minimum and maximum +template +constexpr auto get_enum_range() { + return std::make_pair( + std::numeric_limits>::min(), + std::numeric_limits>::max()); +} + +} // namespace rfl::internal::enums::cpp26 + +#endif diff --git a/include/rfl/internal/enums/cpp26/to_string.hpp b/include/rfl/internal/enums/cpp26/to_string.hpp new file mode 100644 index 000000000..417121b5f --- /dev/null +++ b/include/rfl/internal/enums/cpp26/to_string.hpp @@ -0,0 +1,24 @@ +#ifndef RFL_INTERNAL_ENUMS_CPP26_TO_STRING_HPP_ +#define RFL_INTERNAL_ENUMS_CPP26_TO_STRING_HPP_ + +#include +#include +#include + +namespace rfl::internal::enums::cpp26 { + +template + requires std::is_enum_v +std::string to_string(const EnumType _val) { + template for (constexpr auto e : std::define_static_array( + std::meta::enumerators_of(^^EnumType))) { + if (_val == [:e:]) { + return std::string(std::meta::identifier_of(e)); + } + } + return std::to_string(static_cast>(_val)); +} + +} // namespace rfl::internal::enums::cpp26 + +#endif diff --git a/include/rfl/internal/enums/from_string.hpp b/include/rfl/internal/enums/from_string.hpp new file mode 100644 index 000000000..c5df30912 --- /dev/null +++ b/include/rfl/internal/enums/from_string.hpp @@ -0,0 +1,23 @@ +#ifndef RFL_INTERNAL_ENUMS_FROM_STRING_HPP_ +#define RFL_INTERNAL_ENUMS_FROM_STRING_HPP_ + +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/from_string.hpp" +#else +#include "cpp26/from_string.hpp" +#endif + +namespace rfl::internal::enums { + +template +auto from_string(const std::string& _str) { +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::from_string(_str); +#else + return cpp26::from_string(_str); +#endif +} + +} // namespace rfl::internal::enums + +#endif diff --git a/include/rfl/internal/enums/get_enum_range.hpp b/include/rfl/internal/enums/get_enum_range.hpp new file mode 100644 index 000000000..04d63266c --- /dev/null +++ b/include/rfl/internal/enums/get_enum_range.hpp @@ -0,0 +1,23 @@ +#ifndef RFL_INTERNAL_ENUMS_GET_ENUM_RANGE_HPP_ +#define RFL_INTERNAL_ENUMS_GET_ENUM_RANGE_HPP_ + +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/get_enum_range.hpp" +#else +#include "cpp26/get_enum_range.hpp" +#endif + +namespace rfl::internal::enums { + +template +constexpr auto get_enum_range() { +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::get_enum_range(); +#else + return cpp26::get_enum_range(); +#endif +} + +} // namespace rfl::internal::enums + +#endif diff --git a/include/rfl/internal/enums/to_string.hpp b/include/rfl/internal/enums/to_string.hpp new file mode 100644 index 000000000..5f223152d --- /dev/null +++ b/include/rfl/internal/enums/to_string.hpp @@ -0,0 +1,23 @@ +#ifndef RFL_INTERNAL_ENUMS_TO_STRING_OR_NUMBER_HPP_ +#define RFL_INTERNAL_ENUMS_TO_STRING_OR_NUMBER_HPP_ + +#ifndef REFLECTCPP_USE_CPP_REFLECTION +#include "cpp20/to_string.hpp" +#else +#include "cpp26/to_string.hpp" +#endif + +namespace rfl::internal::enums { + +template +auto to_string(const EnumType e) { +#ifndef REFLECTCPP_USE_CPP_REFLECTION + return cpp20::to_string(e); +#else + return cpp26::to_string(e); +#endif +} + +} // namespace rfl::internal::enums + +#endif From cd0961920e4005af39fd1a9f7d9b2db40cba6c9b Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sun, 16 Aug 2026 20:50:11 +0200 Subject: [PATCH 14/20] Updated range_defined --- include/rfl/internal/enums/cpp20/range_defined.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/rfl/internal/enums/cpp20/range_defined.hpp b/include/rfl/internal/enums/cpp20/range_defined.hpp index 4bee87aea..a89fe1587 100644 --- a/include/rfl/internal/enums/cpp20/range_defined.hpp +++ b/include/rfl/internal/enums/cpp20/range_defined.hpp @@ -1,9 +1,9 @@ -#ifndef RFL_INTERNAL_ENUMS_RANGE_DEFINED_HPP_ -#define RFL_INTERNAL_ENUMS_RANGE_DEFINED_HPP_ +#ifndef RFL_INTERNAL_ENUMS_CPP20_RANGE_DEFINED_HPP_ +#define RFL_INTERNAL_ENUMS_CPP20_RANGE_DEFINED_HPP_ #include "../../../config.hpp" -namespace rfl::internal::enums { +namespace rfl::internal::enums::cpp20 { template concept range_defined = requires { @@ -12,6 +12,6 @@ concept range_defined = requires { { config::enum_range::max }; }; -} // namespace rfl::internal::enums +} // namespace rfl::internal::enums::cpp20 #endif From e64f181372b02cf1155345055c47de618f0287ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dr=2E=20Patrick=20Urbanke=20=28=E5=8A=89=E8=87=AA=E6=88=90?= =?UTF-8?q?=29?= Date: Tue, 18 Aug 2026 22:36:23 +0200 Subject: [PATCH 15/20] Started adapting the README --- README.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ef797cd82..ffb09c788 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ ![image](banner1.png) -**reflect-cpp** is a C++-20 library for **fast serialization, deserialization and validation** using reflection, similar to [pydantic](https://github.com/pydantic/pydantic) in Python, [serde](https://github.com/serde-rs) in Rust, [encoding](https://github.com/golang/go/tree/master/src/encoding) in Go or [aeson](https://github.com/haskell/aeson/tree/master) in Haskell. +**reflect-cpp** is a C++-20/C++-26 library for **fast serialization, deserialization and validation** using reflection, similar to [pydantic](https://github.com/pydantic/pydantic) in Python, [serde](https://github.com/serde-rs) in Rust, [encoding](https://github.com/golang/go/tree/master/src/encoding) in Go or [aeson](https://github.com/haskell/aeson/tree/master) in Haskell. + +reflect-cpp supports C++-26 reflection, but most of the functionality is also available in C++-20, except where explicitly noted otherwise. Moreover, reflect-cpp is the basis for [sqlgen](https://github.com/getml/sqlgen), a **modern, type-safe ORM and SQL query generator** for C++20, inspired by Python's SQLAlchemy/SQLModel and Rust's Diesel. It provides a fluent, composable interface for database operations with compile-time type checking and SQL injection protection. @@ -62,17 +64,17 @@ reflect-cpp provides a unified reflection-based interface across different seria The following table lists the serialization formats currently supported by reflect-cpp and the underlying libraries used: -| Format | Library | Version | License | Remarks | -|--------------|------------------------------------------------------|--------------|------------| -----------------------------------------------------| -| JSON | [yyjson](https://github.com/ibireme/yyjson) | >= 0.8.0 | MIT | out-of-the-box support, included in this repository | -| Avro | [avro-c](https://avro.apache.org/docs/1.11.1/api/c/) | >= 1.11.3 | Apache 2.0 | Schemaful binary format | +| Format | Library | Version | License | Remarks | +|---------------------|------------------------------------------------------|--------------|------------| -----------------------------------------------------| +| JSON | [yyjson](https://github.com/ibireme/yyjson) | >= 0.8.0 | MIT | out-of-the-box support, included in this repository | +| Avro | [avro-c](https://avro.apache.org/docs/1.11.1/api/c/) | >= 1.11.3 | Apache 2.0 | Schemaful binary format | | Boost.Serialization | [Boost.Serialization](https://www.boost.org/doc/libs/release/libs/serialization/) | >= 1.74.0 | BSL 1.0 | Streaming binary format with archive interop | -| BSON | [libbson](https://github.com/mongodb/mongo-c-driver) | >= 1.25.1 | Apache 2.0 | JSON-like binary format | -| Cap'n Proto | [capnproto](https://capnproto.org) | >= 1.0.2 | MIT | Schemaful binary format | -| CBOR | [jsoncons](https://github.com/danielaparker/jsoncons)| >= 0.176.0 | BSL 1.0 | JSON-like binary format | -| cli | *(none)* | *(none)* | MIT | Command line interface | -| env | *(none)* | *(none)* | MIT | Environment variables | -| Cereal | [Cereal](https://uscilab.github.io/cereal/) | >= 1.3.2 | BSD | C++ serialization library with multiple formats | +| BSON | [libbson](https://github.com/mongodb/mongo-c-driver) | >= 1.25.1 | Apache 2.0 | JSON-like binary format | +| Cap'n Proto | [capnproto](https://capnproto.org) | >= 1.0.2 | MIT | Schemaful binary format | +| CBOR | [jsoncons](https://github.com/danielaparker/jsoncons)| >= 0.176.0 | BSL 1.0 | JSON-like binary format | +| cli | *(none)* | *(none)* | MIT | Command line interface | +| env | *(none)* | *(none)* | MIT | Environment variables | +| Cereal | [Cereal](https://uscilab.github.io/cereal/) | >= 1.3.2 | BSD | C++ serialization library with multiple formats | | CSV | [Apache Arrow](https://arrow.apache.org/) | >= 21.0.0 | Apache 2.0 | Tabular textual format | | flexbuffers | [flatbuffers](https://github.com/google/flatbuffers) | >= 23.5.26 | Apache 2.0 | Schema-less version of flatbuffers, binary format | | msgpack | [msgpack-c](https://github.com/msgpack/msgpack-c) | >= 6.0.0 | BSL 1.0 | JSON-like binary format | @@ -666,11 +668,14 @@ Finally, it is very easy to extend full support to your own classes, refer to th ## Installation -The following compilers are supported: +The following compilers are supported for C++-20: - GCC 11.4 or higher - Clang 14.0 or higher - MSVC 17.8 (19.38) or higher +The following compilers are supported for C++-26: +- GCC 16.2 or higher + ### Using vcpkg https://vcpkg.io/en/package/reflectcpp From c3da851060f6f3490724a0ab9abb5e4caad79429 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Tue, 18 Aug 2026 23:22:10 +0200 Subject: [PATCH 16/20] Renamed the flag --- CMakeLists.txt | 10 +++++----- include/rfl/internal/bind_to_tuple.hpp | 4 ++-- include/rfl/internal/enums/from_string.hpp | 4 ++-- include/rfl/internal/enums/get_enum_names.hpp | 4 ++-- include/rfl/internal/enums/get_enum_range.hpp | 4 ++-- include/rfl/internal/enums/to_string.hpp | 4 ++-- include/rfl/internal/get_field_names.hpp | 4 ++-- include/rfl/internal/get_type_name.hpp | 4 ++-- include/rfl/num_fields.hpp | 4 ++-- tests/generic/test_enum_range_min_max.cpp | 4 ++++ tests/generic/test_enum_range_size.cpp | 4 ++++ .../test_inheritance3.cpp | 2 +- 12 files changed, 30 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e6b9a4ad6..2519d7949 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,10 +30,10 @@ option(REFLECTCPP_CHECK_HEADERS "Make sure that all headers are self-contained" option(REFLECTCPP_USE_BUNDLED_DEPENDENCIES "Use the bundled dependencies" ON) -option(REFLECTCPP_USE_CPP_REFLECTION "Use standard C++ reflection (requires C++-26)" OFF) -option(REFLECTCPP_USE_STD_EXPECTED "Use std::expected instead of the built-in Result type (requires C++-23)" ${REFLECTCPP_USE_CPP_REFLECTION}) +option(REFLECTCPP_USE_CPP26_REFLECTION "Use standard C++ reflection (requires C++-26)" OFF) +option(REFLECTCPP_USE_STD_EXPECTED "Use std::expected instead of the built-in Result type (requires C++-23)" ${REFLECTCPP_USE_CPP26_REFLECTION}) -if(REFLECTCPP_USE_CPP_REFLECTION) +if(REFLECTCPP_USE_CPP26_REFLECTION) if(NOT DEFINED CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 26) endif() @@ -234,8 +234,8 @@ if(REFLECTCPP_BUILD_SHARED) target_compile_definitions(reflectcpp PUBLIC RFL_BUILD_SHARED) endif() -if(REFLECTCPP_USE_CPP_REFLECTION) - target_compile_definitions(reflectcpp PUBLIC REFLECTCPP_USE_CPP_REFLECTION) +if(REFLECTCPP_USE_CPP26_REFLECTION) + target_compile_definitions(reflectcpp PUBLIC REFLECTCPP_USE_CPP26_REFLECTION) endif() if(REFLECTCPP_USE_STD_EXPECTED) diff --git a/include/rfl/internal/bind_to_tuple.hpp b/include/rfl/internal/bind_to_tuple.hpp index 2bcfbd8be..b6a578c34 100644 --- a/include/rfl/internal/bind_to_tuple.hpp +++ b/include/rfl/internal/bind_to_tuple.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_BIND_TO_TUPLE_HPP_ #define RFL_INTERNAL_BIND_TO_TUPLE_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/bind_to_tuple.hpp" #else #include "cpp26/bind_to_tuple.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal { template auto bind_to_tuple(T& _t) { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::bind_to_tuple(_t); #else return cpp26::bind_to_tuple(_t); diff --git a/include/rfl/internal/enums/from_string.hpp b/include/rfl/internal/enums/from_string.hpp index c5df30912..160363283 100644 --- a/include/rfl/internal/enums/from_string.hpp +++ b/include/rfl/internal/enums/from_string.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_ENUMS_FROM_STRING_HPP_ #define RFL_INTERNAL_ENUMS_FROM_STRING_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/from_string.hpp" #else #include "cpp26/from_string.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal::enums { template auto from_string(const std::string& _str) { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::from_string(_str); #else return cpp26::from_string(_str); diff --git a/include/rfl/internal/enums/get_enum_names.hpp b/include/rfl/internal/enums/get_enum_names.hpp index 5b3b785ed..cb91ffaa4 100644 --- a/include/rfl/internal/enums/get_enum_names.hpp +++ b/include/rfl/internal/enums/get_enum_names.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_ENUMS_GET_ENUM_NAMES_HPP_ #define RFL_INTERNAL_ENUMS_GET_ENUM_NAMES_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/get_enum_names.hpp" #else #include "cpp26/get_enum_names.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal::enums { template consteval auto get_enum_names() { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::get_enum_names(); #else return cpp26::get_enum_names(); diff --git a/include/rfl/internal/enums/get_enum_range.hpp b/include/rfl/internal/enums/get_enum_range.hpp index 04d63266c..714fa8fdb 100644 --- a/include/rfl/internal/enums/get_enum_range.hpp +++ b/include/rfl/internal/enums/get_enum_range.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_ENUMS_GET_ENUM_RANGE_HPP_ #define RFL_INTERNAL_ENUMS_GET_ENUM_RANGE_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/get_enum_range.hpp" #else #include "cpp26/get_enum_range.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal::enums { template constexpr auto get_enum_range() { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::get_enum_range(); #else return cpp26::get_enum_range(); diff --git a/include/rfl/internal/enums/to_string.hpp b/include/rfl/internal/enums/to_string.hpp index 5f223152d..7e6d41b8b 100644 --- a/include/rfl/internal/enums/to_string.hpp +++ b/include/rfl/internal/enums/to_string.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_ENUMS_TO_STRING_OR_NUMBER_HPP_ #define RFL_INTERNAL_ENUMS_TO_STRING_OR_NUMBER_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/to_string.hpp" #else #include "cpp26/to_string.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal::enums { template auto to_string(const EnumType e) { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::to_string(e); #else return cpp26::to_string(e); diff --git a/include/rfl/internal/get_field_names.hpp b/include/rfl/internal/get_field_names.hpp index e1ecef342..d581830cc 100644 --- a/include/rfl/internal/get_field_names.hpp +++ b/include/rfl/internal/get_field_names.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_GETFIELDNAMES_HPP_ #define RFL_INTERNAL_GETFIELDNAMES_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/get_field_names.hpp" #else #include "cpp26/get_field_names.hpp" @@ -11,7 +11,7 @@ namespace rfl::internal { template auto get_field_names() { -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::get_field_names(); #else return cpp26::get_field_names(); diff --git a/include/rfl/internal/get_type_name.hpp b/include/rfl/internal/get_type_name.hpp index a873ea84d..bc5df5861 100644 --- a/include/rfl/internal/get_type_name.hpp +++ b/include/rfl/internal/get_type_name.hpp @@ -1,7 +1,7 @@ #ifndef RFL_INTERNAL_GETTYPENAME_HPP_ #define RFL_INTERNAL_GETTYPENAME_HPP_ // TODO -// #ifndef REFLECTCPP_USE_CPP_REFLECTION +// #ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "cpp20/get_type_name.hpp" // #else // TODO @@ -11,7 +11,7 @@ namespace rfl::internal { template consteval auto get_type_name() { - // #ifndef REFLECTCPP_USE_CPP_REFLECTION + // #ifndef REFLECTCPP_USE_CPP26_REFLECTION return cpp20::get_type_name(); // #else // TODO diff --git a/include/rfl/num_fields.hpp b/include/rfl/num_fields.hpp index 47a1ec98b..7e6246b5a 100644 --- a/include/rfl/num_fields.hpp +++ b/include/rfl/num_fields.hpp @@ -1,7 +1,7 @@ #ifndef RFL_NUM_FIELDS_HPP_ #define RFL_NUM_FIELDS_HPP_ -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION #include "internal/cpp20/num_fields.hpp" #else #include "internal/cpp26/num_fields.hpp" @@ -11,7 +11,7 @@ namespace rfl { /// Returns the number of fields in struct T at compile time. /// @tparam T The struct type to count fields for -#ifndef REFLECTCPP_USE_CPP_REFLECTION +#ifndef REFLECTCPP_USE_CPP26_REFLECTION template constexpr std::size_t num_fields = internal::cpp20::num_fields; #else diff --git a/tests/generic/test_enum_range_min_max.cpp b/tests/generic/test_enum_range_min_max.cpp index 732a71716..2ddb28646 100644 --- a/tests/generic/test_enum_range_min_max.cpp +++ b/tests/generic/test_enum_range_min_max.cpp @@ -1,3 +1,5 @@ +#ifndef REFLECTCPP_USE_CPP26_REFLECTION + #include // Redefine the range of the enums #define RFL_ENUM_RANGE_MIN -128 @@ -36,3 +38,5 @@ TEST(generic, test_enum_range_min_max) { } } // namespace test_enum_range_min_max + +#endif diff --git a/tests/generic/test_enum_range_size.cpp b/tests/generic/test_enum_range_size.cpp index 46652097f..741c23fcc 100644 --- a/tests/generic/test_enum_range_size.cpp +++ b/tests/generic/test_enum_range_size.cpp @@ -1,3 +1,5 @@ +#ifndef REFLECTCPP_USE_CPP26_REFLECTION + #include // Redefine the range of the enums #define RFL_ENUM_RANGE_MIN -128 @@ -35,3 +37,5 @@ TEST(generic, test_enum_range_size) { } } // namespace test_enum_range_size + +#endif diff --git a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp index 79ecc188d..0872b46a7 100644 --- a/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp +++ b/tests/json_c_arrays_and_inheritance/test_inheritance3.cpp @@ -1,4 +1,4 @@ -#ifdef REFLECTCPP_USE_CPP_REFLECTION +#ifdef REFLECTCPP_USE_CPP26_REFLECTION // Only supported with C++26 reflection From 5b5b17f353ddb2a5d502e9f3b21b4f09e7852d51 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Tue, 18 Aug 2026 23:49:15 +0200 Subject: [PATCH 17/20] Write workaround to avoid false positive warning --- include/rfl/Ref.hpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/include/rfl/Ref.hpp b/include/rfl/Ref.hpp index 296ff33ce..1febd5110 100644 --- a/include/rfl/Ref.hpp +++ b/include/rfl/Ref.hpp @@ -8,26 +8,30 @@ namespace rfl { -/// A smart pointer wrapper that is guaranteed to always contain a valid object with shared ownership. -/// The Ref class behaves very similarly to shared_ptr, but unlike shared_ptr, -/// it is 100% guaranteed to be filled at all times (unless the user -/// tries to access it after calling std::move or does something else that is -/// clearly bad practice). +/// A smart pointer wrapper that is guaranteed to always contain a valid object +/// with shared ownership. The Ref class behaves very similarly to shared_ptr, +/// but unlike shared_ptr, it is 100% guaranteed to be filled at all times +/// (unless the user tries to access it after calling std::move or does +/// something else that is clearly bad practice). /// @tparam T The type of object to contain template class Ref { public: - /// The default way of creating new references is Ref::make(...) or make_ref(...). - /// Constructs a new Ref with the given arguments forwarded to T's constructor. + /// The default way of creating new references is Ref::make(...) or + /// make_ref(...). Constructs a new Ref with the given arguments forwarded + /// to T's constructor. /// @tparam Args Types of constructor arguments /// @param _args Arguments to forward to T's constructor /// @return A new Ref containing the constructed object template static Ref make(Args&&... _args) { - return Ref(std::make_shared(std::forward(_args)...)); + // Necessary workaround to avoid false positive warning. + auto raw = new T(std::forward(_args)...); + return Ref(std::shared_ptr(raw)); } - /// Creates a Ref from a shared_ptr (move version), returns an Error if the shared_ptr is null. + /// Creates a Ref from a shared_ptr (move version), returns an Error if the + /// shared_ptr is null. /// @param _ptr The shared_ptr to convert to a Ref /// @return Result containing the Ref or an error if _ptr is nullptr static Result> make(std::shared_ptr&& _ptr) { @@ -37,7 +41,8 @@ class Ref { return Ref(std::move(_ptr)); } - /// Creates a Ref from a shared_ptr (copy version), returns an Error if the shared_ptr is null. + /// Creates a Ref from a shared_ptr (copy version), returns an Error if the + /// shared_ptr is null. /// @param _ptr The shared_ptr to convert to a Ref /// @return Result containing the Ref or an error if _ptr is nullptr static Result> make(const std::shared_ptr& _ptr) { @@ -90,7 +95,8 @@ class Ref { /// @return Pointer to the contained object T* operator->() { return ptr_.get(); } - /// Arrow operator (const) - provides access to the underlying object's members. + /// Arrow operator (const) - provides access to the underlying object's + /// members. /// @return Const pointer to the contained object T* operator->() const { return ptr_.get(); } From 18f0a9539829e9e94c6510651b3d4d4a05de6d50 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Wed, 19 Aug 2026 00:03:29 +0200 Subject: [PATCH 18/20] Fixed minor issues in the tests --- tests/generic/test_optional.cpp | 15 ++++++++------- tests/json/test_save_load.cpp | 11 ++++++----- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/generic/test_optional.cpp b/tests/generic/test_optional.cpp index 838adbd9d..b802bebc2 100644 --- a/tests/generic/test_optional.cpp +++ b/tests/generic/test_optional.cpp @@ -1,17 +1,18 @@ +#include + #include #include -#include namespace test_optional { struct Person { - std::string name; - std::optional> spouse; + std::string name; + std::optional> spouse; }; TEST(generic, test_optional) { - rfl::Generic generic; - // This failed to compile due to optional copying rather than moving - rfl::from_generic(generic); + rfl::Generic generic; + // This failed to compile due to optional copying rather than moving + rfl::from_generic(generic).value(); } -} // namespace test_map +} // namespace test_optional diff --git a/tests/json/test_save_load.cpp b/tests/json/test_save_load.cpp index eccd4e2aa..e5048f2c3 100644 --- a/tests/json/test_save_load.cpp +++ b/tests/json/test_save_load.cpp @@ -1,3 +1,5 @@ +#include + #include #include #include @@ -5,8 +7,6 @@ #include #include -#include - namespace test_save_load { using Age = rfl::Validator({bart, lisa, maggie})}; - rfl::json::save("homer.json", homer1); + rfl::json::save("homer.json", homer1).value(); const auto homer2 = rfl::json::load("homer.json").value(); const auto string1 = rfl::json::write(homer1); const auto string2 = rfl::json::write(homer2); - EXPECT_EQ(string1, string2) << "Test failed. Content was not identical." << std::endl - << std::endl; + EXPECT_EQ(string1, string2) + << "Test failed. Content was not identical." << std::endl + << std::endl; } } // namespace test_save_load From 40d64f26914002243f04dd34fd3ce7dc56feab4c Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Wed, 19 Aug 2026 01:36:26 +0200 Subject: [PATCH 19/20] Added documentation --- README.md | 16 ++++ docs/c_arrays_and_inheritance.md | 11 +++ docs/cpp26_reflection.md | 126 +++++++++++++++++++++++++++++++ docs/enums.md | 7 ++ docs/install.md | 33 +++++++- mkdocs.yaml | 1 + 6 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 docs/cpp26_reflection.md diff --git a/README.md b/README.md index ffb09c788..cfa61dbe6 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ reflect-cpp and sqlgen fill important gaps in C++ development. They reduce boile ### More in our [documentation](https://rfl.getml.com): - [Installation ↗](https://rfl.getml.com/install/#option-2-compilation-using-cmake) + - [C++26 reflection ↗](https://rfl.getml.com/cpp26_reflection) - [Benchmarks ↗](https://rfl.getml.com/benchmarks) - [How to contribute ↗](https://rfl.getml.com/contributing) - [Compiling and running the tests ↗](https://rfl.getml.com/contributing/#compiling-and-running-the-tests) @@ -676,6 +677,21 @@ The following compilers are supported for C++-20: The following compilers are supported for C++-26: - GCC 16.2 or higher +### Compiling with C++-26 reflection + +To compile reflect-cpp using the standard C++ reflection facilities, pass the CMake option +`REFLECTCPP_USE_CPP26_REFLECTION` together with the compiler flag that activates reflection +support in your compiler (`-freflection` for GCC, `-freflection-latest` for Clang): + +```bash +cmake -S . -B build -DCMAKE_CXX_STANDARD=26 -DCMAKE_BUILD_TYPE=Release -DREFLECTCPP_USE_CPP26_REFLECTION=ON -DCMAKE_CXX_FLAGS="-freflection" +cmake --build build -j 4 +``` + +With C++-26 reflection, fixed-size C arrays and inheritance are supported out of the box (no +`-DREFLECT_CPP_C_ARRAYS_OR_INHERITANCE` flag needed), and there are no range restrictions for +enums. Refer to the [documentation](https://rfl.getml.com/cpp26_reflection) for details. + ### Using vcpkg https://vcpkg.io/en/package/reflectcpp diff --git a/docs/c_arrays_and_inheritance.md b/docs/c_arrays_and_inheritance.md index 5622d601c..ed347f6d3 100644 --- a/docs/c_arrays_and_inheritance.md +++ b/docs/c_arrays_and_inheritance.md @@ -12,6 +12,13 @@ inheritance altogether. Note that C arrays are not the same thing as `std::array`. `std::array` is always supported and is the recommended alternative. +!!! note "C++-26 reflection" + + If you compile reflect-cpp with C++-26 reflection (see [C++26 reflection](cpp26_reflection.md)), + then none of the restrictions in this section apply: fixed-size C arrays and inheritance are + supported out of the box, no flag is required, and the fields may be spread out over + multiple structs. + If you want support for these, you will have to pass the flag `-D REFLECT_CPP_C_ARRAYS_OR_INHERITANCE` during compilation. @@ -85,6 +92,10 @@ struct Derived : Base { }; ``` +Note that this restriction does not apply when compiling with C++-26 reflection: with C++-26, +the fields of the base class and the fields of the derived class are combined automatically, +so the example above works as well. + The recommended alternative is to simply use `rfl::Flatten`, which has no such limitation: diff --git a/docs/cpp26_reflection.md b/docs/cpp26_reflection.md new file mode 100644 index 000000000..496df7921 --- /dev/null +++ b/docs/cpp26_reflection.md @@ -0,0 +1,126 @@ +# C++26 reflection + +reflect-cpp can be compiled in two modes, which use two different reflection implementations: + +* **C++-20/23 mode (the default):** reflection is implemented using metaprogramming + techniques (structured bindings, aggregate-initialization analysis, and + [enchantum](https://github.com/ZXShady/enchantum)). This works on a wide range of + compilers, but it has some limitations and comes with a higher compile-time cost. +* **C++-26 mode:** reflection uses the standard C++ reflection facilities + (``, [P2996](https://wg21.link/P2996)). This is more powerful, because members + and enumerators are queried directly from the compiler instead of being inferred. + +C++-26 mode is opt-in. It requires a compiler that supports the C++ reflection proposal +and a compiler flag to activate it. The rest of this documentation applies to both modes, +except where explicitly noted otherwise. + +## Compiling with C++-26 reflection + +The following compilers are supported for C++-26: + +* GCC 16.2 or higher +* Clang: experimental, only available in Clang builds that implement + [P2996](https://wg21.link/P2996) (such as Bloomberg's + [clang-p2996](https://github.com/bloomberg/clang-p2996) fork) + +To compile reflect-cpp with C++-26 reflection, pass the CMake option +`REFLECTCPP_USE_CPP26_REFLECTION` and the compiler flag that activates reflection +support in your compiler: + +* GCC: `-freflection` +* Clang: `-freflection-latest` + +For example, using cmake: + +```bash +cmake -S . -B build -DCMAKE_CXX_STANDARD=26 -DCMAKE_BUILD_TYPE=Release -DREFLECTCPP_USE_CPP26_REFLECTION=ON -DCMAKE_CXX_FLAGS="-freflection" +cmake --build build -j 4 +``` + +The individual parts: + +* `-DREFLECTCPP_USE_CPP26_REFLECTION=ON` switches reflect-cpp to the C++-26 reflection + implementation and defines the macro `REFLECTCPP_USE_CPP26_REFLECTION`. If + `CMAKE_CXX_STANDARD` is not set, it will be set to 26 automatically. +* `-DCMAKE_CXX_STANDARD=26` sets the C++ standard to 26. +* `-DCMAKE_CXX_FLAGS="-freflection"` activates the C++ reflection facilities in the + compiler itself. Use `-freflection-latest` on Clang instead. + +When compiling with C++-26 reflection, the option `REFLECTCPP_USE_STD_EXPECTED` is +enabled by default as well, which means that `rfl::Result` is an alias for +`std::expected`. If you want to keep using the built-in `rfl::Result` +type, pass `-DREFLECTCPP_USE_STD_EXPECTED=OFF`. + +If you include the source files directly into your own build (see +[Installation](install.md#option-4-include-source-files-into-your-own-build)), add the +compile definition `-DREFLECTCPP_USE_CPP26_REFLECTION` and the appropriate compiler flag +to all translation units that include reflect-cpp. + +## What C++-26 reflection changes + +### C arrays and inheritance are supported out of the box + +In C++-20/23 mode, fixed-size C arrays and inheritance are only supported when you pass +the flag `-DREFLECT_CPP_C_ARRAYS_OR_INHERITANCE`, and inheritance only works when all of +the fields are inside the same struct. Refer to +[C arrays and inheritance](c_arrays_and_inheritance.md) for details. + +In C++-26 mode, neither restriction applies: + +* Fixed-size C arrays are regular fields as far as the compiler's reflection is concerned, + so they work without any flag. +* The fields of base classes are combined with the fields of the derived class, so the + fields may be spread out over multiple structs. + +For example, this is not supported in C++-20/23 mode, but works as-is in C++-26 mode: + +```cpp +struct Base { + int x; +}; + +struct Derived : Base { + int y; +}; + +const auto derived = Derived{1, 2}; + +rfl::json::write(derived); +``` + +This results in the following JSON string: + +```json +{"x":1,"y":2} +``` + +### No range restrictions for enums + +In C++-20/23 mode, enum values must be in the range `[RFL_ENUM_RANGE_MIN, +RFL_ENUM_RANGE_MAX]`, where the default range is `[-256, 256]`. Refer to +[Enums](enums.md) for details. + +In C++-26 mode, the enumerators are read directly from the compiler, so there is no +restriction on the range of enum values, and `RFL_ENUM_RANGE_MIN` and `RFL_ENUM_RANGE_MAX` +are not needed. + +### Lower compile-time cost + +In C++-20/23 mode, reflect-cpp infers the fields of a struct by figuring out how the +struct can be constructed. This requires a lot of compile-time work, especially in the +presence of C arrays and inheritance. In C++-26 mode, the fields and enumerators are +queried directly from the compiler's reflection information, which is considerably +cheaper. + +## Summary + +| Feature | C++-20/23 | C++-26 | +|---------|-----------|--------| +| Supported compilers | GCC 11.4+, Clang 14.0+, MSVC 17.8+ | GCC 16.2+ (Clang: experimental) | +| Compiler flag | *(none)* | `-freflection` (GCC), `-freflection-latest` (Clang) | +| CMake option | *(none)* | `-DREFLECTCPP_USE_CPP26_REFLECTION=ON` | +| Fixed-size C arrays | requires `-DREFLECT_CPP_C_ARRAYS_OR_INHERITANCE` | supported out of the box | +| Inheritance | requires `-DREFLECT_CPP_C_ARRAYS_OR_INHERITANCE`, fields must be in a single struct | supported out of the box, fields may be spread over multiple structs | +| Enum value range | restricted to `[RFL_ENUM_RANGE_MIN, RFL_ENUM_RANGE_MAX]` (default `[-256, 256]`) | no restriction | +| `rfl::Result` | built-in type (or `std::expected` via `-DREFLECTCPP_USE_STD_EXPECTED`) | `std::expected` by default | +| Compile time | higher | lower | diff --git a/docs/enums.md b/docs/enums.md index b2280f0ac..849b24889 100644 --- a/docs/enums.md +++ b/docs/enums.md @@ -46,6 +46,13 @@ However, some limitations apply: 2. Enum values must be in the range `[RFL_ENUM_RANGE_MIN, RFL_ENUM_RANGE_MAX]`. If the range is not specified, the default range is `[-256, 256]`. + !!! note "C++-26 reflection" + + This restriction only applies when compiling reflect-cpp with C++-20 or C++-23. When + compiling with [C++-26 reflection](cpp26_reflection.md), the enumerators are read + directly from the compiler, so there is no restriction on the range of enum values, + and `RFL_ENUM_RANGE_MIN` and `RFL_ENUM_RANGE_MAX` are not needed. + - You can specify a custom range for the all enum values by defining `RFL_ENUM_RANGE_MIN` and `RFL_ENUM_RANGE_MAX` before including the reflect-cpp header: diff --git a/docs/install.md b/docs/install.md index cb1af5a09..4c7f1b30c 100644 --- a/docs/install.md +++ b/docs/install.md @@ -5,13 +5,44 @@ hide: # Installation -The following compilers are supported: +The following compilers are supported for C++-20: - GCC 11.4 or higher - Clang 14.0 or higher - MSVC 17.8 (19.38) or higher +The following compilers are supported for C++-26: +- GCC 16.2 or higher + You can include the source files into your build or compile it using cmake and vcpkg. +## Compiling with C++-26 reflection + +By default, reflect-cpp uses a C++-20 compatible reflection implementation, which works +across a wide range of compilers. If you want to use the standard C++ reflection +facilities (``, [P2996](https://wg21.link/P2996)), you can compile reflect-cpp in +C++-26 mode instead. This is more powerful: fixed-size C arrays and inheritance are +supported out of the box, and there are no range restrictions for enums. Refer to +[C++26 reflection](cpp26_reflection.md) for details. + +To enable C++-26 reflection, pass the CMake option `REFLECTCPP_USE_CPP26_REFLECTION` and +the compiler flag that activates reflection support in your compiler: + +* GCC: `-freflection` +* Clang: `-freflection-latest` (experimental, only available in Clang builds that + implement [P2996](https://wg21.link/P2996), such as Bloomberg's + [clang-p2996](https://github.com/bloomberg/clang-p2996) fork) + +For example, using cmake: + +```bash +cmake -S . -B build -DCMAKE_CXX_STANDARD=26 -DCMAKE_BUILD_TYPE=Release -DREFLECTCPP_USE_CPP26_REFLECTION=ON -DCMAKE_CXX_FLAGS="-freflection" +cmake --build build -j 4 +``` + +If you include the source files into your own build (see Option 4 below), also add the +compile definition `-DREFLECTCPP_USE_CPP26_REFLECTION` and the appropriate compiler flag +to all translation units that include reflect-cpp. + ## Option 1: Using vcpkg Refer to [this port](https://vcpkg.link/ports/reflectcpp): diff --git a/mkdocs.yaml b/mkdocs.yaml index 9c2e9fcd7..04e4de8ce 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -112,6 +112,7 @@ nav: - Custom Format: supported_formats/supporting_your_own_format.md # - Reflective Programming: ./reflective_programming.md - Installation: install.md + - C++26 reflection: cpp26_reflection.md - Documentation: - docs-readme.md - The basics: From aaca2768a780c74a397d395ff3512a8bb96e6cfa Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Thu, 20 Aug 2026 23:02:29 +0200 Subject: [PATCH 20/20] Fixed issues in the C++-20 build --- include/rfl/internal/cpp20/get_field_names.hpp | 6 +++--- include/rfl/internal/enums/cpp20/get_enum_names.hpp | 12 ++++++------ tests/generic/test_enum_range_min_max.cpp | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/rfl/internal/cpp20/get_field_names.hpp b/include/rfl/internal/cpp20/get_field_names.hpp index 7ee0e382f..582d804d8 100644 --- a/include/rfl/internal/cpp20/get_field_names.hpp +++ b/include/rfl/internal/cpp20/get_field_names.hpp @@ -76,10 +76,10 @@ consteval auto get_field_name_str_lit() { } template -auto get_field_names(); +consteval auto get_field_names(); template -auto get_field_name() { +consteval auto get_field_name() { #if defined(__clang__) using Type = std::remove_cvref_t::Type>>; @@ -108,7 +108,7 @@ template [[gnu::no_sanitize_undefined]] #endif #endif -auto get_field_names() { +consteval auto get_field_names() { using Type = std::remove_cvref_t; if constexpr (std::is_pointer_v) { return get_field_names>(); diff --git a/include/rfl/internal/enums/cpp20/get_enum_names.hpp b/include/rfl/internal/enums/cpp20/get_enum_names.hpp index a6ea96bed..5f66abff9 100644 --- a/include/rfl/internal/enums/cpp20/get_enum_names.hpp +++ b/include/rfl/internal/enums/cpp20/get_enum_names.hpp @@ -71,7 +71,7 @@ constexpr inline bool enchantum::is_bitflag = true; namespace enchantum { template - requires rfl::internal::enums::range_defined + requires rfl::internal::enums::cpp20::range_defined struct enum_traits { static constexpr std::size_t prefix_length = 0; @@ -80,7 +80,7 @@ struct enum_traits { }; template - requires rfl::internal::enums::range_defined + requires rfl::internal::enums::cpp20::range_defined struct enum_traits { static constexpr std::size_t prefix_length = 0; @@ -89,16 +89,16 @@ struct enum_traits { }; template - requires SignedEnum && - (!EnumFixedUnderlying) && rfl::internal::enums::range_defined + requires SignedEnum && (!EnumFixedUnderlying) && + rfl::internal::enums::cpp20::range_defined struct enum_traits { static constexpr auto min = rfl::config::enum_range::min; static constexpr auto max = rfl::config::enum_range::max; }; template - requires UnsignedEnum && - (!EnumFixedUnderlying) && rfl::internal::enums::range_defined + requires UnsignedEnum && (!EnumFixedUnderlying) && + rfl::internal::enums::cpp20::range_defined struct enum_traits { static constexpr auto min = rfl::config::enum_range::min; static constexpr auto max = rfl::config::enum_range::max; diff --git a/tests/generic/test_enum_range_min_max.cpp b/tests/generic/test_enum_range_min_max.cpp index 2ddb28646..edd232e04 100644 --- a/tests/generic/test_enum_range_min_max.cpp +++ b/tests/generic/test_enum_range_min_max.cpp @@ -23,9 +23,9 @@ struct rfl::config::enum_range { namespace test_enum_range_min_max { TEST(generic, test_enum_range_min_max) { - static_assert(!rfl::internal::enums::range_defined, + static_assert(!rfl::internal::enums::cpp20::range_defined, "Range should not be defined."); - static_assert(rfl::internal::enums::range_defined, + static_assert(rfl::internal::enums::cpp20::range_defined, "Range should be defined."); auto [inner_min, inner_max] = rfl::get_enum_range();